00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef neo_render_effect_brightpass_h
00022 #define neo_render_effect_brightpass_h
00023
00024 #include "../../core/platform.h"
00025
00026 #if NEO_ENABLE_RENDER_EFFECT
00027
00028 #include "../effect.h"
00029
00030 namespace neo {
00031 namespace render {
00032
00037 namespace effect {
00038
00048 class BrightPass : public Effect
00049 {
00050 public:
00051
00053 BrightPass();
00054
00056 virtual ~BrightPass();
00057
00059
00060 void setThreshold( float threshold );
00061
00063
00066 virtual void setInput( const RenderTexturePtr& p_texture );
00067
00068 virtual void process();
00069
00070 protected:
00071
00073 RenderTexturePtr _p_input;
00074
00076 TechniquePtr _p_tech;
00077
00079 float _threshold[4];
00080
00082 float _offset[2][4];
00083
00084 virtual void setPreviousOutput( const RenderTexturePtr& p_texture );
00085 };
00086
00087 }
00088 }
00089 }
00090
00091 #endif
00092
00093 #endif