alturas banda horizontal constante en una malla poligonal sometidos a deformación vertical (OpenGL ES 1.1)

StackOverflow https://stackoverflow.com/questions/512414

Pregunta

En la aplicación de mapeado de texturas en una malla poligonal estándar utilizando el algoritmo de costumbre, puede que tenga problemas relacionados con deformaciones a lo largo del eje y en el que las deformaciones siguen a lo largo de bandas de filas de altura constante de quads en lugar de los vértices en esta dirección ser capaz de estirar independientemente en comparación con que a lo largo del eje x.

Estoy corriendo en esto porque la hora de definir los vértices de la malla, cada fila define tanto una parte inferior y un vértice superior, lo que resulta en la fila superior de vértices para una fila compartir la fila inferior de los vértices de la fila por encima de ella .

Mientras que esto está bien si sólo está deformando la malla a lo largo X o Z ejes, si deformar la malla a lo largo del eje y sin tomar en cuenta esto, se verá que las filas de quads actúan juntos como una banda de altura constante en lugar de filas de puntos independientes. Verá deformación de la malla a lo largo del eje y, pero también se verá la textura rasgado ya que estas bandas no cambian en anchura, dando lugar a deficiencias en la malla.

Alguien más ha funcionado en este que tendría sugerencias sobre la mejor manera de aplicar una (x, y) Filtro de mapa de desplazamiento a una malla poligonal construida de esta manera? ¿O es el enfoque para definir la malla tiene que ser modificados de una manera fundamental?

Un ejemplo del algoritmo de generación de mallas se puede ver en ZEUS OpenGL | ES tutorial sobre Cartografía textura .

Gracias.

¿Fue útil?

Solución

Ok vamos a ver si entiendo la pregunta en primer lugar.

Si he entendido bien, usted está tratando de hacer una textura mapeada parche. Pero luego, cuando usted está tratando de estirar el parche en la dirección vertical, de modo que se pone más alto, las diferentes bandas horizontales de su desgarro malla y que terminan con banda horizontal varios de parche.

Es correcto eso?

Si es así, el problema está en el algoritmo de generación de mallas, el mapeado de texturas en sí debe permanecer sin cambios. Por lo que puedo ver en el enlace que aparece, entre los vértices de cada bandas horizontales no son compartidos, que se duplican. Por lo tanto, si escala la distancia entre vértices superiores, también es necesario para escalar la altura de la banda de manera que los vértices inferiores encajarán el siguiente vértice fila superior.

Los fundamentos de la obra algoritmo, sólo tiene que ajustar tanto fila espaciamiento y altura de la fila. Cuando usted entiende un poco más cómo funcionan las listas de primitivas, es posible que desee aprender sobre las primitivas indexados. Los que realmente permitirá compartir vértices en lugar de duplicarlos para cada primitiva.

Espero que ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top