2010-11-17 10 views
9

10 anni fa ho fatto qualche programmazione di gioco e ho usato OpenGL per la parte grafica 3d. Non era roba da poco, solo alcuni script kiddies tentano di fare un gioco :-)re-learning opengl

Ora ho bisogno di visualizzare una scena per testare gli algoritmi di elaborazione delle immagini. Mi chiedevo: cosa è cambiato in questi 10 anni? (Immagino molto?) È NeHe ancora una buona fonte o è scaduto? Ci sono buone risorse per colmare il divario?

Grazie!

risposta

7

NeHe è in fase di scrittura new tutorials. Alcune delle cose che potresti aver usato fino a 10 anni fa sono state più o meno abbandonate (i profili di compatibilità sono ancora in circolazione, ma sono deprecati) nel passaggio a una pipeline completamente programmabile e a primitive più efficienti.

Ad esempio, il passaggio dei vertici tra glBegin()/glEnd() viene lasciato indietro a favore degli oggetti del vertice del buffer e degli array dei vertici. Il vecchio modello di trasformazione e illuminazione si sta allontanando a favore degli shader dei frammenti.

Suggerirei di iniziare con Joe Groff intro to modern OpenGL e ottenere una copia di The OpenGL SuperBible, 5th edition, che copre tutti i nuovi modi di fare le cose.

5

I più grandi cambiamenti riguarderanno l'uso di shader per tutto. Se vuoi semplicemente creare scene semplici, non devi usarle.

Edit: Avendo appena ottenuto la quinta edizione di OpenGL SuperBible, posso anche echo la raccomandazione di greyfade: questa è una buona introduzione alle novità.

+0

È necessario * averli *. Se non si specifica uno shader e si ricorre alle vecchie funzioni GL tramite il profilo di compatibilità, il driver genererà una sorta di shader e lo userà automaticamente. :) Scrivere shaders da soli è più semplice. – Kos

+2

Kos, ha detto che non è necessario UTILIZZARE gli shader. E ha ragione. È ancora possibile utilizzare le vecchie chiamate alla pipeline di funzioni fisse senza conoscere nulla sugli shader e senza utilizzare esplicitamente gli shader. –

2

Ci sono nuove versioni di OpenGL in questi giorni (siamo pronti per OpenGL 4 ora), ma tutte le cose che hai fatto allora funzioneranno ancora. A meno che tu non stia facendo qualcosa di particolarmente complicato, probabilmente non avrai bisogno di fare molto per colmare il divario, anche se potresti ancora volerlo.

1

NeHe è scaduto l'ultima volta che ho controllato. Passa ancora attraverso l'impostazione di matrice del mondo, trame, opacità, nebbia, ecc. Alla pipeline fissa. Oggi tutto è fatto attraverso gli shader.

Le lezioni successive potrebbero passare attraverso gli ombreggiatori ma non dovresti iniziare da zero. Se hai fatto 3d prima dovresti essere in grado di raggiungere rapidamente gli shader.