Che sia per scopi di lavoro, istruzione, sviluppo generale o semplicemente curiosità, ci sono alcune linee guida che possono essere seguite per aiutare a scegliere i migliori progetti OpenGL®. In generale, il progetto dovrebbe avere requisiti che rientrano nella gamma di competenze del programmatore o del team che lavorerà su di esso. Inoltre, il concetto di progetto dovrebbe essere chiaro ei risultati ben definiti per evitare inutili codificazioni che potrebbero essere considerate non necessarie. Dovrebbero essere specificati anche i requisiti hardware specifici, poiché il tipo esatto di programmazione OpenGL® a volte può essere dettato dall’hardware di destinazione. Il progetto dovrebbe anche coinvolgere una sezione di OpenGL® che sia interessante per il programmatore, specialmente quando si tratta di progetti di natura prevalentemente accademica.
Uno dei primi aspetti di cui essere consapevoli quando si sceglie tra diversi progetti OpenGL® è il livello di abilità necessario per completarlo. Semplici progetti OpenGL®, come lo sviluppo di un sistema di finestre bidimensionali (2D), possono essere ottimi esercizi nello sviluppo funzionale, mentre altri progetti, come la creazione di un renderer basato sulla fisica, potrebbero richiedere un livello molto specializzato di dettagli tecnici e matematici . Le specifiche del progetto devono essere esaminate prima di essere adottate per garantire che non ci sia un singolo elemento che possa diventare un ostacolo durante il suo avanzamento.
Anche la parte effettiva di OpenGL® di cui si occupa il progetto può essere importante. Alcune parti di OpenGL®, come gli shader, sono molto complesse e talvolta richiedono un set di abilità completamente separato per essere padroneggiate. I programmatori che non sono interessati o non hanno esperienza nell’area della programmazione OpenGL® per la quale il progetto richiede potrebbero voler evitare del tutto il progetto.
Per i progetti OpenGL® che si rivolgono a piattaforme hardware specifiche, è importante sapere esattamente cos’è l’hardware e come le applicazioni scritte possono essere testate su di esso. Se l’hardware deve ancora raggiungere il mercato consumer, il progetto non può essere testato efficacemente finché non viene reso disponibile un campione dell’hardware o non viene fornito un emulatore software. Il più delle volte, è sufficiente un emulatore per l’hardware.
Quando si tratta di progetti OpenGL® che verranno utilizzati per scopi commerciali, i contratti e le altre condizioni sono generalmente stabiliti all’inizio del progetto. Questo potrebbe non essere sempre il caso dei progetti sviluppati dalla comunità e dei progetti accademici. Se esiste la possibilità che il software o il codice sorgente per il progetto venga distribuito in qualche forma, è fondamentale stabilire il contesto esatto in cui i programmatori si inseriscono nel progetto in modo che non ci siano incomprensioni legali o di altro tipo in futuro.