static extern unsafe void sfShader_setMat4UniformArray(IntPtr shader, string name, Glsl.Mat4* data, uint length);
static extern void sfShader_setBvec4Uniform(IntPtr shader, string name, Glsl.Bvec4 vector);
static extern void sfShader_setMat4Uniform(IntPtr shader, string name, Glsl.Mat4 matrix);
static extern void sfShader_setVec2Uniform(IntPtr shader, string name, Glsl.Vec2 vector);
static extern void sfShader_setIvec3Uniform(IntPtr shader, string name, Glsl.Ivec3 vector);
//////////////////////////////////////////////////////////// /// <summary> /// Specify values for <c>mat4[]</c> array uniforms /// </summary> /// <param name="name">Name of the uniform variable in GLSL</param> /// <param name="array">array of <c>mat4</c> values</param> //////////////////////////////////////////////////////////// public unsafe void SetUniformArray(string name, Glsl.Mat4[] array) { fixed (Glsl.Mat4* data = array) { sfShader_setMat4UniformArray(CPointer, name, data, (uint)array.Length); } }
//////////////////////////////////////////////////////////// /// <summary> /// Specify value for <c>mat4</c> uniform /// </summary> /// <param name="name">Name of the uniform variable in GLSL</param> /// <param name="matrix">Value of the mat4 matrix</param> //////////////////////////////////////////////////////////// public void SetUniform(string name, Glsl.Mat4 matrix) { sfShader_setMat4Uniform(CPointer, name, matrix); }
//////////////////////////////////////////////////////////// /// <summary> /// Specify value for <c>bvec4</c> uniform /// </summary> /// <param name="name">Name of the uniform variable in GLSL</param> /// <param name="vector">Value of the bvec4 vector</param> //////////////////////////////////////////////////////////// public void SetUniform(string name, Glsl.Bvec4 vector) { sfShader_setBvec4Uniform(CPointer, name, vector); }
//////////////////////////////////////////////////////////// /// <summary> /// Specify value for <c>ivec3</c> uniform /// </summary> /// <param name="name">Name of the uniform variable in GLSL</param> /// <param name="vector">Value of the ivec3 vector</param> //////////////////////////////////////////////////////////// public void SetUniform(string name, Glsl.Ivec3 vector) { sfShader_setIvec3Uniform(CPointer, name, vector); }
//////////////////////////////////////////////////////////// /// <summary> /// Specify value for <c>vec2</c> uniform /// </summary> /// <param name="name">Name of the uniform variable in GLSL</param> /// <param name="vector">Value of the vec2 vector</param> //////////////////////////////////////////////////////////// public void SetUniform(string name, Glsl.Vec2 vector) { sfShader_setVec2Uniform(CPointer, name, vector); }