Preciso me preocupar com a renderização baseada em quad em cenários do mundo real?

9

Na maioria das vezes, nos primeiros capítulos de um livro aleatório sobre rasterização e técnicas de renderização, encontro algumas frases sobre um sistema de renderização baseado em triângulo e outro baseado em quad.

Eu nunca encontrei uma GPU ou pipeline baseada em quad. Preciso me preocupar com isso ao lidar com o OpenGL 3.0+ ou são apenas coisas herdadas?

user827992
fonte

Respostas:

9

Não você não. Todas as GPUs de commodities da geração atual usam (e já usam há algum tempo) métodos de rasterização baseados em triângulo exclusivamente. Embora a versão mais antiga do OpenGL suporte o GL_QUADSmodo de renderização, elas foram convertidas em triângulos pelas GPUs de commodities. É provável que tenha GL_QUADSresultado apenas na rasterização baseada em quadriláteros em hardware acadêmico esotérico ou hardware usado para renderização 3D off-line de alta qualidade no início dos anos 80 ou 90 (não tenho evidências para apoiar essa afirmação, estou apenas postulando).

Dito isto, observar quadrilátero (e, em geral, rasterização de polígonos além da triangulação) ainda pode ser educacional e, portanto, útil, simplesmente fornecendo uma perspectiva diferente das coisas. Os algoritmos envolvidos em fazê-lo com eficiência são interessantes e, às vezes, ainda têm aplicativos além da programação gráfica. Certa vez, usei uma técnica de rasterização de polígono que percorre a borda como meio de implementar uma simulação 2D simplista de água falsa, por exemplo.

Também pode ajudar a entender por que a rasterização de triângulo é preferível, em parte devido à natureza potencialmente não planar de polígonos que não sejam triângulos e devido a algumas das otimizações resultantes que você pode fazer com triângulos.


fonte
7

Se você estiver usando uma API de renderização, precisará se preocupar apenas com o que essa API diz para você se preocupar. O OpenGL não diz nada sobre sistemas de renderização baseados em quad ou triângulo. Então você não precisa se preocupar com isso.

De qualquer forma, todas as GPUs de consumo usam triângulos, não quads.

Nicol Bolas
fonte
Estou confuso, então por que falar sobre isso em um livro do OpenGL se a API do OpenGL é baseada na suposição de que o modelo é formado por triângulos?
user827992
4
@ user827992: Não me pergunte; muitos livros contêm informações supérfluas. Você nunca disse em que "livro aleatório" o encontrou. Na verdade, era um livro sobre OpenGL ou um livro sobre gráficos que usa o OpenGL?
Nicol Bolas