(bind-func shader_update_material
(lambda (shader:ShaderProgram* ambient:float* diffuse:float* emissive:float* specular:float* shininess:float)
(glUniform4fv (glGetUniformLocation (id shader) "MaterialAmbient") 1 ambient)
(glUniform4fv (glGetUniformLocation (id shader) "MaterialDiffuse") 1 diffuse)
(glUniform4fv (glGetUniformLocation (id shader) "MaterialSpecular") 1 specular)
(glUniform4fv (glGetUniformLocation (id shader) "MaterialEmissive") 1 emissive)
(glUniform1f (glGetUniformLocation (id shader) "MaterialShininess") shininess)
(glUniform1i (glGetUniformLocation (id shader) "emitVColour") XTM_EMIT_VCOLOUR)
void))