私はGLFWとGLEWでopenGLを使用しています。シェーダを使ってすべてをレンダリングしていますが、デプスバッファが機能しないようです。私は3Dレンダリングのために使用してい シェーダは以下のとおりです。深度バッファが機能しないようです - OpenGL Shader
バーテックスシェーダ
#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);
これは見た目です:
うわー...今、私は馬鹿だと感じています。ありがとうございました! –
@LuizAugustoWendt:また、 'glDepthFunc(GL_NEVER)'を使用しました。これは、深さテストが決して*通過しないことを意味します*。だから、すべての断片を捨てるべきです。何かが画面に表示された唯一の理由は、間違ったことを有効にしたためです。 –
うん、深度テストがうまくいっているかどうかテストするのは決して使っていなかった:〜 –