¿Debo preocuparme por el renderizado basado en quad en escenarios del mundo real?

9

La mayoría de las veces en los primeros capítulos de un libro al azar sobre rasterización y técnicas de renderizado, encuentro algunas frases sobre un sistema de renderizado basado en triángulos y uno basado en quad.

Nunca he encontrado una GPU o una tubería basada en quad. ¿Tengo que preocuparme por eso cuando trato con OpenGL 3.0+, o son solo cosas heredadas?

usuario827992
fuente

Respuestas:

9

No, tu no. Todas las GPU de productos básicos de la generación actual usan (y lo han usado durante algún tiempo) métodos de rasterización basados ​​en triángulos exclusivamente. A pesar de que la versión anterior de OpenGL admite el GL_QUADSmodo de renderizado, estas fueron convertidas a triángulos por GPU de consumo. Es probable que GL_QUADSsolo haya resultado en una rasterización basada en cuadrilateriales reales en hardware académico esotérico o hardware utilizado para renderizado 3D sin conexión de alta gama a principios de los años 80 o 90 (no tengo evidencia para respaldar esta afirmación, solo estoy postulando).

Dicho esto, observar el cuadrilátero (y en general, la rasterización de polígonos que no sea la rasterización de triángulo) puede ser educativo y, por lo tanto, útil, simplemente al proporcionar una perspectiva diferente de las cosas. Los algoritmos involucrados en hacerlo de manera eficiente son interesantes y algunas veces aún tienen aplicaciones más allá de la programación de gráficos. Una vez utilicé una técnica de rasterización de polígonos de borde para caminar como un medio de implementar una simulación de agua 2D falsa simplista, por ejemplo.

También puede ayudarlo a comprender por qué es preferible la rasterización de triángulos, en parte debido a la naturaleza potencialmente no plana de los polígonos que no sean triángulos y debido a algunas de las optimizaciones resultantes que puede hacer con triángulos.


fuente
7

Si está utilizando una API de representación, entonces solo debe preocuparse por lo que esa API le dice que se preocupe. OpenGL no dice nada sobre los sistemas de renderizado basados ​​en quad o en triángulos. Por lo tanto, no necesita preocuparse por ello.

En cualquier caso, todas las GPU de grado de consumidor usan triángulos, no quads.

Nicol Bolas
fuente
Estoy confundido, entonces, ¿por qué hablar de esto en un libro de OpenGL si la API de OpenGL se basa en el supuesto de que el modelo está formado por triángulos?
user827992
44
@ user827992: No me preguntes; muchos libros tienen información superflua en ellos. Ni siquiera dijiste en qué "libro aleatorio" lo encontraste. ¿Era realmente un libro sobre OpenGL, o era un libro sobre gráficos que usa OpenGL?
Nicol Bolas