2010-12-30 14 views
31

Ho appena acquistato la quinta edizione di OpenGL SuperBible. Sono molto contento di aver evitato l'uso di funzionalità deprecate ma i loro esempi utilizzano GLTools. GLTools offre una miriade di utili funzioni per il rendering di oggetti 3D semplici e la gestione delle matrici viewfrisum, camera e trasformazione.Dove posso trovare un buon tutorial OpenGL 3.0 online che non usi funzionalità deprecate?

Ciò è tanto grande, ma l'astrazione fornita nasconde dettagli di basso livello e sto avendo difficoltà a trasferirsi in codice in cui non riesco a usare GLTools - per esempio, pyopengl. La maggior parte dei tutorial che ho visto online utilizzano la modalità immediata, che sto cercando di evitare. Quelli che usano glDrawArrays fanno uso di glEnableClientState, che sto anche cercando di evitare.

Quello che sto cercando sono tutorial introduttivi completamente compatibili con OpenGL 3.x. Se quello è troppo alto di un ordine, forse una lista di lavanderia buone funzioni di "punto di partenza" sarebbe in ordine.

+0

Cosa c'è di sbagliato con strappandogli le sequenze di codice che 'GLTools' sta usando? – genpfault

risposta

41

Stare lontano da NeHe, i tutorial sono irrimediabilmente obsoleti e contengono un sacco di cose "problematiche".

Per partire con 3.x, provare quelli, sono entrambi up-to-date: Aggiornamento

Aurian (Joe Groff)

Arcsynthesis (Jason L. McKesson)

:
Rileggendo il mio post quasi 2 anni dopo, immagino che si potrebbe trovare che suona un po 'duro.

Questo naturalmente non è l'intento. Il messaggio principale (che rimane valido) che volevo dare era che NeHe si occupa ancora di OpenGL 1.x/2.xe utilizza alcune librerie "antiche" non supportate.
Generalmente, come tale, questo non significa che i tutorial siano necessariamente negativi, ma a partire da lì significherà l'avvio di due generazioni dietro l'attuale stato dell'arte, e una generazione dietro quella minima dovrebbe imparare. Imparare legacy OpenGL, in un secondo momento, ti richiederà di dimenticare quasi tutto ciò che sai e ri-imparare da zero.

Detto questo, la prima pagina di NeHe ora si collega a un tutorial focussed on OpenGL 3.3 di Damien Mabin, che sembra molto bello a prima vista (anche se non avrò il tempo di leggerlo attentamente prima del nuovo anno).

+3

Sono d'accordo, e le vecchie librerie come glaux.h non sono nemmeno più supportate. Il problema con la raccomandazione di NeHe è esacerbato dall'essere ancora il risultato numero uno di Google per "OpenGL tutorial". Non c'è da stupirsi che ci siano ancora così tanti brulicanti. –

+3

Consiglio rapido: al momento della stesura, il primo collegamento (Aurian) sembra essere un'introduzione rapida e sporca a OpenGL, mentre il secondo collegamento sembra essere una panoramica più completa, approfondita e (a mio avviso) più professionale di l'intera spec/C API. Personalmente ho trovato l'inestimabile valore dell'archsintesi. +1 da me. – Qix

+0

Inoltre: Entrambe queste esercitazioni utilizzano funzionalità precedenti e precedenti alla 3.0. – Qix

3

https://bitbucket.org/rndblnch/opengl-programmable

breve tutorial passo passo per OpenGL gasdotto programmabile (OpenGL/OpenGL | ES 2.x) per le persone già familiarità con il gasdotto fisso. dipendenze: python 2.5+, PyOpenGL 3.0.1+

Successive versioni di un piccolo ma piuttosto completo programma di glut/opengl che parte dalla modalità diretta e viene trasformato passo dopo passo per funzionare esclusivamente sulla pipeline programmabile. Osservare le differenze tra le versioni successive per evidenziare le modifiche necessarie (ad es., https://bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7).