"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECTX9DEPTHSTENCILRENDERTARGET_H__ 00017 #define __LSG_DIRECTX9DEPTHSTENCILRENDERTARGET_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../RenderTarget/LSGRenderTargetBase.h" 00021 #include "LSGDirectX9LosableResource.h" 00022 00023 #ifdef LSG_DX9 00024 00025 namespace lsg { 00026 00033 class CDirectX9DepthStencilRenderTarget : public CRenderTargetBase, public CDirectX9LosableResource { 00034 friend class CDirectX9RenderTargetManager; 00035 public : 00036 // == Functions. 00043 virtual LSBOOL LSE_CALL Activate( LSUINT32 _ui32Slot ); 00044 00045 00046 protected : 00047 // == Various constructors. 00048 LSE_CALLCTOR CDirectX9DepthStencilRenderTarget(); 00049 LSE_CALLCTOR ~CDirectX9DepthStencilRenderTarget(); 00050 00051 00052 // == Members. 00053 00057 IDirect3DSurface9 * m_pd3s9Surface; 00058 00059 00060 // == Functions. 00064 virtual LSVOID LSE_CALL OnDeviceLost(); 00065 00071 virtual LSBOOL LSE_CALL OnDeviceReset(); 00072 00076 LSVOID LSE_CALL ResetApi(); 00077 00084 LSBOOL LSE_CALL CreateApiRenderTarget(); 00085 00091 virtual LSBOOL LSE_CALL SetAsDepthStencilRenderTarget() const; 00092 00096 virtual LSVOID LSE_CALL EndAsRenderTarget() const; 00097 }; 00098 00099 00100 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00101 // DEFINITIONS 00102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00103 00104 00105 } // namespace lsg 00106 00107 #endif // #ifdef LSG_DX9 00108 00109 #endif // __LSG_DIRECTX9DEPTHSTENCILRENDERTARGET_H__