Per il mio primo endevor di grandi dimensioni in Open-GL sto facendo un simulatore di sorta. Ho funzionato molte delle funzionalità di base, ma di recente ho riscontrato un problema. Come da allora ho realizzato, inizialmente ho progettato il programma in modo che ogni oggetto nel simulatore avesse una sua classe che ne memorizzasse la posizione, la trama, il codice di disegno, ecc. Questo divenne un problema, tuttavia, quando cominciai a creare molti oggetti di lo stesso tipo, come ho capito rapidamente che ho scritto le classi per ricaricare una nuova istanza dei dati di texture per ogni istanza di un oggetto. Per risolvere questo problema ho preso in considerazione l'idea di creare una classe di ordinamento del database di texture semplice che conterrebbe un puntatore a una singola istanza di ciascun dato di texture dell'oggetto che ogni istanza dell'oggetto copierà al momento della sua creazione.
Il problema qui è che molte classi diverse nel simulatore creano oggetti e io sono titubante nel memorizzare semplicemente la classe del database delle texture nella parte superiore della gerarchia del programma e passarla a tutte le funzioni che creano un oggetto, come ritengo che questo diventerà molto complesso molto velocemente. Invece, ritengo sarebbe meglio avere una classe contenitore globale che tenga traccia dei puntatori di trama, ma non sono sicuro di come potrei memorizzare i puntatori senza istanziare un'istanza del contenitore che richiederebbe di passarla dappertutto . Spero che ci sia una soluzione più elegante e semplice che sto trascurando, altrimenti proverò come ho descritto. In alternativa, se sembra che una ristrutturazione del simulatore sia la migliore, non è fuori discussione, ma gradirei qualsiasi consiglio.