public int SetUniformMatrix4(string uniformName, float[] m) { int location = GetUniformLocation(uniformName); if (location >= 0) { if (glUniformMatrix4fv == null) { glUniformMatrix4fv = OpenGL.GetDelegateFor<OpenGL.glUniformMatrix4fv>(); } glUniformMatrix4fv(location, m.Length / 16, false, m); } return location; }
/// <summary> /// /// </summary> /// <param name="program"></param> public override void SetUniform(ShaderProgram program) { this.Location = program.SetUniformMatrix4(VarName, this.value.ToArray()); }