Difference between revisions of "GUI OpenGL Implementation, documents"
From hpcwiki
Jvictorinog (Talk | contribs) (Created page with "=GUI OpenGL= ==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(), ...") |
Jvictorinog (Talk | contribs) |
||
Line 10: | Line 10: | ||
* Llamada a la función exec() del WrapperGL | * Llamada a la función exec() del WrapperGL | ||
* Llamada a la función init() del Main_Widget | * Llamada a la función init() del Main_Widget | ||
− | * En este punto se llama al hilo de OpenGL para iniciar el ciclo gráfico | + | * 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 | + | * OpenGL llama a WrapperGL::reshape(w,h) respondiendo al evento de dimensionamiento de la ventana (se configura una proyección de perspectiva) |
− | * OpenGL llama a la función WrapperGL::glut_display() para pintar la escena la primera vez | + | * 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() |
Revision as of 12:31, 26 July 2013
GUI OpenGL
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
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()