1 #ifndef H_SHADER
2 #define H_SHADER
3 
4 #include "core.h"
5 
6 struct Shader : GAPI::Shader {
7 
8     enum Type {
9         DEFAULT = 0,
10         SPRITE = 0, FLASH, ROOM, ENTITY, MIRROR,
11         FILTER_UPSCALE = 0, FILTER_DOWNSAMPLE, FILTER_DOWNSAMPLE_DEPTH, FILTER_GRAYSCALE, FILTER_BLUR, FILTER_ANAGLYPH, FILTER_EQUIRECTANGULAR,
12         WATER_DROP = 0, WATER_SIMULATE, WATER_CAUSTICS, WATER_RAYS, WATER_MASK, WATER_COMPOSE,
13         SKY_TEXTURE = 0, SKY_CLOUDS, SKY_AZURE,
14         MAX = 6
15     };
16 
ShaderShader17     Shader(Core::Pass pass, Type type, int *def, int defCount) : GAPI::Shader() {
18         init(pass, type, def, defCount);
19     }
20 
~ShaderShader21     virtual ~Shader() {
22         deinit();
23     }
24 
setupShader25     void setup() {
26         bind();
27         setParam(uViewProj,  Core::mViewProj);
28         setParam(uLightProj, Core::mLightProj);
29         setParam(uViewPos,   Core::viewPos);
30         setParam(uParam,     Core::params);
31     }
32 };
33 
34 #endif
35