vorrei pero prima di fare un altra domanda spiegare meglio quello che devo fare:
ho una struttura del tipo
opengl definisce un "id" che è un int ad ogni creazione di un oggetto opengl , per usare quell' oggetto ci si rifa al suo id, ma questo non fa parte della domanda.codice:struct openglDrawItem { Glint shader, Glint vba, GLint texture ecc... } e degli oggetti entità: class CColumn { . variabili di stato . . openglDrawItem m_openglDraawitem }
ho pensato di creare dei piccoli oggetti del tipo della struttura di cui sopra per alleggerire la classe Entità che contiene l'oggetto grafico(la struttura) e per svincolarmi da classi varie , quello che c'è nella struttura è tutto cio che è necessario per disegnare con opengl quel particolare elemento grafico.
il problema è che l'oggetto grafico ha dei parametri che possono cambiare e i cambiamenti vanno
fatti arrivare all oggetto program(shader il primo della lista) la logica pero' in cui i cambiamenti vengono fatti è nell' oggetto Entità CColumn .
e per fare i cambiamenti vengono invocate delle funzioni gl con i dati da mandare allo shader.
ecco , io pensavo di lasciare la logica nelle classi entità e di fare contenere alla classe di disegno un puntatore a funzione che richiama una funzione membrodella classe Entità che fa le modifiche.
Mi chiedevo anche se invece di fare un puntatore a funzione potessi usare dei puntatori e "agganciare" le variabili di stato(di comando setta colore rosso ecc..) dell oggetto entità sulla classe di disegno , quando si riperquote una modifica sulla classe entità automaticamente cambia la variabile "agganciata" e, dato che le classi di disegno vengono lette e disegnate in un ciclo infinito forse questo potrebbe essere il modo piu performante.
vado in contro a problemi se uso questo metodo dei puntatori secondo voi che siete piu esperti?
grazie.

Rispondi quotando