// WBWaterNormalTexGenShader.cpp: implementation of the WBWaterNormalTexGenShader class. // ////////////////////////////////////////////////////////////////////// #include "./WBWaterNormalTexGenShader.h" #include "./WBWaterNormalTexGenPAni1.h" #include "./WBWaterNormalTexGenPAni2.h" #include "./WBWaterNormalTexGenPShader.h" #include "./WBWaterNormalTexGenVShader.h" #include "./WBWaterNormalTexGenPEqualCom.h" #include "SceneManager.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// WBWaterNormalTexGenShader::WBWaterNormalTexGenShader() { m_pVShader = new WBWaterNormalTexGenVShader; m_pTexOffsetPShader = new WBWaterNormalTexGenPShader; m_pWaterAni1PShader = new WBWaterNormalTexGenPAni1; m_pWaterAni2PShader = new WBWaterNormalTexGenPAni2; m_pEqualComPShader = new WBWaterNormalTexGenPEqualCom; } WBWaterNormalTexGenShader::~WBWaterNormalTexGenShader() { if(m_pVShader != NULL) { delete m_pVShader; m_pVShader = NULL; } if(m_pTexOffsetPShader != NULL) { delete m_pTexOffsetPShader; m_pTexOffsetPShader = NULL; } if(m_pWaterAni1PShader != NULL) { delete m_pWaterAni1PShader; m_pWaterAni1PShader = NULL; } if(m_pWaterAni2PShader != NULL) { delete m_pWaterAni2PShader; m_pWaterAni2PShader = NULL; } if(m_pEqualComPShader != NULL) { delete m_pEqualComPShader; m_pEqualComPShader = NULL; } } void WBWaterNormalTexGenShader::Apply() { if(m_pVShader != NULL) m_pVShader->Apply(); } void WBWaterNormalTexGenShader::UnApply() { } void WBWaterNormalTexGenShader::PixelShaderApply(int iPS) { switch(iPS) { case WATER_TEXOFFSET: if(m_pTexOffsetPShader != NULL) m_pTexOffsetPShader->Apply(); break; case WATER_ANI1: if(m_pWaterAni1PShader != NULL) m_pWaterAni1PShader->Apply(); break; case WATER_ANI2: if(m_pWaterAni2PShader != NULL) m_pWaterAni2PShader->Apply(); break; case WATER_EQUALCOMBINE: if(m_pEqualComPShader != NULL) m_pEqualComPShader->Apply(); break; default: break; } }