降低纹理渲染的质量

平台:Android OpenGL ES 2.0

我使用OpenGL ES2.0在正方形上绘制纹理。 纹理在垂直方向无限滚动。

几帧之后渲染质量下降得非常快,纹理质量恶化。

截图#1 初始图像

截图#2 几帧后

如何纠正这个问题?

剂量不会无条件增加UV坐标,但在某个时间后重置。

UV坐标(即使使用整数坐标)在GPU寄存器内转换为浮点数,因此会受到浮点精度的典型损失。

而不是做

U+=deltaU; V+=deltaV; 

 U+=deltaU; while(U>1.0f) U-=1.f; V+=deltaV; while(V>1.0f) V-=1.f; 

(这假定你使用标准的紫外线,所以坐标在0和1之间..如果不是只用你的MAXUV值代替1.0f