internal void SetDirection(IRenderable renderer, vec3 direction)
{
direction.y = 0;
direction = direction.normalize();
float cosRadian = direction.dot(new vec3(1, 0, 0));// (1, 0, 0) is teapot's default direction.
float radian = (float)Math.Acos(cosRadian);
if (direction.z > 0) { radian = -radian; }
renderer.RotationAngleDegree = (float)(radian * 180.0 / Math.PI);
}