40 "shader/" + shaderVersion +
"/gui",
41 "render_vertexshader.vert"
47 "shader/" + shaderVersion +
"/gui",
48 "render_fragmentshader.frag"
163 void GUIShader::setGradient(
int count, array<GUIColor, 10>& colors, array<float, 10>& colorStarts,
float rotationAngle) {
168 count = Math::clamp(count, 0, 10);
170 if (count == 0)
return;
virtual int32_t loadShader(int32_t type, const string &pathName, const string &fileName, const string &definitions=string(), const string &functions=string())=0
Loads a shader.
array< float, 4 > & getEffectColorAdd(int contextIdx)
Get effect color add.
int32_t SHADER_FRAGMENT_SHADER
Matrix3x3 & getTextureMatrix(int contextIdx)
Get texture matrix.
virtual void setProgramUniformFloatVec4(int contextIdx, int32_t uniformId, const array< float, 4 > &data)=0
Set up a float vec4 uniform value.
array< float, 4 > & getEffectColorMul(int contextIdx)
Get effect color mul.
int32_t SHADER_VERTEX_SHADER
virtual int32_t createProgram(int type)=0
Creates a shader program.
virtual bool isUsingProgramAttributeLocation()=0
virtual int32_t getTextureUnit(int contextIdx)=0
Get texture unit.
virtual void setProgramAttributeLocation(int32_t programId, int32_t location, const string &name)=0
Bind attribute to a input location.
float getMaskMaxValue(int contextIdx)
Get mask max value.
virtual void setProgramUniformInteger(int contextIdx, int32_t uniformId, int32_t value)=0
Set up a integer uniform value.
virtual bool linkProgram(int32_t programId)=0
Links attached shaders to a program.
virtual void setProgramUniformFloatMatrix3x3(int contextIdx, int32_t uniformId, const array< float, 9 > &value)=0
Set up a float matrix 3x3 uniform value.
void setLighting(int contextIdx, int32_t lighting)
Set current lighting model.
virtual void attachShaderToProgram(int32_t programId, int32_t shaderId)=0
Attaches a shader to a program.
virtual int32_t getProgramUniformLocation(int32_t programId, const string &name)=0
Returns location of given uniform variable.
int32_t CONTEXTINDEX_DEFAULT
virtual void useProgram(int contextIdx, int32_t programId)=0
Use shader program.
virtual const string getShaderVersion()=0
virtual void setProgramUniformFloat(int contextIdx, int32_t uniformId, float value)=0
Set up a float uniform value.
array< int32_t, 10 > uniformGradientColors
void updateEffect()
Update effect to program.
int32_t uniformMaskTextureUnit
void setGradient(int count, array< GUIColor, 10 > &colors, array< float, 10 > &colorStarts, float rotationAngle)
Set gradient properties.
int32_t uniformEffectColorMul
void initialize()
Init shadow mapping.
int32_t uniformInverseGradientTextureMatrix
int32_t uniformEffectColorAdd
int32_t uniformMaskMaxValue
void unsetGradient()
Disable gradient.
int32_t uniformGradientAvailable
int32_t uniformMaskTextureAvailable
int32_t uniformGradientColorCount
void bindTexture(int32_t textureId)
Bind texture.
int32_t uniformDiffuseTextureUnit
void useProgram()
Use render GUI program.
void updateTextureMatrix()
Update texure matrix to program.
int32_t uniformDiffuseTextureAvailable
int32_t uniformTextureMatrix
array< int32_t, 10 > uniformGradientColorStarts
void unUseProgram()
Un use render GUI program.
Matrix3x3 class representing matrix3x3 mathematical structure and operations for 2d space.
const array< float, 9 > & getArray() const