0

次のように、ブランチの Cg で深さを出力しています。

ZWrite On
..
void frag(v2f IN, out color : COLOR, out depth : DEPTH) {
 if (statement) {
  color = float4(1);
 } else {
  color = float4(0);
  depth = 0;
 }
}

ただし、ご覧のとおり、最初の条件で深さを書くことを省略しています。これにより未定義の動作が発生しますが、これは GLSL では一般的な方法だと思います (glFragDepth への書き込みを省略すると元の深度になります)。

出力に深度値がある場合、Cg の最初の条件で元の深度を取得するにはどうすればよいですか?

4

1 に答える 1