我可以控制FX Composer中的绘制顺序吗?

我正在使用Nvidia FX Composer编写一个半透明的CgFX着色器。一切都很好,期望在我的渲染视图中,场景背面的对象将被绘制在我的阴影对象之上。 这是我的技巧: 技术主要{     传递p0     {         DepthTestEnable = true;         DepthMask = false;         CullFaceEnable = false;         BlendEnable = true;         BlendFunc = int2(SrcAlpha,OneMinusSrcAlpha);         DepthFunc = LEqual;         VertexProgram = compile vp40 std_VS();         FragmentProgram =编译gp4fp std_PS();     } } 如果我打开DepthMask,那么后面的对象会被完全掩盖,这会破坏透明度的目的。看起来这些物体并没有被拉回到前面。有没有办法确认,我可以控制FX Composer的渲染器将项目绘制到屏幕的顺序吗?     
已邀请:
这不能在着色器内完成,您需要使用它来更改应用程序。一般规则是首先绘制所有实体对象,然后绘制顶部的所有透明对象。 一旦绘制了透明对象,就无法在其后面渲染对象并期望它们被混合。 OpenGL可以渲染它,也可以不渲染它(由于z缓冲区剔除)。 绘制对象回到前面通常实在太昂贵,因为它需要每秒60次重新整理整个场景!     

要回复问题请先登录注册