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