Sto provando ad imparare OpenGL. Ho esperienza con C e C++, creazione di un ambiente di costruzione e tutto il jazz, ma sto cercando di capire un buon punto di partenza.OpenGL Core e compatibilità
Sono a conoscenza della pipeline di funzioni fisse che era prominente in OpenGL < = 2.1 e sembra relativamente facile iniziare. Tuttavia, il profilo principale che OpenGL spinge in OpenGL> = 3.1 mi fa desiderare di stare lontano da FFP a causa della deprecazione. Ma sono confuso su come tutto funzioni in 3.1 e sopra. Nella 2.1 e sotto hai il tuo glBegin (GL_WHATEVER) e glEnd() quando disegni forme. La prima cosa che ho notato guardando attraverso l'API del profilo principale è che quelle due chiamate di funzione sono sparite. Mi rendo conto che probabilmente c'è una semplice sostituzione, ma è abbastanza scioccante vedere qualcosa di così (apparentemente utile) tolto da un compito così fondamentale. Sembra quasi come deprecare printf() dalla libreria c standard. E quando lavoro attraverso il nuovo Red Book, usano ancora il vecchio codice deprecato che confonde ulteriormente il mio pensiero.
Durante la lettura di varie risposte a domande simili, vedo il tipico "shader based" o "è tutto fatto con gli shader" ecc. Ecc. Se voglio disegnare un semplice quadrato bianco su uno sfondo nero (il primo esempio nel nuovissimo Red Book), non capisco come uno shader sia rilevante per disegnare una scatola. Non dovrebbero farlo ... beh .. shading? Ho cercato di acquistare Orange Book e Blue Book, ma non voglio spendere più denaro per qualcosa che nasconderà tutto dietro una libreria (il Blue Book) o qualcosa che parlerà di programmazione di uno shader per eseguire alcuni compiti di illuminazione in un ambiente 3D (l'Orange Book).
Quindi da dove iniziare? Come faccio a disegnare una scatola (o un cubo o una piramide o qualsiasi altra cosa) usando nient'altro che il profilo principale. Non sto chiedendo un frammento di codice qui, sto cercando un tutorial espansivo o un libro o qualcosa a cui qualcuno potrebbe indicarmi. Se questo è stato risposto in precedenza e non l'ho trovato, per favore reindirizza me.
Consiglierei di prendere un buon "libro" sulla moderna OpenGL. La mia prima raccomandazione sarebbe http://www.arcsynthesis.org/gltut/ che è online e gratuita. Questo dovrebbe iniziare. – Bart
È anche possibile utilizzare la pipeline programmabile in 2.0. La funzione fissa è scadente e inefficiente indipendentemente dalla versione. –
@CatPlusPlus Questa è la prima volta in cui ho sentito che chiunque si riferisca alla pipeline di funzioni fisse come inefficiente. :) Potresti voler riconsiderare quella parola.Crappy - Sono d'accordo. – Ani