Opengl es opengles纹理坐标映射与限制

Opengl es opengles纹理坐标映射与限制,opengl-es,textures,texture-mapping,Opengl Es,Textures,Texture Mapping,我有一个无缝纹理2D,带有GL_REPEAT和几个三角形,该纹理正确映射到这些三角形 对于这些三角形中的每个顶点,我将更新positionX以将该纹理作为视差背景移动,它将获得较大的值 u=位置X/纹理\宽度; v=位置Y/纹理\高度 问题是,当u时,纹理坐标会出现精度问题。随着整数部分数量级的增加,小数部分的精度降低,您开始看到瑕疵 正如您所观察到的,您无法按顶点修复此问题,因为您将遇到包裹问题,其中单个三角形的顶点最终将不一致地应用校正 您需要对整个多边形均匀地应用校正。最好的方法是在源数据

我有一个无缝纹理2D,带有GL_REPEAT和几个三角形,该纹理正确映射到这些三角形

对于这些三角形中的每个顶点,我将更新positionX以将该纹理作为视差背景移动,它将获得较大的值

u=位置X/纹理\宽度; v=位置Y/纹理\高度


问题是,当u时,纹理坐标会出现精度问题。随着整数部分数量级的增加,小数部分的精度降低,您开始看到瑕疵

正如您所观察到的,您无法按顶点修复此问题,因为您将遇到包裹问题,其中单个三角形的顶点最终将不一致地应用校正

您需要对整个多边形均匀地应用校正。最好的方法是在源数据中,将其分解成块,这样纹理坐标就不会太大

float pWsp = positionX/(pTextureWidth); 
float pResult = pWsp -  ((int)pWsp); 
return pResult;