OpenGL:GL_REPEAT和GL_CLAMP_TO_EDGE

Tom*_*ato 1 opengl

我正在使用OGL 3.2处理我的游戏项目,我正在使用GL_REPEAT纹理参数通过定义超过(1; 1)的ST坐标来非常快速地设置我的地形.但是现在,当我添加了一个天空盒时,天空盒纹理之间的边缘看起来非常沙哑,我不希望它们.我可以使用GL_CLAMP_TO_EDGE参数删除它们,但地形纹理渲染错误,没有GL_REPEAT参数.所以我必须在GL_REPEAT和之间做出选择GL_CLAMP_TO_EDGE.如果我把它切换到GL_CLAMP_TO_EDGE我不能使用GL_REPEAT优势并且必须将我的地形划分为更小的块并且逐个给出纹理,这(在我看来)非常低效,特别是当我想要大尺寸的地图时.

有没有什么方法可以同时使用GL_REPEATGL_CLAMP_TO_EDGE/或者有一些更棒的方法来解决这个我不知道的方法?

Oma*_*aha 5

你可以一次使用它们.纹理包装模式存储在每个纹理的基础上,因此GL_REPEAT用于地面纹理和GL_CLAMP_TO_EDGE天空纹理.

上传纹理图像后,立即(或紧接着纹理被绑定之前)立即为每个纹理设置它.