1

我正在使用 OGL 3.2 开发我的游戏项目,我正在使用GL_REPEAT纹理参数通过定义大于 (1;1) 的 ST 坐标来非常快速地设置我的地形。但是现在,当我添加了天空盒时,天空盒纹理之间的边缘看起来非常粗糙,我不希望它们如此。我可以通过使用参数来移除它们GL_CLAMP_TO_EDGE,但是如果没有参数,地形纹理会呈现错误GL_REPEATGL_REPEAT所以我必须在和之间做出选择GL_CLAMP_TO_EDGE。如果我切换到它,GL_CLAMP_TO_EDGE我将无法使用GL_REPEAT优势,并且必须将我的地形划分为更小的块并为每个块提供纹理,这(在我看来)非常低效,尤其是当我想要大尺寸的地图时。

有没有什么方法可以同时利用这两个优点,GL_REPEAT或者GL_CLAMP_TO_EDGE也许有一些更棒的方法来解决这个我不知道的问题?

4

1 回答 1

5

您可以同时使用两者。纹理环绕模式存储在每个纹理的基础上,因此GL_REPEAT请用于您的地面纹理和GL_CLAMP_TO_EDGE天空纹理。

在上传纹理图像之后(或之前,只要纹理被绑定)立即为每个纹理设置它。

于 2012-12-17T14:12:03.433 回答