Perché lo spazio di clip viene sempre definito "spazio di clip omogeneo"?


12

Ho notato in quasi tutto ciò che ho letto finora che il termine "spazio clip" è anteposto alla parola "omogeneo". Ora capisco che significa approssimativamente "tutti uguali", ma non capisco perché vi sia l'espressa necessità di dire "spazio di clip omogeneo". Quando lo spazio della clip non è omogeneo e perché è necessario differenziare? E del resto, cosa significa esattamente che lo chiamiamo "spazio di clip omogeneo"? Omogeneo rispetto a cosa? In che modo i vertici "sono tutti uguali"?

Risposte:


22

Lo spazio di clip viene chiamato omogeneo perché i valori in esso contenuti utilizzano coordinate omogenee , ovvero sono nella forma [xyzw] anziché [xyz] . Per ottenere quest'ultimo, la divisione prospettica deve ancora avvenire:

 [x y z w]      [x/w y/w z/w]
homogeneous     normalized device
clip space      coordinates (NDC)

Il motivo per cui il ritaglio viene eseguito prima della divisione in prospettiva è perché le divisioni sono operazioni costose. Invece di testare ad esempio |x| > 1 nello spazio NDC, possiamo semplicemente testare |x| > |w|in uno spazio di clip omogeneo, che fornisce esattamente lo stesso risultato e consente di eseguire il ritaglio prima della divisione.


2
È stato votato per spiegare perché il ritaglio nello spazio omogeneo 4D è più economico rispetto allo spazio 3D NDC. Penso che questo sia stato notato per la prima volta da Jim Blinn e ME Newell. Anche dopo il ritaglio, i punti sopravvissuti subiscono questa divisione (costosa) della prospettiva, tuttavia, il numero di punti sarà ora significativamente inferiore dopo il ritaglio.
legends2k,

Che cosa intendi qui per "ritaglio" o, più precisamente, per "ritaglio eseguito"?

"Il motivo per cui il ritaglio viene eseguito prima della divisione in prospettiva è perché le divisioni sono operazioni costose" sbagliato. è perché non puoi proiettare nulla con z <= 0. logicamente non può colpire il piano di proiezione. questo è anche il motivo per cui il piano vicino non può essere a 0. tutto deve essere davanti alla telecamera. quindi il clipping deve avvenire prima della proiezione.
Pozza
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.