Dois-je m'inquiéter du rendu basé sur quad dans des scénarios du monde réel?

9

La plupart du temps dans les premiers chapitres d'un livre aléatoire sur les techniques de pixellisation et de rendu, je trouve quelques phrases sur un système de rendu basé sur un triangle et un système basé sur un quad.

Je n'ai jamais rencontré de GPU ou de pipeline quadruple. Dois-je m'inquiéter à ce sujet lorsque je traite avec OpenGL 3.0+, ou s'agit-il uniquement de choses héritées?

user827992
la source

Réponses:

9

Non, non. Tous les GPU de base de la génération actuelle utilisent (et utilisent depuis un certain temps) exclusivement des méthodes de rastérisation en triangle. Même si une ancienne version d'OpenGL prend en charge le GL_QUADSmode de rendu, ceux-ci ont été convertis en triangles par les GPU de base. Il est probable que cela GL_QUADSn'ait abouti qu'à une réelle pixellisation basée sur les quadrilatères sur le matériel académique ésotérique ou le matériel utilisé pour le rendu 3D hors ligne haut de gamme au début des années 80 ou 90 (je n'ai aucune preuve à l'appui de cette affirmation, je postule simplement).

Cela dit, regarder le quadrilatère (et en général, la pixellisation polygonale autre que la pixellisation triangulaire) peut toujours être éducatif, et donc utile, simplement en offrant une perspective différente des choses. Les algorithmes impliqués pour le faire efficacement sont intéressants et ont parfois encore des applications au-delà de la programmation graphique. J'ai utilisé une fois une technique de tramage de polygones à arête de marche comme moyen de mettre en œuvre une simulation d'eau 2D simulée simpliste, par exemple.

Cela peut également vous aider à comprendre pourquoi la pixellisation de triangle est préférable, en partie en raison de la nature potentiellement non plane de polygones autres que les triangles et en raison de certaines des optimisations résultantes que vous pouvez effectuer avec des triangles.


la source
7

Si vous utilisez une API de rendu, vous n'avez qu'à vous soucier de ce que cette API vous dit de vous inquiéter. OpenGL ne dit rien sur les systèmes de rendu basés sur un quad ou un triangle. Vous n'avez donc pas besoin de vous en préoccuper.

Dans tous les cas, tous les GPU grand public utilisent des triangles, pas des quads.

Nicol Bolas
la source
Je suis confus, alors pourquoi en parler dans un livre OpenGL si l'API OpenGL est basée sur l'hypothèse que le modèle est formé de triangles?
user827992
4
@ user827992: Ne me demandez pas; beaucoup de livres contiennent des informations superflues. Vous n'avez même jamais dit dans quel "livre aléatoire" vous l'avez trouvé. S'agissait-il en fait d'un livre sur OpenGL, ou était-ce un livre sur les graphiques qui utilisent OpenGL?
Nicol Bolas