Ogre场景中管道透明之后为黑色的问题

来源:互联网 发布:电子兑换码软件 编辑:程序博客网 时间:2024/05/15 14:19

---------------------------------------------------------------------------------------------

depth_write

设置此渲染通路的深度缓冲写入的状态是打开状态还是关闭状态。

格式: depth_write <on|off>

如果深度缓冲写入处于打开状态,无论何时一个像素想要写入画面缓冲,深度缓冲都会更新那个像素的深度值,因此,如果将来的像素在这个像素的后面,就会影响将来的渲染操作。如果这一属性被关闭了,那么像素就不会更新深度缓冲。一般来说,这一属性是打开的,但是,当你渲染静态背景或者位于场景后部的一系列透明物体以便它们能够彼此正确地重叠时,也可以关闭。

默认: depth_write on

---------------------------------------------------------------------------------------------

        以上内容摘自Ogre帮助文档,作为参考依据。

---------------------------------------------------------------------------------------------

        个人问题归纳:

        我遇到的问题:Ogre场景中,有很多管道,通过操作硬件缓存中的纹理数据,改变管道的不透明度(不改变颜色值);但是出现的效果是,最终的颜色变为黑色(背景色也是黑色)。

        问题分析:调试发现,管道的颜色并没有改变,但是最终的颜色却是黑色,所以猜想应该是背景色的颜色;测试材质渲染通路的depth_write为off,发现不再有问题;猜想可能是深度缓冲写入的问题,导致管道透明之后,显示背景色的颜色,而在管道不透明的情况下,管道的纹理覆盖了背景色,所以看不到背景色。

        结论:设置depth_write off,可以实现场景中的对象出现正确的透明效果,而不会出现对象显示背景色的问题。

0 0