Devo preoccuparmi del rendering basato su quad in scenari del mondo reale?


9

Il più delle volte nei primi capitoli di un libro a caso sulle tecniche di rasterizzazione e rendering, trovo alcune frasi su un sistema di rendering basato su triangoli e su un quad.

Non ho mai incontrato una GPU o una pipeline basata su quad. Devo preoccuparmene quando ho a che fare con OpenGL 3.0+ o sono solo cose legacy?

Risposte:


9

No, non lo fai. Tutte le GPU di prodotti di generazione attuale utilizzano (e hanno usato per qualche tempo) esclusivamente metodi di rasterizzazione basata su triangoli. Anche se la versione precedente di OpenGL supporta la GL_QUADSmodalità di rendering, questi sono stati convertiti in triangoli da GPU di prodotti. È probabile che ciò abbia GL_QUADSportato a un'effettiva rasterizzazione basata su quadrilateri su hardware accademico esoterico o hardware utilizzato per il rendering 3D offline di fascia alta nei primi anni '80 o '90 (non ho prove a sostegno di questa affermazione, sto solo postulando).

Detto questo, guardare al quadrilatero (e in generale alla rasterizzazione poligonale diversa dalla rasterizzazione triangolare) può ancora essere educativo, e quindi utile, semplicemente fornendo una diversa prospettiva delle cose. Gli algoritmi coinvolti nel farlo in modo efficiente sono interessanti e talvolta hanno ancora applicazioni oltre la programmazione grafica. Una volta ho usato una tecnica di rasterizzazione di poligoni di marciapiede come mezzo per implementare una simulazione di acqua 2D finta semplicistica, per esempio.

Può anche aiutarti a capire perché è preferibile la rasterizzazione dei triangoli, in parte a causa della natura potenzialmente non planare dei poligoni diversi dai triangoli e a causa di alcune delle ottimizzazioni che puoi ottenere con i triangoli.


7

Se stai utilizzando un'API di rendering, devi solo preoccuparti di ciò che l'API ti dice di preoccupare. OpenGL non dice nulla sui sistemi di rendering basati su quad o triangolari. Quindi non devi preoccuparti di esso.

In ogni caso, tutte le GPU di fascia consumer utilizzano triangoli, non quad.


sono confuso, quindi perché parlarne in un libro OpenGL se l'API OpenGL si basa sul presupposto che il modello sia formato da triangoli?
user827992

4
@ user827992: non chiedermelo; molti libri contengono informazioni superflue. Non hai mai nemmeno detto in quale "libro casuale" lo hai trovato. In realtà era un libro su OpenGL o era un libro sulla grafica che utilizza OpenGL?
Nicol Bolas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.