Nvidia FX Composer を使用して、半透明の CgFX シェーダーを作成しています。私のレンダー ビューでは、シーンの後ろにあるオブジェクトがシェーディングされたオブジェクトの上に描画されていることを期待してください。
これが私のテクニックです:
テクニック メイン {
p0を渡す
{
DepthTestEnable = true;
DepthMask = false;
CullFaceEnable = false;
BlendEnable = true;
BlendFunc = int2(SrcAlpha, OneMinusSrcAlpha);
DepthFunc = LEqual;
VertexProgram = コンパイル vp40 std_VS();
FragmentProgram = コンパイル gp4fp std_PS();
}
}
DepthMask をオンにすると、背面のオブジェクトが完全にマスクされ、透明性の目的が損なわれます。オブジェクトが前後に描かれていないようです。それを確認する方法はありますか?また、FX Composer のレンダラーが項目を画面に描画する順序を制御できますか?