Estoy leyendo un increíble tutorial de OpenGL . Es realmente genial, confía en mí. El tema en el que estoy actualmente es Z-buffer. Además de explicar de qué se trata, el autor menciona que podemos realizar pruebas de profundidad personalizadas, como GL_LESS, GL_ALWAYS, etc. También explica que el significado real de los valores de profundidad (que es superior y que no lo es) también puede ser Personalizado. Lo entiendo hasta ahora. Y luego el autor dice algo increíble:
El rango zNear puede ser mayor que el rango zFar; si es así, entonces los valores del espacio de la ventana se invertirán, en términos de lo que constituye lo más cercano o lo más alejado del espectador.
Anteriormente, se decía que el valor Z del espacio de ventana de 0 es el más cercano y 1 es el más alejado. Sin embargo, si se negaran nuestros valores Z del espacio de clip, la profundidad de 1 sería la más cercana a la vista y la profundidad de 0 sería la más lejana. Sin embargo, si cambiamos la dirección de la prueba de profundidad (GL_LESS a GL_GREATER, etc.), obtenemos exactamente el mismo resultado. Entonces, en realidad es solo una convención. De hecho, voltear el signo de Z y la prueba de profundidad fue una optimización de rendimiento vital para muchos juegos.
Si entiendo correctamente, en cuanto al rendimiento, cambiar el signo de Z y la prueba de profundidad no es más que cambiar una <
comparación por otra >
. Entonces, si entiendo correctamente y el autor no está mintiendo o inventando cosas, cambiar <
a >
solía ser una optimización vital para muchos juegos.
¿El autor está inventando cosas, estoy malentendiendo algo o es el caso que alguna vez <
fue más lento ( vitalmente , como dice el autor) que >
?
¡Gracias por aclarar este asunto bastante curioso!
Descargo de responsabilidad: soy plenamente consciente de que la complejidad del algoritmo es la fuente principal para las optimizaciones. Además, sospecho que hoy en día definitivamente no haría ninguna diferencia y no estoy pidiendo que esto optimice nada. Soy extremadamente, dolorosamente, tal vez prohibitivamente curioso.