Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL Skybox问题_C++_Opengl - Fatal编程技术网

C++ OpenGL Skybox问题

C++ OpenGL Skybox问题,c++,opengl,C++,Opengl,在我建造的立方体的边缘上似乎有很多东西,我不明白为什么。我已经设置了以下参数 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexPa

在我建造的立方体的边缘上似乎有很多东西,我不明白为什么。我已经设置了以下参数

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);   
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

线条只是偶尔出现,这取决于相机所处的角度。你知道为什么台词还在吗?

如果你能给我们看一张屏幕截图,那会有帮助的。但问题可能是,您没有沿着每个面的边缘插入文本,而相邻的文本在其他面上

因此,您应该通过复制相邻纹理的边缘来为每个纹理添加边界,并将过滤模式更改为
GL\u CLAMP
。或者可以使用立方体贴图纹理。

可能需要添加:

glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);

在您提供的代码中,只有ST坐标设置,您还需要R

结果表明,这实际上是我使用的纹理加载程序土壤的问题。在我改变了纹理加载方法后,线条消失了

你没有提供足够的信息来解释你的问题。更新了另一部分,希望clearerA屏幕截图能够帮助你了解纹理的外观。这是立方体贴图纹理还是其他什么?我想,仅仅使用立方体贴图纹理是不行的。您还需要支持扩展或OpenGL版本(我认为是3.2版),它支持这个核心。但这听起来好像他有真正的硬线在那里,不匹配过滤引入的接缝不应该那么重要,假设纹理以某种方式匹配。但是,如果没有更多的信息,我们不知道边界是一个好主意。提供的代码没有使用
GL\u TEXTURE\u CUBE
。但很高兴知道这也是必要的,我曾经在GL3上遇到过这样的问题:)@Kos可能问题在于他使用了一个立方体贴图,但更改了错误目标的参数。