OpenGL ES 2.0 tiene problemas graves de precisión al muestreo de textura - he visto temas con un similar problem, pero no he visto una solución real a este "distorsionada OpenGL ES 2.0 textura " problema todavía.OpenGL ES 2.0 textura distorsión en gran GL_REPEAT geometría
Esto no está relacionado con el formato de imagen de la textura o los búferes de color OpenGL, parece que es un error de precisión. No sé qué causa específicamente la falla de la precisión: no parece que sea solo el tamaño de la geometría el que causa esta distorsión, porque simplemente escalar la posición de los vértices pasado al sombreador de vértices no resuelve el problema.
Éstos son algunos ejemplos de la distorsión de la textura:
textura distorsionada (en OpenGL ES 2.0): http://i47.tinypic.com/3322h6d.png
Lo que la textura que normalmente se ve como (también en OpenGL ES 2.0): http://i49.tinypic.com/b4jc6c.png
El problema de la textura está limitado a la geometría de pequeña escala en OpenGL ES 2.0; de lo contrario, el muestreo de textura parece normal, pero el efecto granular empeora gradualmente a medida que los datos de los vértices son del origen de XYZ (0,0,0)
Estos problemas de textura no ocurre en el escritorio OpenGL (funciona bien en Windows XP, Windows 7 y Mac OS X)
Solo he visto el problema en Android, iPhone o WebGL (que es similar a OpenGL ES 2.0)
Todas las texturas son potencia de 2 pero el problema todavía ocurre
Escalado los datos de vértice - Los valores de ubicación XYZ de un vértice están en el rango de: -65536 a +65536 punto flotante
- Me di cuenta de que esto era grande, así que traté de dividir el vert ex posiciones de 1024 para reducir el tamaño de la geometría y es de esperar obtener coma flotante de precisión más exacta, pero esto no se soluciona el problema o disminuir la textura de la distorsión
Escala de la modelview o escalando la matriz de proyección no ayuda
Cambio de filtrado de texturas opciones no ayuda
- Desactivación mipmapping, o el uso de GL_NEAREST/GL_LINEAR no hace nada
- Activación/anisotrópico incapacitante no hace nada
- El efecto de bandas persiste incluso cuando se utiliza GL_CLAMP
Dividiendo las coordenadas de textura pasados al vertex shader y luego multiplicando de nuevo a los valores correctos en el fragment shader, tampoco funciona
precisión highp sampler2D, flotador highp, highp int - en el fragmento o el vertex shader no cambia nada (lowp/mediump no lo hizo wo rk bien)
Estoy pensando en este problema tiene que haber sido resuelto en un momento dado - Al ver que OpenGL ES 2.0 basada en los juegos han sido capaces de rendir a gran escala, la geometría muy detallada
He estado tratando de resolver un error que creo que es similar a éste, y pasó a la casualidad sobre esta cuestión ... iba a su trabajo de la técnica para la clasificación de este problema también? http://stackoverflow.com/questions/13915531/repeating-opengl-es-texture-bound-to-hills-in-cocos2d-2-0 Cualquier ayuda se agradece enormemente! – simonthumper