From a4c72b8c7bfbe0335cd36c83f0f2f013fee1ca7a Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Mon, 5 Dec 2005 18:09:08 +0000 Subject: [PATCH] added: MeshRenderInterface *iRender; void setRender(MeshRenderInterface *); MeshRenderInterface * getRender(); --- src/meshlab/glarea.cpp | 20 +++++++++++++++++++- src/meshlab/glarea.h | 11 +++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/meshlab/glarea.cpp b/src/meshlab/glarea.cpp index 22ab9b16f..027393155 100644 --- a/src/meshlab/glarea.cpp +++ b/src/meshlab/glarea.cpp @@ -24,6 +24,12 @@ History $Log$ +Revision 1.48 2005/12/05 18:09:08 ggangemi +added: +MeshRenderInterface *iRender; +void setRender(MeshRenderInterface *); +MeshRenderInterface * getRender(); + Revision 1.47 2005/12/05 12:16:46 ggangemi iRendersList -> iDecoratorsList @@ -202,6 +208,7 @@ using namespace vcg; GLArea::GLArea(QWidget *parent) : QGLWidget(parent) { + iRender=0; //MeshRender support iDecoratorsList=0; currentTime=0; lastTime=0; @@ -388,8 +395,16 @@ void GLArea::paintGL() glColorMaterial(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE); } + if(iRender) { + iRender->Render(new QAction("Toon Shader", this), *mm, rm, this); + } + mm->Render(rm.drawMode,rm.colorMode,rm.textureMode); + if(iRender) { + glUseProgramObjectARB(0); + } + if(iDecoratorsList){ pair p; foreach(p,*iDecoratorsList){p.second->Decorate(p.first,*mm,rm,this);} @@ -658,4 +673,7 @@ void GLArea::updateFps() for (int i=0;i<10;i++) averageFps+=fpsVector[i]; cfps=1000.0f/(averageFps/10); } -void GLArea::resetTrackBall(){trackball.Reset();updateGL();} \ No newline at end of file +void GLArea::resetTrackBall(){trackball.Reset();updateGL();} + +void GLArea::setRender(MeshRenderInterface * rend) { iRender = rend; } +MeshRenderInterface * GLArea::getRender() { return iRender; } \ No newline at end of file diff --git a/src/meshlab/glarea.h b/src/meshlab/glarea.h index 762ac1f37..90f7ec2f2 100644 --- a/src/meshlab/glarea.h +++ b/src/meshlab/glarea.h @@ -24,6 +24,12 @@ History $Log$ +Revision 1.33 2005/12/05 18:09:08 ggangemi +added: +MeshRenderInterface *iRender; +void setRender(MeshRenderInterface *); +MeshRenderInterface * getRender(); + Revision 1.32 2005/12/05 12:16:46 ggangemi iRendersList -> iDecoratorsList @@ -241,6 +247,11 @@ public: void resetTrackBall(); list > *iDecoratorsList; + //shader support + MeshRenderInterface *iRender; + void setRender(MeshRenderInterface *); + MeshRenderInterface * getRender(); + protected: void initializeGL(); void initTexture();