public void SetShaderUniforms(Shader shader) { foreach (var uniform in intUniformsByName) { shader.SetInt(uniform.Key, uniform.Value); } foreach (var uniform in floatUniformsByName) { shader.SetFloat(uniform.Key, uniform.Value); } foreach (var uniform in vec2UniformsByName) { shader.SetVector2(uniform.Key, uniform.Value); } foreach (var uniform in vec3UniformsByName) { shader.SetVector3(uniform.Key, uniform.Value); } foreach (var uniform in vec4UniformsByName) { shader.SetVector4(uniform.Key, uniform.Value); } foreach (var uniform in mat4UniformsByName) { Matrix4 value = uniform.Value; shader.SetMatrix4x4(uniform.Key, ref value); } }