"L. Spiro Engine"
|
00001 00016 #ifndef __LSG_DIRECX11CBUFFER_H__ 00017 #define __LSG_DIRECX11CBUFFER_H__ 00018 00019 #include "../LSGGraphicsLib.h" 00020 #include "../ShaderLanguage/LSGShaderTranslationProcessorBase.h" 00021 00022 #ifdef LSG_DX11 00023 00024 namespace lsg { 00025 00032 class CDirectX11CBuffer { 00033 public : 00034 // == Various constructors. 00035 LSE_CALLCTOR CDirectX11CBuffer(); 00036 LSE_CALLCTOR ~CDirectX11CBuffer(); 00037 00038 00039 // == Types. 00043 typedef struct LSG_CBUFFER_UNIFORM : public CShaderTranslationProcessorBase::LSG_UNIFORM { 00047 LSUINT32 ui32BufferOffset; 00048 } * LPLSG_CBUFFER_UNIFORM, * const LPCLSG_CBUFFER_UNIFORM; 00049 00050 00051 // == Functions. 00061 LSUINT32 LSE_CALL AddUniform( const CShaderTranslationProcessorBase::LSG_UNIFORM &_uUniform, LSUINT32 _ui32Offset ); 00062 00068 const CVector<LSG_CBUFFER_UNIFORM> & LSE_CALL 00069 Uniforms() const; 00070 00071 00072 protected : 00073 // == Members. 00077 CVector<LSG_CBUFFER_UNIFORM> m_vUniforms; 00078 }; 00079 00080 00081 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00082 // DEFINITIONS 00083 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00084 00085 00086 } // namespace lsg 00087 00088 #endif // #ifdef LSG_DX11 00089 00090 #endif // __LSG_DIRECX11CBUFFER_H__