opengl - gl_triangle_strip vs gl_triangle_fan
gl-triangle-strip (2)
Necesito un ejemplo de un polígono que solo se puede hacer con Triangle_strip y otro polígono que solo se puede hacer con triangle_fan.
Al conocer la diferencia entre Triangle Strip y Triangle Fan , será fácil crear una figura.
Triangle Strip
Por ejemplo, una Triangle Strip es un conjunto de triángulos conectados que comparten vértices.
Ejemplo de Triangle Strip
Usando Triangle Strip podremos obtener la siguiente salida, usando esos vértices dados.
Ventilador triangular
Donde un Ventilador de triángulo también es un conjunto de triángulos conectados, aunque todos estos triángulos tienen un vértice común, que es el vértice central.
En OpenGL, el vértice central es el primer vértice dado en Triangle Fan .
Ejemplo de ventilador triangular
Usando Triangle Fan y los mismos vértices que en el otro ejemplo, solo podremos obtener el área coloreada como salida. Esto se debe a la importancia del orden organizado de los vértices en Triangle Fan . Básicamente, todos los vértices deben rodear el vértice central.
Conclusión
Como puede ver en nuestros 2 conjuntos de vértices de ejemplo, esas "formas de salida" son exclusivas tanto de la banda triangular como del triángulo .
Extra
Hice una respuesta similar here , puede leerla si lo desea, en realidad usé las mismas imágenes ya que las preguntas están estrechamente relacionadas.
Difícil de responder en texto puro. Para Fan, una forma de S sería imposible (en general, recuerda que el ventilador está limitado porque hay un punto común en cada triángulo).
En cuanto a la otra forma, es una pregunta capciosa. triangle_strip puede hacer cada polígono triangle_fan, aunque requiere un pequeño truco. Considere el siguiente polígono (orden que se muestra es para triángulo_fan)
3--4--5
|/ | /|
2--1--6
| /|
8--7
Esto podría hacerse de la siguiente manera
2-----4
| / /|
1--3/7|
| /|
6--5
Tenga en cuenta los polígonos superpuestos. Si no permite polys de doble cara o se superponen, entonces este sería un ejemplo de un solo ventilador poli, supongo.