2009-03-02 20 views
6

Estoy buscando una ventana ... ugh ... cosa para OpenGL, he estado usando SDL pero más recientemente descubrí que no es lo que necesito en al menos cualquier código I ' Has visto. Me gustaría encontrar alguna biblioteca de GUI que me permita desarrollar usando OpenGL (y SDL, si es posible) con una barra de menú, posiblemente opciones en el lateral, y un botón de cerrar que esté listo para usar. Qt es el tipo de cosa que estoy buscando, pero me gustaría trabajar con algo que no me obligue a hacerlo de código abierto.OpenGL ventana multiplataforma

Una lista rápida de cosas que quiero, un botón de cerrar, capacidad para usar OGL, plataforma cruzada, cualquier licencia que no me obligue a convertirme en código abierto, gratis y tener la capacidad de ir a pantalla completa y cambiar la resolución sobre la marcha.

He buscado yo mismo, no soy una persona perezosa realmente;) Solo quiero obtener algunas opiniones aquí antes de sumergirme en cualquier cosa y encontrar que no es realmente adecuado para mis necesidades.

Gracias de antemano por cualquier comentario.

Respuesta

4

Pruebe wxWidgets. Hay un enlace para usarlo con OpenGL here.

+0

http://docs.wxwidgets.org/2.8/wx_wxglcanvas.html para wxGLCanvas. – aib

+0

Estoy de acuerdo con la recomendación de wxWidgets. –

2

GLUT (GL Utility Toolkit) se acerca mucho a lo que estás buscando. Es rápido y fácil y multiplataforma, aunque no admite barras de menú. This page también tiene varias alternativas similares a GLUT.

+0

GLUT es bastante asqueroso (las variables globales son * tan * 1999;) pero está en todas partes OpenGL, por lo que es la solución más simple para despegar. – ephemient

+0

Variables globales * ROCA *. Ver también http://www.yosefk.com/blog/i-love-globals-or-google-core-dump.html –

0

SDL puede crear OpenGL Windows.

http://gpwiki.org/index.php/C:SDL_OGL

+0

Soy consciente de eso, como dije, estoy usando SDL en este momento, pero no contiene funciones lo suficientemente cercanas como para que las aplicaciones que planeo generar pronto lo utilicen. – Auraomega

+0

Hmm, si SDL no tiene suficientes características para usted, GLUT probablemente no sea bueno tampoco. ¿Que te falta? – ephemient

4

Cuando Qt 4.5 sale (a finales de este mes, creo) que será LGPL, lo que si puede esperar un par de semanas, se puede usar Qt sin tener que abrir el código de su programa.

+1

También recomendaría Qt4. Es mucho más maduro que wxWidgets y también más potente en su integración con OpenGL. Puedes decirle a Qt que use GL como render back-end y también es posible realizar tareas de pintura Qt en un QGLWidget, es decir, dentro de un contexto GL. – ypnos

2

Para la ventana lista para usar de botón de cierre, puede tener GLUT, como se mencionó anteriormente, y si sus necesidades de GUI adicionales son realmente simples, creo que GLUT puede proporcionarle algunas.

También puede obtener menús y botones renderizados con OpenGL, ya sea usando NVidia Widgets o AntTweakBar.

+1

Si no está contento con SDL, ¿cómo estará contento con GLUT? Dicho esto, todavía te doy un +1 por la recomendación de widgets renderizados. –

1

No necesita 'asistencia' para OGL, siempre que pueda pasar la información correcta. En Windows, al menos, si tiene una API de ventana en la que puede enganchar el HWND, puede configurar OGL para usar casi cualquier ventana que desee. Lo he hecho con éxito con wxWidgets y win32. No puedo ayudarte con otras plataformas, pero sospecho que puedes hacer algo similar.

Esto también funciona con D3D y es una buena manera de separar su código de representación de su API de ventanas.

+0

También he hecho esto con GTK en Linux en el pasado. –

0

Existen numerosas bibliotecas de widgets renderizados, como los sugeridos por rotoglup. Echa un vistazo a CEGUI y QuickGUI, pueden hacerte feliz (aunque CEGUI me decepciona con su abuso de XML). Y aquí hay un enchufe desvergonzado: GLICT.