Estoy usando OpenGL para aprender gráficos por computadora. Estoy tratando de entender las matrices de proyección. Lo siguiente se muestra en el 'Libro Rojo' de OpenGL:
No entiendo por qué el ancho y la altura se dividen entre 2.
fuente
Estoy usando OpenGL para aprender gráficos por computadora. Estoy tratando de entender las matrices de proyección. Lo siguiente se muestra en el 'Libro Rojo' de OpenGL:
No entiendo por qué el ancho y la altura se dividen entre 2.
Debido a que no varía de , varía de .
Lo importante no es el ancho, sino los valores mínimos y máximos de . Como está en el centro de la ventana gráfica, no en la esquina, los valores mínimo y máximo son más y menos la mitad del ancho.
Por cierto, el Libro Rojo no es una gran introducción a los gráficos en general. Es un estándar técnico, no un tutorial, por lo que la explicación de los conceptos es suficiente para ser inequívoco: no está tratando de enseñar el material. También se trata de una biblioteca de representación de líneas de escaneo en particular, por lo que hay muchos conceptos importantes que no describe en absoluto, como qué BRDF son importantes, cómo se relacionan con las propiedades de la superficie del mundo real, qué es realmente una imagen y muchos Técnicas de nivel superior.
Y finalmente, incluso en el área de cómo se trata, cómo usar una GPU para acelerar el renderizado, está horriblemente desactualizado. La arquitectura GL se basa en GPU de hace 20 años. Aunque se han agregado muchas características para mantenerse al día con los cambios en el hardware, las abstracciones fundamentales no son una buena manera de comprender las arquitecturas actuales de GPU.
Si desea aprender sobre la teoría de los gráficos por computadora, comience con un libro de texto adecuado, como Rendering basado en física o Gráficos por computadora: principios y práctica, o un curso en línea. Si desea aprender cómo hacer una aplicación 3D, comience con un tutorial sobre el tipo de aplicación que le interesa (por ejemplo, si es un juego, pruebe un tutorial de Unity).