Ciao.
Sto creando un piccolo engine di grafica tridimensionale .
Semplificando alla fine mi ritrovo ad avere varie entità tutte derivate da una classe entityBase.
Ho implementato questa derivazione perchè voglio mantenere tutte le entità del gioco (omini,case,terreno ecc..) in una collection e richiamando il metodo ->Draw() di ciascun entità(perchè è virtual nella classe entitybase)eseguo il rendering a video della parte geometrica dell'entità nel tipo di rendering interno all ' entità(puo' essere texture,solid,wireframe,skinned ecc...).
Il problema èche diversi tipi di rendering richiedono diversi tipi di parametri passati al metodo ->Draw(a,b,c,d ecc...).
E' una cosa in cui mi sono imbattuto piu' volte programmando in c++.
Come posso passare 3 parametri al draw di un entità lambertian cosi:
->draw(word,view,proj)
e ad un phong
->draw(word,view,proj,eye)

mantenendo tutta la struttura?
posso creare vari overload del metodo draw nel metodo virtual draw nella classe base?
E' corretto?
Lo chiedo perchè la funzione della classe base è quella di astrarre le funzionalità di tutte le classi derivate , e se faccio cosi ' separo le funzionalità , non le ragruppo .
forse è un casino mio , non sono espertissimo.
chiedo.
ciao