Difference between revisions of "GUI OpenGL Implementation, documents"
From hpcwiki
Jvictorinog (Talk | contribs) |
Jvictorinog (Talk | contribs) m (Jvictorinog moved page GUI Implementation, documents to GUI OpenGL Implementation, documents) |
Latest revision as of 14:26, 26 July 2013
[edit] GUI OpenGL
[edit] Uso de la GUI
- Debe crear un descendiente de la clase Widget que sera el Main_Widget
- En el Main_Widget tiene que implementar los métodos: init(), draw(), resize() como en GLUT
- Los eventos de teclado, ratón y temporizador son opcionales y tienen su call_back
- Los widgets se organizan en una estructura árbol y los eventos pasan de padre a hijo automáticamente
- Debe crear una instancia del WrapperGL y pesarle los argumentos de línea de comandos y el Main_Widget.
- Finalmente, llamar al método exec() del WrapperGL.
[edit] Secuencia de llamadas
- Constructor del Widget principal
- Constructor de WrapperGL que inicaliza el GLUT
- Llamada a la función exec() del WrapperGL
- Llamada a la función init() del Main_Widget
- En este punto se llama al hilo de OpenGL para iniciar el ciclo gráfico y se desencadenan las siguientes llamadas
- OpenGL llama a WrapperGL::reshape(w,h) respondiendo al evento de dimensionamiento de la ventana (se configura una proyección de perspectiva)
- Al final WrapperGL::reshape() llama al evento Main_Widget::resize()
- OpenGL llama a la función WrapperGL::glut_display() para pintar la escena la primera vez (configura una poryección ortogonal)
- WrapperGL::glut_display() llama a Main_Widget::draw()