// Shader_ClassicBumpSpecP.cpp: implementation of the CShader_ClassicBumpSpecP class. // ////////////////////////////////////////////////////////////////////// #include "Shader_ClassicBumpSpecP.h" #include "SceneManager.h" #include "SceneStateMgr.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CShader_ClassicBumpSpecP::CShader_ClassicBumpSpecP(int iShaderValue) { if(!iShaderValue) CreatePixelShaderFromFile("c:/MP-project/Shaders/ClassicBumpSpec_Diff.psh"); else CreatePixelShaderFromFile("c:/MP-project/Shaders/ClassicBumpSpec_Spec.psh"); } CShader_ClassicBumpSpecP::~CShader_ClassicBumpSpecP() { } void CShader_ClassicBumpSpecP::Apply() { CSceneManager::GetDevice()->SetPixelShader(m_dwPixelShader); SetupPixelShaderConstants(); } void CShader_ClassicBumpSpecP::SetupPixelShaderConstants() { CSceneStateMgr::_SetD3DTextureStageState( 0, D3DTSS_MINFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 0, D3DTSS_MAGFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 0, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 0, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 0, D3DTSS_ADDRESSW, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 1, D3DTSS_MINFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 1, D3DTSS_MAGFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 1, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 1, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 1, D3DTSS_ADDRESSW, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 2, D3DTSS_MINFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 2, D3DTSS_MAGFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 2, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 2, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 2, D3DTSS_ADDRESSW, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 3, D3DTSS_MINFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 3, D3DTSS_MAGFILTER, D3DTEXF_LINEAR ); CSceneStateMgr::_SetD3DTextureStageState( 3, D3DTSS_ADDRESSU, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 3, D3DTSS_ADDRESSV, D3DTADDRESS_WRAP ); CSceneStateMgr::_SetD3DTextureStageState( 3, D3DTSS_ADDRESSW, D3DTADDRESS_WRAP ); }