在渲染时设置glTexParameteri()是不是很糟糕?

Gam*_*mer 6 opengl opengl-es

我正面临着纹理包装的问题.这导致了文物.由于我的代码库变得越来越大,我能想到的唯一方法是执行某些检查以查看某些纹理是否属于导致工件的类别,并在绘制到渲染缓冲区之前更改参数.

一般来说一般都好吗?设置参数如

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT);
Run Code Online (Sandbox Code Playgroud)

在渲染循环期间glBindTexture之后?或者它会影响FPS,因为它会增加每个渲染帧期间的操作?

dat*_*olf 9

更改纹理参数通常不会对性能产生太严重的影响,因为它会保留完整的缓存并且只会更改访问模式.

但是在OpenGL的更高版本中,针对这种非常具体的使用场景引入了"采样器对象".我想你可能想看看它们.

  • 我发现[Arcsynthesis第14章](http://www.arcsynthesis.org/gltut/Texturing/Tutorial%2014.html)对纹理/采样有帮助. (3认同)