Compartir a través de


Transformación de coordenadas

La biblioteca de utilidades de OpenGL (GLU) proporciona varias funciones de transformación de matriz usadas habitualmente. Puede configurar una región de visualización ortográfica bidimensional con gluOrtho2D, un volumen de vista de perspectiva estándar mediante gluPerspective o un volumen de vista centrado en un punto de ojo especificado con gluLookAt. Cada una de estas funciones crea la matriz deseada y la aplica a la matriz actual mediante glMultMatrix.

La función gluPickMatrix simplifica la selección de una matriz de selección mediante la creación de una matriz que restringe el dibujo a una pequeña región de la ventanilla. Si vuelve a representar la escena en modo de selección después de aplicar esta matriz, se seleccionarán todos los objetos que se dibujarán cerca del cursor y se almacenará información sobre ellas en el búfer de selección. Para obtener más información sobre el modo de selección, vea "Realizar selección y comentarios" Realizando selección y comentarios.

Para determinar dónde se dibuja un objeto en la ventana, use gluProject, que convierte las coordenadas de objeto especificadas objx, objy y objz en coordenadas de ventana mediante modelMatrix, projMatrix y viewport. El resultado se almacena en winx, winy y winz. Si la función se ejecuta correctamente, el valor devuelto es GL_TRUE. Si se produce un error en la función, se GL_FALSE el valor devuelto.

La función gluUnProject realiza la conversión inversa: transforma las coordenadas de ventana especificadas winx, winy y winz en coordenadas de objeto mediante modelMatrix, projMatrix y viewport. El resultado se almacena en objx, objy y objz. Si la función se ejecuta correctamente, el valor devuelto es GL_TRUE. Si se produce un error en la función, se GL_FALSE el valor devuelto.