// FullSceneShader.cpp: implementation of the CFullSceneShader class. // ////////////////////////////////////////////////////////////////////// #include "FullSceneShader.h" #include "FullScenePShader.h" #include "FullSceneVShader.h" #include "SceneManager.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CFullSceneShader::CFullSceneShader(char *strFileName) { m_pPixelShader = new CFullScenePShader(strFileName); if(!strcmp(strFileName,"Glare")) { m_pVertexShader = new CFullSceneVShader(strFileName); } else m_pVertexShader = NULL; } void CFullSceneShader::SetOff(float fWidth,float fHeight) { if(m_pVertexShader) { m_pVertexShader->SetOff(fWidth,fHeight); } } CFullSceneShader::~CFullSceneShader() { if(m_pPixelShader) { delete m_pPixelShader; m_pPixelShader = NULL; } } void CFullSceneShader::Apply() { if(m_pPixelShader) m_pPixelShader->Apply(); } void CFullSceneShader::Apply(int i) { if(m_pPixelShader) m_pPixelShader->Apply(i); if(m_pVertexShader) m_pVertexShader->Apply(); } void CFullSceneShader::UnApply() { CSceneManager::GetDevice()->SetPixelShader(0); }