"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSGraphicsLib/Src/PostProcessing/LSGPostProcessBrightPass.h

00001 
00016 #ifndef __LSG_POSTPROCESSBRIGHTPASS_H__
00017 #define __LSG_POSTPROCESSBRIGHTPASS_H__
00018 
00019 #include "../LSGGraphicsLib.h"
00020 #include "../RenderTarget/LSGColorRenderTarget.h"
00021 #include "../ShaderLanguage/LSGShader.h"
00022 #include "CriticalSection/LSHCriticalSection.h"
00023 
00024 namespace lsg {
00025 
00032         class CPostProcessBrightPass {
00033         public :
00034                 // == Various constructors.
00035                 LSE_CALLCTOR                                                            CPostProcessBrightPass();
00036                 LSE_CALLCTOR                                                            ~CPostProcessBrightPass();
00037 
00038 
00039                 // == Functions.
00045                 LSBOOL LSE_CALL                                                         GetBright( CColorRenderTarget &_crtSrc );
00046 
00052                 LSE_INLINE CColorRenderTarget & LSE_CALL        GetBrightPassTarget();
00053 
00054 
00055         protected :
00056                 // == Members.
00060                 CColorRenderTarget                                                      m_crtBrightPass;
00061 
00065                 static CShader *                                                        m_psBrightPass;
00066 
00070                 static CCriticalSection                                         m_csCrit;
00071 
00075                 static LSUINT32                                                         m_ui32RefCount;
00076 
00080                 static CShaderBase::LSG_HANDLE                          m_hThresh;
00081 
00085                 static CShaderBase::LSG_HANDLE                          m_hDownsamples;
00086 
00087 
00088                 // == Functions.
00096                 LSBOOL LSE_CALL                                                         Init( LSUINT32 _ui32Width, LSUINT32 _ui32Height );
00097         };
00098 
00099 
00100         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00101         // DEFINITIONS
00102         // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00103         // == Functions.
00109         LSE_INLINE CColorRenderTarget & LSE_CALL CPostProcessBrightPass::GetBrightPassTarget() {
00110                 return m_crtBrightPass;
00111         }
00112 
00113 }       // namespace lsg
00114 
00115 #endif  // __LSG_POSTPROCESSBRIGHTPASS_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator