2009-03-02 7 views
6

Sto cercando una finestra ... ugh ... cosa per OpenGL, ho usato SDL ma più recentemente ho scoperto che non è all'altezza delle mie esigenze in almeno qualsiasi codice I ' ho visto. Mi piacerebbe trovare una libreria GUI che mi permetta di sviluppare usando OpenGL (e SDL se possibile) con una barra dei menu, possibilmente opzioni sul lato e un pulsante di chiusura pronto all'uso. Qt è il genere di cose che sto cercando, ma mi piacerebbe lavorare con qualcosa che non mi costringa a renderlo open source.OpenGL cross platform window

Un breve elenco di cose che voglio, un pulsante di chiusura funzionante, possibilità di usare OGL, multipiattaforma, qualsiasi licenza che non mi costringa a diventare open source, libero, e la possibilità di andare a schermo intero e modificare la risoluzione al volo.

Ho cercato me stesso, non sono una persona veramente pigra;) Voglio solo avere qualche opinione qui prima di tuffarmi in qualcosa e trovarla non adatta alle mie esigenze.

Grazie in anticipo per qualsiasi feedback.

risposta

4

Prova wxWidgets. C'è un collegamento su come utilizzarlo con OpenGL here.

+0

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

+0

Sono d'accordo con la raccomandazione di wxWidgets. –

2

GLUT (GL Utility Toolkit) si avvicina a quello che stai cercando. È veloce e facile e multipiattaforma, sebbene non abbia il supporto per le barre dei menu. This page ha anche un certo numero di alternative simili a GLUT.

+0

Pretty icky di GLUT (le variabili globali sono * so * 1999;) ma è ovunque OpenGL, che lo rende la soluzione più semplice per decollare. – ephemient

+0

Variabili globali * ROCK *. Vedi anche http://www.yosefk.com/blog/i-love-globals-or-google-core-dump.html –

0

SDL può creare OpenGL Windows.

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

+0

Ne sono consapevole, come ho detto sto usando SDL adesso, ma non contiene nulla vicino a caratteristiche sufficienti da renderlo utilizzabile dalle applicazioni che sto pianificando di sfornare presto. – Auraomega

+0

Hmm, se SDL non ha abbastanza funzionalità per te, GLUT probabilmente non andrà bene neanche. Cosa ti manca? – ephemient

4

Quando Qt 4.5 esce (a fine mese, credo) che sarà LGPL, quindi se si può aspettare un paio di settimane, è possibile utilizzare Qt senza dover aprire source vostro programma.

+1

Raccomanderei anche Qt4. È molto più maturo di wxWidgets e anche più potente nella sua integrazione OpenGL. Puoi dire a Qt di usare GL come backend di rendering ed è anche possibile eseguire attività di pittura Qt su un QGLWidget, cioè all'interno di un contesto GL. – ypnos

2

Per la finestra abilitata per il pulsante di chiusura, è possibile avere GLUT, come menzionato prima, e se le vostre esigenze aggiuntive della GUI sono davvero semplici, penso che GLUT ne possa fornire alcune.

Si potrebbe anche optare per semplici menu e pulsanti di rendering OpenGL, utilizzando NVidia Widgets o AntTweakBar.

+1

Se non è soddisfatto di SDL, come sarà felice con GLUT? Detto questo, ti sto ancora dando un +1 a causa delle raccomandazioni per i widget renderizzati. –

1

Non è necessario il "supporto" per OGL fino a quando è possibile passare l'informazione corretta. Almeno su Windows, se disponi di un'API per finestre da cui puoi collegare l'HWND, puoi impostare OGL per utilizzare praticamente tutte le finestre che desideri. L'ho fatto con successo con wxWidgets e dritto win32. Non posso aiutarti con altre piattaforme, ma ho il sospetto che tu possa fare qualcosa di simile.

Questo funziona anche con D3D ed è un bel modo per separare il codice di rendering dalla tua API di windowing.

+0

Ho già fatto questo con GTK su Linux in passato. –

0

Esistono numerose librerie di widget di rendering come quelle suggerite da rotoglup. Dai un'occhiata a CEGUI e QuickGUI, potrebbero renderti felice (anche se il CEGUI mi delude dal suo abuso di XML). Ed ecco una spina spudorata: GLICT.