"L. Spiro Engine"
|
00001 00021 #ifndef __LSG_RENDERTARGETBASE_H__ 00022 #define __LSG_RENDERTARGETBASE_H__ 00023 00024 #include "../LSGGraphicsLib.h" 00025 #include "LSGRenderTargetInterface.h" 00026 00027 namespace lsg { 00028 00029 // == Functions. 00034 enum LSG_RENDER_TARGET_FORMAT { 00035 LSG_RTF_RGB16, 00036 LSG_RTF_RGBA16, 00037 LSG_RTF_RGB32, 00038 LSG_RTF_RGBA32, 00039 LSG_RTF_RGB10_A2, 00040 LSG_RTF_R_F16, 00041 LSG_RTF_R_F32, 00042 LSG_RTF_RG_F32, 00043 LSG_RTF_RG_F64, 00044 LSG_RTF_RGBA_F64, 00045 LSG_RTF_RGBA_F128, 00047 LSG_RTF_DEPTH16, 00048 LSG_RTF_DEPTH24, 00049 LSG_RTF_DEPTH32, 00050 LSG_RTF_DEPTH15_STENCIL1, 00051 LSG_RTF_DEPTH24_STENCIL4, 00052 LSG_RTF_DEPTH24_STENCIL8, 00054 LSG_RTF_TOTAL 00055 }; 00056 00057 00070 class CRenderTargetBase : public CRenderTargetInterface { 00071 protected : 00072 // == Various constructors. 00073 LSE_CALLCTOR CRenderTargetBase(); 00074 00075 00076 public : 00077 // == Functions. 00083 LSE_INLINE LSG_RENDER_TARGET_FORMAT LSE_CALL 00084 GetFormat() const; 00085 00092 static LSBOOL LSE_CALL ComponentHasStencil( LSG_RENDER_TARGET_FORMAT _rtfFormat ); 00093 00094 00095 protected : 00096 // == Members. 00100 LSG_RENDER_TARGET_FORMAT m_rtfFormat; 00101 }; 00102 00103 00104 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00105 // DEFINITIONS 00106 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00107 // == Functions. 00113 LSE_INLINE LSG_RENDER_TARGET_FORMAT LSE_CALL CRenderTargetBase::GetFormat() const { return m_rtfFormat; } 00114 00115 } // namespace lsg 00116 00117 #endif // __LSG_RENDERTARGETBASE_H__