En estos días he retomado el trabajo de implementar una interfaz gráfica (GUI) en OpenGL. La documentación es bastante escasa, mejor decir inexistente. He partido de un trabajo que ya tenía hecho y he pulido algunos detalles como el manejo de eventos de entrada, para adaptarlo al nuevo proyecto.
En general, mientras se termina la base necesaria para avanzar un poco más estoy decidiendo qué método usar para los eventos espécifiocs del GUI, por ejemplo, cuando un elemento es clickeado. Tenía dos posibilidades, por mensajes o por manipuladores de eventos.
El primero involucra una cola de mensajes donde los elementos dejan un mensaje (y valga la redundancia). En el lazo principal, o donde sea necesario, se consulta la cola y se actúa en consecuencia.
El segundo caso es el más extendido. Una función es llamada cuando se produce el evento. Prefiero éste, aunque aún no hay nada decidido.
En general, mientras se termina la base necesaria para avanzar un poco más estoy decidiendo qué método usar para los eventos espécifiocs del GUI, por ejemplo, cuando un elemento es clickeado. Tenía dos posibilidades, por mensajes o por manipuladores de eventos.
El primero involucra una cola de mensajes donde los elementos dejan un mensaje (y valga la redundancia). En el lazo principal, o donde sea necesario, se consulta la cola y se actúa en consecuencia.
El segundo caso es el más extendido. Una función es llamada cuando se produce el evento. Prefiero éste, aunque aún no hay nada decidido.
Si no hay documentación será porque OpenGL no es una librería específica para crear GUIs, sino algo de más bajo nivel. Es como decir que en el estándar de C++ la documentación de cómo programar juegos es inexistente :)
ResponderEliminarPor otra parte ya hay bastante gente que se ha dedicado a programar GUIs con librerías 3D, la más famosa podría ser CEGUI, que funciona con OpenGL y DirectX.
En efecto, pero las especificidades no me interesan, sino los métodos.
ResponderEliminar