vorrei pero prima di fare un altra domanda spiegare meglio quello che devo fare:

ho una struttura del tipo
codice:
struct openglDrawItem
{
    Glint shader,
    Glint vba,
    GLint texture ecc...

}

e degli oggetti entità:
class CColumn
{
.
variabili di stato
.
.
openglDrawItem m_openglDraawitem

}
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.

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.