这是我的问题。透明天空盒+透明高度图的OpenGL混合问题
我在渲染带有6个透明多边形(GL_BLEND,源GL_ONE,目标GL_ONE)的立方体天空盒之后,在所有事物(每个角都有顶点着色)之前渲染正交四边形(填充视口)。这很好地工作,天空盒是由下面的四边形半色调和由它自己的UV贴图纹理半色调。
当我添加高度图(GL_BLEND,GL_ONE,...)时,问题就出现了。高度图与四元组+下的天空盒混合。
我想要的是与ortho quad混合的高度图,但不能与skybox混合使用。我不想通过高度图看到天空盒。
我相信还有另一种方法来做到这一点。
是否有可能首先渲染ortho quad和skybox(就像现在这样)然后使用特殊融合的高度贴图减去skybox,而不是使用某种multipass融合的ortho quad?
非常感谢!
迪米特里
你有什么想法,我怎么能做到这一点?是否有一些算法可以将天空盒多边形的隐藏部分剪辑为较小的部分,以防止渲染?我可能不是第一个遇到多个透明事物与其他人发生冲突的案例。 – dimcaron144 2011-02-26 21:31:30
要使混合正常工作,必须将零件重新排列。接下来你肯定不想使用GL_ONE,GL_ONE混合函数,因为这会让事情“发光”。我很肯定你想要一些alpha通道控制的混合(到目前为止你没有使用alpha通道)。 – datenwolf 2011-02-26 22:22:12