getting diffuse shading uniform accross directx and opengl