Add renderer support for matrix uniforms.

This commit is contained in:
Paul Chote
2013-02-22 23:05:13 +13:00
parent fb3e776cb9
commit 064938378f
4 changed files with 25 additions and 0 deletions

View File

@@ -150,5 +150,18 @@ namespace OpenRA.Renderer.Glsl
Gl.glUniform2fARB(param,x,y);
ErrorHandler.CheckGlError();
}
public void SetMatrix(string name, float[] mtx)
{
if (mtx.Length != 16)
throw new InvalidDataException("Invalid 4x4 matrix");
Gl.glUseProgramObjectARB(program);
ErrorHandler.CheckGlError();
int param = Gl.glGetUniformLocationARB(program, name);
ErrorHandler.CheckGlError();
Gl.glUniformMatrix4fv(param, 1, Gl.GL_FALSE, mtx);
ErrorHandler.CheckGlError();
}
}
}