我正在使用Nvidia FX編寫器編寫半透明CgFX着色器。一切都很好,期望在渲染視圖中,場景後面的對象正在繪製在我陰影對象的頂部。我可以控制FX Composer中的繪圖順序嗎?
這裏是我的技術:
technique Main { pass p0 { DepthTestEnable = true; DepthMask = false; CullFaceEnable = false; BlendEnable = true; BlendFunc = int2(SrcAlpha, OneMinusSrcAlpha); DepthFunc = LEqual; VertexProgram = compile vp40 std_VS(); FragmentProgram = compile gp4fp std_PS(); } }
如果我打開DepthMask,然後在後面的物體得到完全屏蔽掉了,這違背了透明性的目的。看起來好像這些物體並沒有被拉回到前面。有沒有辦法確認,我可以控制FX Composer渲染器在屏幕上繪製項目的順序嗎?
沒有深度遮罩沒有深度緩衝技術不起作用。事實上,似乎對象在渲染之前沒有進行深度排序。我不知道這是否可以教給FxComposer。但是你可以在你的程序中做到這一點。 – datenwolf 2011-03-10 19:07:56