La funzionalità di pipeline fisse è stata ritirata perché, in sostanza, è stata riparata.
Per supportare nuovi trucchi e in genere richieste nuove funzioni OpenGL, è apparso chiaro che supportare continuamente le funzionalità richieste significherebbe aumentare le dimensioni dell'API OpenGL e renderlo progressivamente sempre più ingombrante.
Nel frattempo, l'hardware stava diventando sempre più sofisticato e potente, e non era completamente sfruttato da OpenGL. Quindi la pipeline programmabile è stata concepita.
Con OpenGL3 il gruppo Kronos ha "deprecato" la funzionalità di pipeline fissa. Ciò ha causato un enorme scalpore perché c'era tanto codice e così tanto talento investito nella ben nota pipeline fissa, quindi hanno parzialmente fatto marcia indietro sulla loro decisione, introducendo i profili "core" e "compatibilità". Il profilo principale comprende il nuovo modello di pipeline programmabile e il profilo di compatibilità include il nucleo e la maggior parte/tutte le funzionalità fisse, consentendo alle applicazioni di utilizzare entrambi i modelli.
Ora siamo aperti a OpenGL 4.2 e il profilo di compatibilità è ancora lì e non mostra alcun segno di scomparsa.
In breve, il motivo della deprecazione non è perché il vecchio modello non era adatto per i programmatori di applicazioni; piuttosto, è stato un onere più pesante per gli implementatori . Il modello attuale è abbastanza solido e molte applicazioni/sviluppatori che utilizzano la funzionalità programmabile si ritrovano a reintegrare le parti fondamentali della funzionalità fissa (glBegin, glEnd, stack matrix, chiamate di trasformazione, ecc.).
Quindi, andare avanti, implementare i propri stack matrix.Ma se ti viene un'idea migliore, per favore condividi con noi :)
fonte
2012-04-05 11:25:11
Sarebbe interessante vedere quella * ragione * spiegazione. Così come il nuovo approccio preferito. – Kromster