我找不出问题,但可能是混合测试或深度测试的问题。
我使用的混合函数是
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);这些是没有glDepthFunc函数的输出
将此作为输出


应该是这样的
发布于 2014-04-17 17:22:56
清晰的颜色表明,它首先画出了stawberry的茎,然后是浆果本身。作为经验法则,你应该渲染不透明的表面,在半不透明的表面之前,茎的叶是半不透明的(叶不是实际的多边形)。在绘图时,启用深度缓冲区。这导致贝里的片段被拒绝,理由是叶/茎的‘半透明’片段已经被画出来(并且离摄像机/视图更近)。
改变周围的顺序是一个简单的步骤,以阻止它产生有插图的工件,因为具有“最深”深度的对象的碎片是在具有“最近”深度的碎片之前呈现的。换句话说,深度缓冲区会导致片段被接受,而不是被拒绝。
https://stackoverflow.com/questions/23131731
复制相似问题