ciao.
Sto implementando un pattern mvc su un engine grafico 3d.
Ho un controller un model e una view.
Il controller viene attivato ad una certa frequenza e svolge la logica dell'oggetto a cui "è attaccato" il model possiede lo stato dell'oggetto (posizione, energia ecc..).
Il controller ad una certa frequenza chiama una o piu funzioni sul model che possono ritornare oggetti(ad es matrici di trasformazione) o no.
Alla fine della logica di controllo il controller passa alla view una serie di dati per disegnare il modello.
La view è un wrapper attorno ad uno shader che ha delle risorse(texture , geometria ,costanti ecc..)e puo' essere di tipi diversi a seconda di quello che deve disegnare.
Il problema è qui , il wrapper attorno allo shader a cui accede il controller per settare i dati puo' avere varie interfacce a seconda se è uno shader per lo skinning o devo semplicemente cambiare il colore di un materiale.
E' vero che alla fine ogni shader ha delle costanti, delle texture e una geometria, ma vi è un accoppiamento forte tra il controller e lo shader , di conseguenza non posso generalizzare e dovrei utilizzare un tipo di controller e una view correlata, come se fossero due oggetti inseparabili , e questo è una parte dell' implementazione che mi piace poco.
consigli?

Rispondi quotando