Sto realizzando una prima versione di uno shader.
Il primo risultato =E8 confortante: schermo nero all'applicazione dello
stesso ma almeno tutto sembra essere compilato correttamente.
Il problema potrebbe essere nel modo in cui viene invocato il metodo
"render" di ogni renderplugin:
nel file glarea.cpp verso la riga 244 c'=E8:
mm->Render(rm.drawMode,rm.drawColor,rm.drawTexture);
if(iRendersList){
=09pair<QAction *,MeshRenderInterface *> p;
=09foreach(p,*iRendersList){p.second->Render(p.first->text(),*mm,rm,this);}
}
penso che questo sia un residuo precedente al cambio da plugin di
"rendering" a quelli di "decorate"
anche ammesso che questo venga cambiato, dove e come dovrei cambiare
la pipeline di rendering per fare in modo che solo la mesh venga
renderizzata dal mio plugin?
posso fare in modo che il plugin di rendering corrente (non quelli
della irenderlist) vengano chiamati prima di mm->render()
tuttavia devo anche fare in modo che subito dopo venga riattivata la
pipeline standard di opengl in modo da renderizzare correttamente lo
sfondo e i dati di contorno
se qualcuno ha qualche consiglio (o magari ci sta gi=E0 mettendo mano)
mi faccia sapere
Giorgio
|