diff --git a/src/meshlabplugins/decorate_shadow/decorate_shader.h b/src/meshlabplugins/decorate_shadow/decorate_shader.h index d4064e29c..4cd4ac866 100644 --- a/src/meshlabplugins/decorate_shadow/decorate_shader.h +++ b/src/meshlabplugins/decorate_shadow/decorate_shader.h @@ -52,7 +52,7 @@ public: this->_texH = 1024; } - //virtual ~DecorateShader(); + virtual ~DecorateShader() {} /** * Performs init commands. @@ -89,7 +89,7 @@ protected: { assert(_initOk); glClearDepth(1.0); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); glPushAttrib(GL_VIEWPORT_BIT); glViewport(0, 0, this->_texW, this->_texH); glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); @@ -125,7 +125,7 @@ protected: return; glPopAttrib(); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glBindFramebuffer(GL_FRAMEBUFFER, 0); } /** @@ -310,7 +310,6 @@ protected: * @param attachement the FBO attachment target. */ void genColorTextureEXT(GLuint& tex, GLenum attachment){ - glGenTextures(1, &tex); glBindTexture(GL_TEXTURE_2D, tex); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); @@ -320,7 +319,7 @@ protected: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, this->_texW, this->_texH, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, attachment, GL_TEXTURE_2D, tex, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, attachment, GL_TEXTURE_2D, tex, 0); } @@ -332,10 +331,10 @@ protected: */ void genDepthRenderBufferEXT(GLuint& tex){ - glGenRenderbuffersEXT(1, &tex); - glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, tex); - glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, this->_texW, this->_texH); - glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, tex); + glGenRenderbuffers(1, &tex); + glBindRenderbuffer(GL_RENDERBUFFER, tex); + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, this->_texW, this->_texH); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, tex); } @@ -361,7 +360,7 @@ protected: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL); } glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, this->_texW, this->_texH, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL); - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, tex, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, tex, 0); return; } @@ -382,13 +381,13 @@ protected: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); if(isShMap){ glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); - glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE_ARB, GL_LUMINANCE); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE_ARB, GL_COMPARE_R_TO_TEXTURE_ARB); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC_ARB, GL_LEQUAL); + glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_LUMINANCE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); } glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, this->_texW, this->_texH, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL); - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, tex, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, tex, 0); return; } }; diff --git a/src/meshlabplugins/decorate_shadow/decorate_shadow.cpp b/src/meshlabplugins/decorate_shadow/decorate_shadow.cpp index 10c31b1e4..3ff8baa07 100644 --- a/src/meshlabplugins/decorate_shadow/decorate_shadow.cpp +++ b/src/meshlabplugins/decorate_shadow/decorate_shadow.cpp @@ -27,157 +27,159 @@ using namespace vcg; QString DecorateShadowPlugin::decorationInfo(FilterIDType id) const { - switch(id){ - case DP_SHOW_SHADOW : return tr("Enable shadow mapping"); - case DP_SHOW_SSAO: return tr("Enable Screen Space Ambient Occlusion"); - default: assert(0); return QString(); - } + switch (id) { + case DP_SHOW_SHADOW: return tr("Enable shadow mapping"); + case DP_SHOW_SSAO: return tr("Enable Screen Space Ambient Occlusion"); + default: assert(0); return QString(); + } } QString DecorateShadowPlugin::decorationName(FilterIDType id) const { - switch(id){ - case DP_SHOW_SHADOW : return tr("Enable shadow mapping"); - case DP_SHOW_SSAO: return tr("Enable Screen Space Ambient Occlusion"); - default: assert(0); return QString(); - } + switch (id) { + case DP_SHOW_SHADOW: return tr("Enable shadow mapping"); + case DP_SHOW_SSAO: return tr("Enable Screen Space Ambient Occlusion"); + default: assert(0); return QString(); + } } void DecorateShadowPlugin::initGlobalParameterSet(QAction *action, RichParameterSet &parset) { - switch(ID(action)){ - case DP_SHOW_SHADOW : { - assert(!(parset.hasParameter(this->DecorateShadowMethod()))); - int method = SH_MAP_VSM_BLUR; - parset.addParam( - new RichEnum( - this->DecorateShadowMethod(), - method, - getSHMethods(), - "Shader used to perform shadow mapping decoration", - "Shadow mapping method") - ); - parset.addParam(new RichDynamicFloat(this->DecorateShadowIntensity(),0.3f,0.0f,1.0f,"Shadow Intensity","Shadow Intensity")); - break; - } + switch (ID(action)) { + case DP_SHOW_SHADOW: { + assert(!(parset.hasParameter(this->DecorateShadowMethod()))); + int method = SH_MAP_VSM_BLUR; + parset.addParam( + new RichEnum( + this->DecorateShadowMethod(), + method, + getSHMethods(), + "Shader used to perform shadow mapping decoration", + "Shadow mapping method") + ); + parset.addParam(new RichDynamicFloat(this->DecorateShadowIntensity(), 0.3f, 0.0f, 1.0f, "Shadow Intensity", "Shadow Intensity")); + break; + } - case DP_SHOW_SSAO : { - assert(!(parset.hasParameter(this->DecorateShadowSSAORadius()))); - float radius = 0.25f; - parset.addParam( - new RichFloat(this->DecorateShadowSSAORadius(), - radius, - "Uniform parameter for SSAO shader", - "SSAO radius")); - break; - } + case DP_SHOW_SSAO: { + assert(!(parset.hasParameter(this->DecorateShadowSSAORadius()))); + float radius = 0.25f; + parset.addParam( + new RichFloat(this->DecorateShadowSSAORadius(), + radius, + "Uniform parameter for SSAO shader", + "SSAO radius")); + break; + } + + default: assert(0); + } +} - default: assert(0); - } -} - bool DecorateShadowPlugin::startDecorate(QAction* action, MeshDocument& /*m*/, RichParameterSet* parset, GLArea* /*gla*/) { - bool result; - - switch(ID(action)){ - case DP_SHOW_SHADOW : - if(!parset->hasParameter(DecorateShadowMethod())){ - qDebug("Unable to find Shadow mapping method"); - assert(0); - } - switch (parset->getEnum(DecorateShadowMethod())) - { - case SH_MAP: - { - smShader= new ShadowMapping(0.1f); - this->_decoratorSH = smShader; break; - } - case SH_MAP_VSM: - { - vsmShader= new VarianceShadowMapping(0.1f); - this->_decoratorSH = vsmShader; break; - } - case SH_MAP_VSM_BLUR: - { - vsmbShader= new VarianceShadowMappingBlur(0.1f); - this->_decoratorSH = vsmbShader; break; - } - } - this->_decoratorSH->setShadowIntensity(parset->getDynamicFloat(this->DecorateShadowIntensity())); - result = this->_decoratorSH->init(); - return result; + bool result; - case DP_SHOW_SSAO: - _decoratorSSAO = new SSAO(0.1f); - this->_decoratorSSAO->setRadius(parset->getFloat(DecorateShadowSSAORadius())); - result = this->_decoratorSSAO->init(); - return result; + switch (ID(action)) + { + case DP_SHOW_SHADOW: + if (!parset->hasParameter(DecorateShadowMethod())) { + qDebug("Unable to find Shadow mapping method"); + assert(0); + } + switch (parset->getEnum(DecorateShadowMethod())) + { + case SH_MAP: + { + smShader = new ShadowMapping(0.1f); + this->_decoratorSH = smShader; break; + } + case SH_MAP_VSM: + { + vsmShader = new VarianceShadowMapping(0.1f); + this->_decoratorSH = vsmShader; break; + } + case SH_MAP_VSM_BLUR: + { + vsmbShader = new VarianceShadowMappingBlur(0.1f); + this->_decoratorSH = vsmbShader; break; + } + } + this->_decoratorSH->setShadowIntensity(parset->getDynamicFloat(this->DecorateShadowIntensity())); + result = this->_decoratorSH->init(); + return result; - default: assert(0); - } - return false; + case DP_SHOW_SSAO: + _decoratorSSAO = new SSAO(0.1f); + this->_decoratorSSAO->setRadius(parset->getFloat(DecorateShadowSSAORadius())); + result = this->_decoratorSSAO->init(); + return result; + + default: assert(0); + } + return false; } -void DecorateShadowPlugin::endDecorate( QAction * action, MeshDocument & md, RichParameterSet * parset, GLArea * gla) +void DecorateShadowPlugin::endDecorate(QAction * action, MeshDocument & md, RichParameterSet * parset, GLArea * gla) { - switch(ID(action)) - { - case DP_SHOW_SHADOW : - { - if(!parset->hasParameter(DecorateShadowMethod())) - { - qDebug("Unable to find Shadow mapping method"); - assert(0); - } - switch (parset->getEnum(DecorateShadowMethod())) - { - case SH_MAP: - { - delete smShader; - smShader = NULL; - break; - } - case SH_MAP_VSM: - { - delete vsmShader; - vsmShader = NULL; - break; - } - case SH_MAP_VSM_BLUR: - { - delete vsmbShader; - vsmbShader = NULL; - break; - } - } - _decoratorSH = NULL; - break; - } - case DP_SHOW_SSAO: - { - delete _decoratorSSAO; - _decoratorSSAO = NULL; - break; - } - default: assert(0); - } + switch (ID(action)) + { + case DP_SHOW_SHADOW: + { + if (!parset->hasParameter(DecorateShadowMethod())) + { + qDebug("Unable to find Shadow mapping method"); + assert(0); + } + switch (parset->getEnum(DecorateShadowMethod())) + { + case SH_MAP: + { + delete smShader; + smShader = NULL; + break; + } + case SH_MAP_VSM: + { + delete vsmShader; + vsmShader = NULL; + break; + } + case SH_MAP_VSM_BLUR: + { + delete vsmbShader; + vsmbShader = NULL; + break; + } + } + _decoratorSH = NULL; + break; + } + case DP_SHOW_SSAO: + { + delete _decoratorSSAO; + _decoratorSSAO = NULL; + break; + } + default: + break; + } } -void DecorateShadowPlugin::decorateDoc(QAction *action, MeshDocument &md, RichParameterSet *, GLArea *gla,QPainter *,GLLogStream &) +void DecorateShadowPlugin::decorateDoc(QAction *action, MeshDocument &md, RichParameterSet *, GLArea *gla, QPainter *, GLLogStream &) { - switch(ID(action)){ - case DP_SHOW_SHADOW : - this->_decoratorSH->runShader(md, gla); - break; + switch (ID(action)) { + case DP_SHOW_SHADOW: + this->_decoratorSH->runShader(md, gla); + break; - case DP_SHOW_SSAO: - this->_decoratorSSAO->runShader(md, gla); - break; + case DP_SHOW_SSAO: + this->_decoratorSSAO->runShader(md, gla); + break; - default: assert(0); - } + default: assert(0); + } } diff --git a/src/meshlabplugins/decorate_shadow/decorate_shadow.h b/src/meshlabplugins/decorate_shadow/decorate_shadow.h index c13dbfd48..3e09f8e06 100644 --- a/src/meshlabplugins/decorate_shadow/decorate_shadow.h +++ b/src/meshlabplugins/decorate_shadow/decorate_shadow.h @@ -81,7 +81,7 @@ public: _decoratorSSAO = new SSAO(0.1f);*/ smShader = NULL; - vsmbShader = NULL; + vsmShader = NULL; vsmbShader = NULL; _decoratorSSAO = NULL; } diff --git a/src/meshlabplugins/decorate_shadow/shadow_mapping.cpp b/src/meshlabplugins/decorate_shadow/shadow_mapping.cpp index 08b4852c0..9818e3e72 100644 --- a/src/meshlabplugins/decorate_shadow/shadow_mapping.cpp +++ b/src/meshlabplugins/decorate_shadow/shadow_mapping.cpp @@ -46,7 +46,7 @@ ShadowMapping::~ShadowMapping(){ glDeleteTextures(1, &(this->_shadowMap)); - glDeleteFramebuffersEXT(1, &_fbo); + glDeleteFramebuffers(1, &_fbo); } bool ShadowMapping::init() @@ -204,8 +204,8 @@ bool ShadowMapping::setup() if (_initOk) return true; - glGenFramebuffersEXT(1, &_fbo); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glGenFramebuffers(1, &_fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); this->genDepthMapTexture24(this->_shadowMap, true); @@ -216,8 +216,8 @@ bool ShadowMapping::setup() glReadBuffer(GL_NONE); //checks for fbo creation errors - int err = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - _initOk = (err == GL_FRAMEBUFFER_COMPLETE_EXT); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + int err = glCheckFramebufferStatus(GL_FRAMEBUFFER); + _initOk = (err == GL_FRAMEBUFFER_COMPLETE); + glBindFramebuffer(GL_FRAMEBUFFER, 0); return _initOk; } diff --git a/src/meshlabplugins/decorate_shadow/shadow_mapping.h b/src/meshlabplugins/decorate_shadow/shadow_mapping.h index 017b9254a..4cc2657e9 100644 --- a/src/meshlabplugins/decorate_shadow/shadow_mapping.h +++ b/src/meshlabplugins/decorate_shadow/shadow_mapping.h @@ -30,7 +30,7 @@ class ShadowMapping : public DecorateShader public: ShadowMapping(float); - ~ShadowMapping(); + virtual ~ShadowMapping(); /** * Performs init commands. diff --git a/src/meshlabplugins/decorate_shadow/ssao.cpp b/src/meshlabplugins/decorate_shadow/ssao.cpp index dcd2e598b..cefb56026 100644 --- a/src/meshlabplugins/decorate_shadow/ssao.cpp +++ b/src/meshlabplugins/decorate_shadow/ssao.cpp @@ -73,15 +73,15 @@ SSAO::~SSAO(){ glDeleteShader(this->_blurFrag); glDeleteProgram(this->_blurShaderProgram); - glDeleteTexturesEXT(1, &(this->_color1)); - glDeleteTexturesEXT(1, &(this->_depthMap)); + glDeleteTextures(1, &(this->_color1)); + glDeleteTextures(1, &(this->_depthMap)); - glDeleteFramebuffersEXT(1, &(this->_depth)); - glDeleteTexturesEXT(1, &(this->_color2)); - glDeleteTexturesEXT(1, &(this->_color2)); + glDeleteFramebuffers(1, &(this->_depth)); + glDeleteTextures(1, &(this->_color2)); + glDeleteTextures(1, &(this->_color2)); - glDeleteFramebuffersEXT(1, &_fbo); - glDeleteFramebuffersEXT(1, &_fbo2); + glDeleteFramebuffers(1, &_fbo); + glDeleteFramebuffers(1, &_fbo2); } bool SSAO::init() @@ -132,7 +132,7 @@ void SSAO::runShader(MeshDocument& md, GLArea* gla) mProj.transposeInPlace(); mInverseProj = vcg::Inverse(mProj); - glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); MLRenderingData dt; MLRenderingData::RendAtts atts; @@ -153,7 +153,7 @@ void SSAO::runShader(MeshDocument& md, GLArea* gla) /***********************************************************/ //SSAO PASS /***********************************************************/ - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo2); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo2); glUseProgram(this->_ssaoShaderProgram); glEnable(GL_TEXTURE_2D); @@ -182,7 +182,7 @@ void SSAO::runShader(MeshDocument& md, GLArea* gla) GLuint invMatrixLoc = glGetUniformLocation(this->_ssaoShaderProgram, "invProj"); glUniformMatrix4fv(invMatrixLoc, 1, 0, mInverseProj.transpose().V()); - glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLE_STRIP); glVertex3f(-1.0f, -1.0f, 0.0f); @@ -195,7 +195,7 @@ void SSAO::runShader(MeshDocument& md, GLArea* gla) /***********************************************************/ //BLURRING horizontal /***********************************************************/ - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); glUseProgram(this->_blurShaderProgram); float blur_coef(0.8f); @@ -209,7 +209,7 @@ void SSAO::runShader(MeshDocument& md, GLArea* gla) loc = glGetUniformLocation(this->_blurShaderProgram, "scene"); glUniform1i(loc, 0); - glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLE_STRIP); glVertex3f(-1.0f, -1.0f, 0.0f); @@ -254,14 +254,14 @@ bool SSAO::setup() return true; //genero i 2 framebuffer object che mi servono. - glGenFramebuffersEXT(1, &_fbo); - glGenFramebuffersEXT(1, &_fbo2); + glGenFramebuffers(1, &_fbo); + glGenFramebuffers(1, &_fbo2); //attacco il primo...adesso le modifiche andranno a modificare solo _fbo - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); //Generates first color texture - this->genColorTextureEXT(this->_color1, GL_COLOR_ATTACHMENT0_EXT); + this->genColorTextureEXT(this->_color1, GL_COLOR_ATTACHMENT0); this->genDepthMapTexture24(this->_depthMap, false); @@ -269,17 +269,17 @@ bool SSAO::setup() glDrawBuffersARB(0, drawBuffers); - int err = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - _initOk = (err == GL_FRAMEBUFFER_COMPLETE_EXT); + int err = glCheckFramebufferStatus(GL_FRAMEBUFFER); + _initOk = (err == GL_FRAMEBUFFER_COMPLETE); if(!this->_initOk) return this->_initOk; //attacco il secondo fbo...adesso le modifiche andranno a modificare solo _fbo2 - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo2); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo2); //Generates first color texture - this->genColorTextureEXT(this->_color2, GL_COLOR_ATTACHMENT0_EXT); + this->genColorTextureEXT(this->_color2, GL_COLOR_ATTACHMENT0); //Generates render buffer for depth attachment this->genDepthRenderBufferEXT(this->_depth); @@ -290,10 +290,10 @@ bool SSAO::setup() this->loadNoiseTxt(); - err = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - _initOk = (err == GL_FRAMEBUFFER_COMPLETE_EXT); + err = glCheckFramebufferStatus(GL_FRAMEBUFFER); + _initOk = (err == GL_FRAMEBUFFER_COMPLETE); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glBindFramebuffer(GL_FRAMEBUFFER, 0); return _initOk; } diff --git a/src/meshlabplugins/decorate_shadow/variance_shadow_mapping.cpp b/src/meshlabplugins/decorate_shadow/variance_shadow_mapping.cpp index 63b55267f..b08bfbd1f 100644 --- a/src/meshlabplugins/decorate_shadow/variance_shadow_mapping.cpp +++ b/src/meshlabplugins/decorate_shadow/variance_shadow_mapping.cpp @@ -37,6 +37,7 @@ VarianceShadowMapping::VarianceShadowMapping(float intensity):ShadowMapping(inte } VarianceShadowMapping::~VarianceShadowMapping(){ + glDetachShader(this->_depthShaderProgram, this->_depthVert); glDetachShader(this->_depthShaderProgram, this->_depthFrag); @@ -44,7 +45,7 @@ VarianceShadowMapping::~VarianceShadowMapping(){ glDeleteShader(this->_depthFrag); glDeleteProgram(this->_depthShaderProgram); - glDeleteFramebuffersEXT(1, &(this->_depth)); + glDeleteRenderbuffers(1, &(this->_depth)); } bool VarianceShadowMapping::init() @@ -167,18 +168,18 @@ bool VarianceShadowMapping::setup() return true; //genero il frame buffer object - glGenFramebuffersEXT(1, &_fbo); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glGenFramebuffers(1, &_fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); //Generates texture color for variance shadow map - this->genColorTextureEXT(this->_shadowMap, GL_COLOR_ATTACHMENT0_EXT); + this->genColorTextureEXT(this->_shadowMap, GL_COLOR_ATTACHMENT0); //Generates render buffer for depth attachment this->genDepthRenderBufferEXT(this->_depth); //checks for errors - int err = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - _initOk = (err == GL_FRAMEBUFFER_COMPLETE_EXT); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + int err = glCheckFramebufferStatus(GL_FRAMEBUFFER); + _initOk = (err == GL_FRAMEBUFFER_COMPLETE); + glBindFramebuffer(GL_FRAMEBUFFER, 0); return _initOk; } diff --git a/src/meshlabplugins/decorate_shadow/variance_shadow_mapping_blur.cpp b/src/meshlabplugins/decorate_shadow/variance_shadow_mapping_blur.cpp index f13649af0..38bd78f60 100644 --- a/src/meshlabplugins/decorate_shadow/variance_shadow_mapping_blur.cpp +++ b/src/meshlabplugins/decorate_shadow/variance_shadow_mapping_blur.cpp @@ -43,8 +43,8 @@ VarianceShadowMappingBlur::~VarianceShadowMappingBlur(){ glDeleteShader(this->_blurFrag); glDeleteProgram(this->_blurShaderProgram); - glDeleteTexturesEXT(1, &(this->_blurH)); - glDeleteTexturesEXT(1, &(this->_blurV)); + glDeleteTextures(1, &(this->_blurH)); + glDeleteTextures(1, &(this->_blurV)); } bool VarianceShadowMappingBlur::init() @@ -96,7 +96,7 @@ void VarianceShadowMappingBlur::runShader(MeshDocument& md, GLArea* gla){ this->bind(); glUseProgram(this->_depthShaderProgram); - glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); foreach(MeshModel *m, md.meshList) { @@ -123,7 +123,7 @@ void VarianceShadowMappingBlur::runShader(MeshDocument& md, GLArea* gla){ GLuint loc = glGetUniformLocation(this->_blurShaderProgram, "scene"); glUniform1i(loc, 0); - glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLE_STRIP); @@ -144,7 +144,7 @@ void VarianceShadowMappingBlur::runShader(MeshDocument& md, GLArea* gla){ loc = glGetUniformLocation(this->_blurShaderProgram, "scene"); glUniform1i(loc, 0); - glDrawBuffer(GL_COLOR_ATTACHMENT2_EXT); + glDrawBuffer(GL_COLOR_ATTACHMENT2); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glBegin(GL_TRIANGLE_STRIP); @@ -206,17 +206,17 @@ bool VarianceShadowMappingBlur::setup() return true; //genero il frame buffer object - glGenFramebuffersEXT(1, &_fbo); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fbo); + glGenFramebuffers(1, &_fbo); + glBindFramebuffer(GL_FRAMEBUFFER, _fbo); //Generates texture color for variance shadow map - this->genColorTextureEXT(this->_shadowMap, GL_COLOR_ATTACHMENT0_EXT); + this->genColorTextureEXT(this->_shadowMap, GL_COLOR_ATTACHMENT0); //Generates texture color for horizontal blur - this->genColorTextureEXT(this->_blurH, GL_COLOR_ATTACHMENT1_EXT); + this->genColorTextureEXT(this->_blurH, GL_COLOR_ATTACHMENT1); //Generates texture color for vertical blur - this->genColorTextureEXT(this->_blurV, GL_COLOR_ATTACHMENT2_EXT); + this->genColorTextureEXT(this->_blurV, GL_COLOR_ATTACHMENT2); //Generates render buffer for depth attachment this->genDepthRenderBufferEXT(this->_depth); @@ -226,8 +226,8 @@ bool VarianceShadowMappingBlur::setup() glDrawBuffersARB(3, drawBuffers); //checks for errors - int err = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); - _initOk = (err == GL_FRAMEBUFFER_COMPLETE_EXT); - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + int err = glCheckFramebufferStatus(GL_FRAMEBUFFER); + _initOk = (err == GL_FRAMEBUFFER_COMPLETE); + glBindFramebuffer(GL_FRAMEBUFFER, 0); return _initOk; }