Sto leggendo un fantastico tutorial su OpenGL . È davvero fantastico, fidati di me. L'argomento in cui mi trovo attualmente è Z-buffer. Oltre a spiegare di cosa si tratta, l'autore menziona che possiamo eseguire test di profondità personalizzati, come GL_LESS, GL_ALWAYS, ecc. Spiega anche che il significato effettivo dei valori di profondità (che è in alto e che non lo è) può anche essere personalizzato. Ho capito fino ad ora. E poi l'autore dice qualcosa di incredibile:
L'intervallo zNear può essere maggiore dell'intervallo zFar; se lo è, i valori dello spazio finestra verranno invertiti, in termini di ciò che costituisce il più vicino o il più lontano dallo spettatore.
In precedenza, si diceva che il valore Z dello spazio finestra di 0 fosse il più vicino e 1 fosse il più lontano. Tuttavia, se i nostri valori Z dello spazio clip fossero negati, la profondità di 1 sarebbe la più vicina alla vista e la profondità di 0 sarebbe la più lontana. Tuttavia, se invertiamo la direzione del test di profondità (da GL_LESS a GL_GREATER, ecc.), Otteniamo lo stesso risultato esatto. Quindi è davvero solo una convention. In effetti, capovolgere il segno di Z e il test di profondità era una volta un'ottimizzazione delle prestazioni vitale per molti giochi.
Se ho capito bene, dal punto di vista delle prestazioni, capovolgere il segno di Z e il test di profondità non è altro che cambiare un <
confronto in un >
confronto. Quindi, se ho capito bene e l'autore non sta mentendo o fare le cose, quindi modificando <
ad >
usato per essere un'ottimizzazione di vitale importanza per molti giochi.
L'autore sta inventando le cose, sto fraintendendo qualcosa o è davvero il caso che una volta <
fosse più lento ( vitale , come dice l'autore) di >
?
Grazie per aver chiarito questa questione piuttosto curiosa!
Dichiarazione di non responsabilità: sono pienamente consapevole che la complessità dell'algoritmo è la fonte primaria di ottimizzazioni. Inoltre, sospetto che oggigiorno sicuramente non farebbe alcuna differenza e non sto chiedendo questo per ottimizzare nulla. Sono solo estremamente, dolorosamente, forse proibitivamente curioso.