在OpenGL中渲染透明对象

use*_*502 3 opengl

我试图使用opengl渲染一些3d对象.要求是我需要隐藏在另一个透明对象后面的所有透明对象.所有三角形都在单个三角形缓冲区中,并将立即绘制.请多点亮一点.

fin*_*lia 5

尝试使用glDepthMask():

    //Render all opaque objects
    glDepthMask(false); //disable z-testing
    //Render all transparent objects*
    glDepthMask(true); //enable z-testing (for the next frame)
Run Code Online (Sandbox Code Playgroud)

*从技术上讲,您应该从后向前渲染透明对象,但如果不这样做,则很少注意到.