Pregunta

He estado programando opengl usando glut como mi manejador de ventanas, últimamente he estado pensando si hay alguna ventaja en cambiar a un manejador de ventanas alternativo como wxWidgets o qt.

¿Hay alguna diferencia importante o es solo cuestión de gustos? Dado que glut proporciona algunas funciones adicionales para la programación opengl más allá de las funciones de manejo de ventanas, ¿tendría sentido combinar un kit de herramientas adicional con glut?

¿Fue útil?

Solución

Solo puedo hablar por experiencia del uso de QT:

Una vez que haya configurado la estructura básica, entonces es un simple caso de hacer lo que siempre ha hecho: por ejemplo, el proyecto en el que estoy trabajando en este momento tiene un widget gl abierto incrustado en la ventana.

Este widget tiene funciones como initializeGL, redimensionar ... paintGL, etc. Las ventajas incluyen la capacidad de pasar variables a otras ventanas / widgets, etc. QT también tiene funciones adicionales para manejar clics del mouse y otras cosas (excelente para 2d cosas, 32d requiere algunas matemáticas más complejas)

Otros consejos

Debe moverse desde el exceso tan pronto como desee controles y cuadros de diálogo más complejos, etc.

QT tiene un excelente widget de OpenGL también hay un artículo interesante en el boletín acerca de controles de dibujo en la parte superior de GL para proporcionar efectos de estilo WPF geniales.

wxWidgets también viene con un ejemplo de opengl pero no tengo mucha experiencia en ello.

Bueno, el exceso está bien para poner en marcha un prototipo.

Depende del sistema operativo, pero más adelante es posible que desee evitar que se inicie el protector de pantalla, es posible que desee deshabilitar el interruptor de tareas (sin embargo, solo los malos lo hacen), es posible que desee reaccionar al apagado eventos. Puede descubrir que el exceso no puede lidiar con las teclas muertas en uno u otro sistema operativo, o, o, o ... Hay miles de razones por las que es posible que desee deshacerse de él.

Es un marco diseñado para facilitar el inicio y hacer el 90% de las cosas habituales que necesita, pero nunca puede hacer el 100%. Siempre puede hackearse en exceso o levantar el código de inicio, pero un día descubrirá que es más fácil rediseñar el código de inicio desde cero y ajustarlo a su tarea.

Abrir una ventana e inicializar OpenGL no es ciencia espacial. Use glut siempre que funcione para usted, pero tan pronto como lo haga, los problemas desaparecerán. Te llevará solo una mano llena de horas, por lo que no perderás mucho.

Sin embargo, para un proyecto de juguete, el exceso es el camino a seguir.

SDL , aunque no es solo un controlador de ventana, facilitará el uso de OpenGL que el código Win32 sin formato . Sin embargo, mi experiencia con Qt, GTK y wxWidgets no ha sido tan mala ... ciertamente no es mucho mejor que Win32, probablemente sea cuestión de gustos en esos casos.

Recomiendo evitar widgets y envoltorios como GLUT si desea un buen nivel de control sobre la ventana y los recursos, pero si solo busca velocidad de desarrollo, estas herramientas son ideales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top