OpenGL未绘制离相机最近的片段
我有一个场景,里面有一个茶壶网。 我正在使用framgment着色器,使用一个值等于10的光源来照亮它 当场景渲染到默认帧缓冲区时,一切似乎都正常 但是,如果在自定义帧缓冲区中渲染,结果如下所示: OpenGL似乎更喜欢在网格的“末端”定义三角形 我希望帧缓冲区包含OpenGL未绘制离相机最近的片段,opengl,mesh,fragment-shader,framebuffer,Opengl,Mesh,Fragment Shader,Framebuffer,我有一个场景,里面有一个茶壶网。 我正在使用framgment着色器,使用一个值等于10的光源来照亮它 当场景渲染到默认帧缓冲区时,一切似乎都正常 但是,如果在自定义帧缓冲区中渲染,结果如下所示: OpenGL似乎更喜欢在网格的“末端”定义三角形 我希望帧缓冲区包含16位浮点值,以便存储大于1.0的值 对不起我的英语。我忘了添加深度渲染缓冲区,并使用glClear(GL_COLOR\u BUFFER\u BIT | GL_depth\u BUFFER\u BIT)清除它 为此,请添加: GLui
16位浮点值
,以便存储大于1.0
的值
对不起我的英语。我忘了添加深度渲染缓冲区,并使用
glClear(GL_COLOR\u BUFFER\u BIT | GL_depth\u BUFFER\u BIT)清除它代码>
为此,请添加:
GLuint rboDepth;
glGenRenderbuffers(1, &rboDepth);
glBindRenderbuffer(GL_RENDERBUFFER, rboDepth);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width(), height());
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rboDepth);
绑定到帧缓冲区实现。可能您没有将深度缓冲区附加到帧缓冲区。哦。你可能是对的。我没想到。我现在就做。@rabbi76,我刚刚在我的帧缓冲区中添加并附加了一个深度渲染缓冲区,现在我没有得到任何结果。我刚刚发现我做错了什么:我忘了使用glClear(GL\u COLOR\u buffer\u BIT |**GL\u depth\u buffer\u BIT**)清除drawcall中的深度缓冲区代码>如果您在问题中添加了任何代码,可能会有人指出这一点。请阅读。