diff --git a/src/meshlabplugins/render_rm/glstateholder.h b/src/meshlabplugins/render_rm/glstateholder.h index cf55f46f1..5bd977ec3 100644 --- a/src/meshlabplugins/render_rm/glstateholder.h +++ b/src/meshlabplugins/render_rm/glstateholder.h @@ -125,6 +125,7 @@ class GLStateHolder : public QObject void VarDump(); int passNumber() { return passes.size(); } + inline void reset(){ needUpdateInGLMemory = true; }; void usePassProgram( int i ) { passes[i] -> useProgram(); } }; diff --git a/src/meshlabplugins/render_rm/rmmeshrender.cpp b/src/meshlabplugins/render_rm/rmmeshrender.cpp index 4a9633f31..9fe131f1f 100644 --- a/src/meshlabplugins/render_rm/rmmeshrender.cpp +++ b/src/meshlabplugins/render_rm/rmmeshrender.cpp @@ -73,6 +73,7 @@ void RmMeshShaderRenderPlugin::Init(QAction *a, MeshModel &m, RenderMode &rm, QG if (GLEW_OK == err) { if (GLEW_ARB_vertex_program && GLEW_ARB_fragment_program) { + holder.reset(); dialog = new RmShaderDialog(&holder, parser, gla, rm); dialog->move(10,100); dialog->show(); @@ -90,7 +91,7 @@ void RmMeshShaderRenderPlugin::Render(QAction *a, MeshModel &m, RenderMode &rm, if( holder.isSupported() ) { qDebug() << "Render: " << a; - //holder.usePassProgram(0); + holder.usePassProgram(0); }