深度缓冲区似乎不起作用-OpenGL Shader

路易斯·奥古斯托·温特

我正在使用带有GLFW和GLEW的openGL。我正在使用着色器渲染所有内容,但似乎深度缓冲区不起作用。我用于3D渲染的着色器是:

顶点着色器

#version 410\n
layout(location = 0) in vec3 vertex_position;
layout(location = 1) in vec2 vt
uniform mat4 view, proj, model;
out vec2 texture_coordinates;
void main() {
    texture_coordinates = vt;
    gl_Position = proj * view * model* vec4(vertex_position, 1.0);
};

片段着色器

#version 410\n
in vec2 texture_coordinates;
uniform sampler2D basic_texture;
out vec4 frag_colour;
void main() {
    vec4 texel = texture(basic_texture, vec2(texture_coordinates.x, 1 - texture_coordinates.y));
    frag_colour = texel;
};

而且我还启用了深度缓冲和剔除面

glEnable(GL_DEPTH_BUFFER);
glDepthFunc(GL_NEVER);

glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glFrontFace(GL_CCW);

这是它的样子:

生存机器

您没有启用深度测试。更改glEnable(GL_DEPTH_BUFFER);glEnable(GL_DEPTH_TEST);可能使用检测到此错误glGetError()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OpenGL中的缓冲区绘图

来自分类Dev

OpenGL FBO不增加深度缓冲区

来自分类Dev

OpenGL复制顶点缓冲区对象

来自分类Dev

使用OpenCL获取OpenGL缓冲区

来自分类Dev

如何增加OpenGL缓冲区?

来自分类Dev

OpenGL:glLoadMatrix和深度缓冲区

来自分类Dev

在OpenGL ES中使用深度和模具渲染缓冲区附件作为帧缓冲区

来自分类Dev

三个js Shader材质修改深度缓冲区

来自分类Dev

OpenGL累积缓冲区不起作用

来自分类Dev

OpenGL glMultiDrawElementsIndirect与交错缓冲区

来自分类Dev

OpenGL帧缓冲区深度不起作用

来自分类Dev

OpenGL帧缓冲区+ LibGDX

来自分类Dev

OpenGL缓冲区问题

来自分类Dev

在openGL中多次绑定缓冲区

来自分类Dev

Java LWGJL opengl缓冲区数据

来自分类Dev

OpenGL 16位模板缓冲区?

来自分类Dev

OpenGL的缓冲区如何工作?

来自分类Dev

解除绑定OpenGL缓冲区的作用是什么?

来自分类Dev

OpenGL ES上深度缓冲区的精度

来自分类Dev

OpenGL缓冲区,gLFlush和glutSwapBuffers()

来自分类Dev

Qt OpenGL:深度测试不起作用

来自分类Dev

在OpenGL中查看深度缓冲区

来自分类Dev

Vncviewer中的OpenGL Shader异常

来自分类Dev

OpenGL Shader无法正常工作

来自分类Dev

OpenGL快速回读缓冲区

来自分类Dev

在OpenGL ES 2.0中,将FBO与纹理深度缓冲区一起使用时,深度纹理缓冲区不起作用

来自分类Dev

OpenGL累积缓冲区不起作用

来自分类Dev

OpenGL Shader无法编译

来自分类Dev

在 openGL 上将深度缓冲区显示为图像