00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VRS_GL2_NORMALMAPSHADER_H_
00019 #define VRS_GL2_NORMALMAPSHADER_H_
00020
00021 #include <vrs/shader.h>
00022
00023 namespace VRS {
00024 namespace GL2 {
00025
00027 class VRS_CORE_API NormalmapShader : public Shader {
00028 public:
00029 NormalmapShader() {};
00030
00031 virtual bool canBeUsed(Engine*, const MonoAttribute*) const;
00034 virtual bool isApplicableForCurrentPass(Engine*, const MonoAttribute*) const;
00037 virtual void start(Engine*, const MonoAttribute*);
00038 virtual void stop(Engine*, const MonoAttribute*);
00041 virtual bool needsPass(Engine*, const MonoAttribute*, unsigned int pass) const;
00044 virtual void preparePass(Engine*, const MonoAttribute*, unsigned int pass);
00045 virtual void finishPass(Engine*, const MonoAttribute*, unsigned int pass);
00048 virtual void eval(Engine*, const MonoAttribute*, const Shape*, unsigned int pass);
00051 virtual ID target() const;
00054 VRS_TYPEINFO(NormalmapShader, Shader);
00055 };
00056
00057 }
00058 }
00059
00060 #endif // VRS_GL2_NORMALMAPSHADER_H_