我正在尝试使用OpenGL渲染一些3D对象。要求是隐藏所有在另一个透明物体后面的透明物体。所有三角形都在单个三角形缓冲区中,并将一次性绘制。请给予一些提示。
我正在尝试使用OpenGL渲染一些3D对象。要求是隐藏所有在另一个透明物体后面的透明物体。所有三角形都在单个三角形缓冲区中,并将一次性绘制。请给予一些提示。
//Render all opaque objects
glDepthMask(false); //disable z-testing
//Render all transparent objects*
glDepthMask(true); //enable z-testing (for the next frame)
从技术上讲,你应该按照从后往前的顺序呈现透明物体,但如果不这样做,通常不容易被注意到。
要正确实现透明效果,您需要对场景进行排序。
以下是具体步骤: