CSharpGL.ShaderProgram.SetUniformMatrix4 C# (CSharp) Method

SetUniformMatrix4() public method

public SetUniformMatrix4 ( string uniformName, CSharpGL.mat4 m ) : int
uniformName string
m CSharpGL.mat4
return int
        public int SetUniformMatrix4(string uniformName, mat4[] m)
        {
            int location = GetUniformLocation(uniformName);
            if (location >= 0)
            {
                if (glUniformMatrix4fv == null) { glUniformMatrix4fv = OpenGL.GetDelegateFor<OpenGL.glUniformMatrix4fv>(); }
                var values = new float[m.Length * 16];
                for (int index = 0, i = 0; i < m.Length; i++)
                {
                    float[] array = m[i].ToArray();
                    for (int j = 0; j < 16; j++)
                    {
                        values[index++] = array[j];
                    }
                }
                glUniformMatrix4fv(location, m.Length / 16, false, values);
            }
            return location;
        }

Same methods

ShaderProgram::SetUniformMatrix4 ( string uniformName, float m ) : int

Usage Example

Beispiel #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="program"></param>
 public override void SetUniform(ShaderProgram program)
 {
     this.Location = program.SetUniformMatrix4(VarName, this.value.ToArray());
 }
All Usage Examples Of CSharpGL.ShaderProgram::SetUniformMatrix4