diff --git a/src/fgt/decorate_shadow/decorate_shader.h b/src/fgt/decorate_shadow/decorate_shader.h index 06218ae7d..14c531c75 100644 --- a/src/fgt/decorate_shadow/decorate_shader.h +++ b/src/fgt/decorate_shadow/decorate_shader.h @@ -22,11 +22,8 @@ ****************************************************************************/ #ifndef DECORATE_SHADER_H #define DECORATE_SHADER_H -#include -#include -#include -#include -#include +#include +#include #include #define BLUR_COEF 0.4 diff --git a/src/fgt/decorate_shadow/decorate_shadow.cpp b/src/fgt/decorate_shadow/decorate_shadow.cpp index 2cd52f942..5a839b325 100644 --- a/src/fgt/decorate_shadow/decorate_shadow.cpp +++ b/src/fgt/decorate_shadow/decorate_shadow.cpp @@ -25,23 +25,31 @@ using namespace vcg; -const QString DecorateShadowPlugin::Info(QAction *action) +QString DecorateShadowPlugin::filterInfo(QAction *action) const { switch(ID(action)){ case DP_SHOW_SHADOW : return tr("Enable shadow mapping"); case DP_SHOW_SSAO: return tr("Enable Screen Space Ambient Occlusion"); - } - assert(0); - return QString(); + default: assert(0); return QString(); + } } - -void DecorateShadowPlugin::initGlobalParameterSet(QAction *action, RichParameterSet *parset) + +QString DecorateShadowPlugin::filterName(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(); + } +} + +void DecorateShadowPlugin::initGlobalParameterSet(QAction *action, RichParameterSet &parset) { switch(ID(action)){ case DP_SHOW_SHADOW : { - assert(!(parset->hasParameter(this->DecorateShadowMethod()))); + assert(!(parset.hasParameter(this->DecorateShadowMethod()))); int method = SH_MAP_VSM_BLUR; - parset->addParam( + parset.addParam( new RichEnum( this->DecorateShadowMethod(), method, @@ -53,9 +61,9 @@ void DecorateShadowPlugin::initGlobalParameterSet(QAction *action, RichParameter } case DP_SHOW_SSAO : { - assert(!(parset->hasParameter(this->DecorateShadowSSAORadius()))); + assert(!(parset.hasParameter(this->DecorateShadowSSAORadius()))); float radius = 0.25f; - parset->addParam( + parset.addParam( new RichFloat(this->DecorateShadowSSAORadius(), radius, "Uniform parameter for SSAO shader", @@ -67,17 +75,6 @@ void DecorateShadowPlugin::initGlobalParameterSet(QAction *action, RichParameter } } -const QString DecorateShadowPlugin::ST(FilterIDType filter) const -{ - switch(filter) - { - case DP_SHOW_SHADOW : return QString("Shadow mapping"); - case DP_SHOW_SSAO : return QString("SSAO"); - default: assert(0); - } - return QString("error!"); -} - bool DecorateShadowPlugin::StartDecorate(QAction* action, MeshModel& m, RichParameterSet * parset, GLArea* gla){ bool result; switch(ID(action)){ diff --git a/src/fgt/decorate_shadow/decorate_shadow.h b/src/fgt/decorate_shadow/decorate_shadow.h index e6214ae17..805929aef 100644 --- a/src/fgt/decorate_shadow/decorate_shadow.h +++ b/src/fgt/decorate_shadow/decorate_shadow.h @@ -24,11 +24,7 @@ #define SAMPLE_DECORATE_PLUGIN_H #include -#include -#include - -#include -#include +#include #include "decorate_shader.h" #include "shadow_mapping.h" @@ -60,8 +56,8 @@ class DecorateShadowPlugin : public QObject, public MeshDecorateInterface <<"Variance shadow mapping with blur"; } - virtual QString Info(QAction *); - virtual QString ST(FilterIDType filter) const; + virtual QString filterInfo(QAction *) const; + virtual QString filterName(FilterIDType filter) const; public: @@ -72,7 +68,7 @@ public: FilterIDType tt; foreach(tt , types()){ - actionList << new QAction(ST(tt), this); + actionList << new QAction(filterName(tt), this); } QAction *ap; foreach(ap,actionList){ @@ -83,7 +79,7 @@ public: QList actions () const {return actionList;} virtual bool StartDecorate(QAction * /*mode*/, MeshModel &/*m*/, RichParameterSet * /*parent*/ par, GLArea * /*parent*/); virtual void Decorate(QAction *a, MeshModel &m, GLArea *gla,QFont qf); - virtual void initGlobalParameterSet(QAction *, RichParameterSet * /*globalparam*/); + virtual void initGlobalParameterSet(QAction *, RichParameterSet & globalparam); private: DecorateShader* _decoratorSH, *_decoratorSSAO; inline const QString DecorateShadowSSAORadius() { return "MeshLab::Decoration::SSAORadius" ; } diff --git a/src/fgt/decorate_shadow/decorate_shadow.pro b/src/fgt/decorate_shadow/decorate_shadow.pro index 58f774bc2..623eb7c1b 100644 --- a/src/fgt/decorate_shadow/decorate_shadow.pro +++ b/src/fgt/decorate_shadow/decorate_shadow.pro @@ -1,18 +1,20 @@ include (../../shared.pri) + QT += opengl -HEADERS = decorate_shadow.h \ + +HEADERS += decorate_shadow.h \ shadow_mapping.h \ - ../../../../vcglib/wrap/gui/trackball.h \ + $$VCGDIR/wrap/gui/trackball.h \ decorate_shader.h \ variance_shadow_mapping.h \ variance_shadow_mapping_blur.h \ ssao.h -SOURCES = decorate_shadow.cpp \ - shadow_mapping.cpp - ../../../../vcglib/wrap/gui/trackball.cpp \ - ../../../../vcglib/wrap/gui/trackmode.cpp \ +SOURCES += decorate_shadow.cpp \ + shadow_mapping.cpp \ + $$VCGDIR/wrap/gui/trackball.cpp \ + $$VCGDIR/wrap/gui/trackmode.cpp \ variance_shadow_mapping.cpp \ variance_shadow_mapping_blur.cpp \ ssao.cpp TARGET = decorate_shadow -RESOURCES += noise.qrc \ No newline at end of file +RESOURCES += noise.qrc diff --git a/src/fgt/decorate_shadow/shadow_mapping.cpp b/src/fgt/decorate_shadow/shadow_mapping.cpp index 3fe0e0123..031fa48bc 100644 --- a/src/fgt/decorate_shadow/shadow_mapping.cpp +++ b/src/fgt/decorate_shadow/shadow_mapping.cpp @@ -21,8 +21,9 @@ * * ****************************************************************************/ - +#include "decorate_shader.h" #include "shadow_mapping.h" +#include ShadowMapping::ShadowMapping():DecorateShader() { @@ -54,7 +55,7 @@ bool ShadowMapping::init() this->_shadowMappingProgram, this->_shadowMappingVert, this->_shadowMappingFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/sm/object"))); + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/sm/object"))); } void ShadowMapping::renderingFromLightSetup(MeshModel& m, GLArea* gla){ diff --git a/src/fgt/decorate_shadow/shadow_mapping.h b/src/fgt/decorate_shadow/shadow_mapping.h index 676176027..0b8aa48b8 100644 --- a/src/fgt/decorate_shadow/shadow_mapping.h +++ b/src/fgt/decorate_shadow/shadow_mapping.h @@ -24,8 +24,6 @@ #ifndef SHADOW_MAPPING_H_ #define SHADOW_MAPPING_H_ -#include - class ShadowMapping : public DecorateShader { diff --git a/src/fgt/decorate_shadow/ssao.cpp b/src/fgt/decorate_shadow/ssao.cpp index b0936d3ad..8428c440e 100644 --- a/src/fgt/decorate_shadow/ssao.cpp +++ b/src/fgt/decorate_shadow/ssao.cpp @@ -22,7 +22,7 @@ ****************************************************************************/ #include "ssao.h" - +#include SSAO::SSAO(float radius):DecorateShader() { this->_radius = radius; @@ -90,17 +90,17 @@ bool SSAO::init() this->_ssaoShaderProgram, this->_ssaoVert, this->_ssaoFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/ssao"))) || + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/ssao"))) || !compileAndLink( this->_normalMapShaderProgram, this->_normalMapVert, this->_normalMapFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/normalMap"))) || + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/normalMap"))) || !compileAndLink( this->_blurShaderProgram, this->_blurVert, this->_blurFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/blur")))) + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/ssao/blur")))) return false; return true; } diff --git a/src/fgt/decorate_shadow/ssao.h b/src/fgt/decorate_shadow/ssao.h index 394dbccde..9eaa686c8 100644 --- a/src/fgt/decorate_shadow/ssao.h +++ b/src/fgt/decorate_shadow/ssao.h @@ -24,14 +24,6 @@ #ifndef SSAO_H #define SSAO_H -#include -#include -#include -#include -#include -#include -#include -#include #include class SSAO : public DecorateShader diff --git a/src/fgt/decorate_shadow/variance_shadow_mapping.cpp b/src/fgt/decorate_shadow/variance_shadow_mapping.cpp index f93783bef..6dc7683ee 100644 --- a/src/fgt/decorate_shadow/variance_shadow_mapping.cpp +++ b/src/fgt/decorate_shadow/variance_shadow_mapping.cpp @@ -21,7 +21,9 @@ * * ****************************************************************************/ +#include "decorate_shader.h" #include "variance_shadow_mapping.h" +#include VarianceShadowMapping::VarianceShadowMapping():ShadowMapping() { @@ -52,12 +54,12 @@ bool VarianceShadowMapping::init() this->_depthShaderProgram, this->_depthVert, this->_depthFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsm/depthVSM"))) || + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsm/depthVSM"))) || !compileAndLink( this->_shadowMappingProgram, this->_shadowMappingVert, this->_shadowMappingFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsm/objectVSM")))) + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsm/objectVSM")))) return false; return true; diff --git a/src/fgt/decorate_shadow/variance_shadow_mapping_blur.cpp b/src/fgt/decorate_shadow/variance_shadow_mapping_blur.cpp index 45f268e46..61e12f020 100644 --- a/src/fgt/decorate_shadow/variance_shadow_mapping_blur.cpp +++ b/src/fgt/decorate_shadow/variance_shadow_mapping_blur.cpp @@ -21,7 +21,9 @@ * * ****************************************************************************/ +#include "decorate_shader.h" #include "variance_shadow_mapping_blur.h" +#include VarianceShadowMappingBlur::VarianceShadowMappingBlur():VarianceShadowMapping() { @@ -53,17 +55,17 @@ bool VarianceShadowMappingBlur::init() this->_depthShaderProgram, this->_depthVert, this->_depthFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/depthVSM"))) || + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/depthVSM"))) || !compileAndLink( this->_shadowMappingProgram, this->_shadowMappingVert, this->_shadowMappingFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/objectVSM"))) || + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/objectVSM"))) || !compileAndLink( this->_blurShaderProgram, this->_blurVert, this->_blurFrag, - MainWindowInterface::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/blurVSM")))) + PluginManager::getBaseDirPath().append(QString("/../fgt/decorate_shadow/shader/vsmb/blurVSM")))) return false; return true; }