Personal tools

Difference between revisions of "GUI OpenGL Implementation, documents"

From hpcwiki

Jump to: navigation, search
(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(), ...")
 
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()