Code:
void traceMouse(VECTOR *pos)
{
  vec_set(pos, mouse_dir3d);
  vec_normalize(pos, 1.0);
  vec_scale(pos, camera.z/pos.z);
  vec_add(pos, camera.x);
}


Should then be a nicer solution. Now I am really confused...^^

Edit:
Code:
void intersectMouseGroundplane(VECTOR *pos, var height)
{
  vec_set(pos, mouse_dir3d);
  vec_normalize(pos, 1.0);
  vec_scale(pos, (camera.z-height)/pos.z);
  vec_add(pos, camera.x);
}



Last edited by Slin; 08/24/11 11:22.