"L. Spiro Engine"
|
00001 00018 #ifndef __LSG_OPENGLDEPTHSTENCILRENDERTARGET_H__ 00019 #define __LSG_OPENGLDEPTHSTENCILRENDERTARGET_H__ 00020 00021 #include "../LSGGraphicsLib.h" 00022 #include "../RenderTarget/LSGRenderTargetBase.h" 00023 00024 #ifdef LSG_OGL 00025 00026 namespace lsg { 00027 00036 class COpenGlDepthStencilRenderTarget : public CRenderTargetBase { 00037 public : 00038 // == Various constructors. 00039 LSE_CALLCTOR COpenGlDepthStencilRenderTarget(); 00040 LSE_CALLCTOR ~COpenGlDepthStencilRenderTarget(); 00041 00042 00043 // == Functions. 00050 virtual LSBOOL LSE_CALL Activate( LSUINT32 _ui32Slot ); 00051 00052 00053 protected : 00054 // == Members. 00058 GLuint m_uiDepthId; 00059 00063 GLuint m_uiDepthStencilId; 00064 00068 GLuint m_uiStencilId; 00069 00070 00071 // == Functions. 00075 LSVOID LSE_CALL ResetApi(); 00076 00083 LSBOOL LSE_CALL CreateApiRenderTarget(); 00084 00091 LSBOOL LSE_CALL CreateNonPackedApiRenderTarget(); 00092 00099 LSBOOL LSE_CALL CreatePackedApiRenderTarget(); 00100 00106 virtual LSBOOL LSE_CALL SetAsDepthStencilRenderTarget() const; 00107 00111 virtual LSVOID LSE_CALL EndAsRenderTarget() const; 00112 }; 00113 00114 } // namespace lsg 00115 00116 #endif // #ifdef LSG_OGL 00117 00118 #endif // __LSG_OPENGLDEPTHSTENCILRENDERTARGET_H__