// Shader_SelfShadowP.h: interface for the CShader_SelfShadowP class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SHADER_SELFSHADOWP_H__BD6993E5_F53E_4652_9946_80CB1EB907ED__INCLUDED_) #define AFX_SHADER_SELFSHADOWP_H__BD6993E5_F53E_4652_9946_80CB1EB907ED__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "ShaderScene.h" enum SELFSHADOW { SELFSHADOW_ATI = 0, SELFSHADOW_NV = 1, SELFSHADOWNUM, }; class CShader_SelfShadowP : public CPixelShader { public: CShader_SelfShadowP(); virtual ~CShader_SelfShadowP(); virtual void Apply(); virtual void SetupPixelShaderConstants(); void BeginShadowMap(); void EndShadowMap(); protected: LPDIRECT3DSURFACE8 m_pBackBuffer; LPDIRECT3DSURFACE8 m_pZBuffer; D3DVIEWPORT8 m_BackViewPort; D3DVIEWPORT8 m_ShadowMapViewPort; LPDIRECT3DSURFACE8 m_pColorSurf,m_pZSurf; LPDIRECT3DTEXTURE8 m_pColorTex,m_pZTex; LPDIRECT3DTEXTURE8 m_pLookupMap; int m_Depth; int m_iSelfShadowVersion; }; #endif // !defined(AFX_SHADER_SELFSHADOWP_H__BD6993E5_F53E_4652_9946_80CB1EB907ED__INCLUDED_)