gpt4 book ai didi

c - Opengl 过滤器不好?

转载 作者:行者123 更新时间:2023-11-30 19:42:30 25 4
gpt4 key购买 nike

我目前正在尝试在 Linux 操作系统上用 C 和 Opengl 3 实现延迟着色。我无法弄清楚是什么导致了这个渲染问题: image of a red 3D tank shape with with 'glitchy' looking grey, dashed lines running across it. The image has a black background and the tank shape is sitting on a blue field.

我有一个具有以下纹理的 fbo:漫反射、法线、深度、光。前三个是不言自明的,光纹理是灯光相互混合的地方。然后,将此光纹理与漫反射纹理组合到默认帧缓冲区上。

我怀疑这是一个过滤问题,所以这是我的灯光纹理的附件设置:

glBindTexture(GL_TEXTURE_2D, fbo->textures[FBO_LIGHT_TEXTURE]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_FLOAT, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

这实际上是一个过滤问题还是可能是其他问题?

最佳答案

哇,这真是一个奇怪的错误。这是由我的深度缓冲区引起的。基本上,我的光源在某种程度上弄乱了我的深度缓冲区。我通过使用 glDepthMask(GL_FALSE); 修复了这个问题在渲染灯光和 glDepthMask(GL_TRUE) 之前;完成后。

关于c - Opengl 过滤器不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com