Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 30th, 2012  |  syntax: C#  |  size: 0.58 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.                 public Vector2 GetMouseGridPosition() {
  2.                         Vector3 near = new Vector3(new Vector2(lastpos.X, lastpos.Y), 0);
  3.                         Vector3 far = new Vector3(new Vector2(lastpos.X, lastpos.Y), 1);
  4.  
  5.                         Viewport viewport = new Viewport(0, 0, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);
  6.                         near = viewport.Unproject(near, camera.Projection, camera.View, camera.World);
  7.                         far = viewport.Unproject(far, camera.Projection, camera.View, camera.World);
  8.  
  9.                         Vector3 nrm = Vector3.Normalize(far - near);
  10.                         Vector3 x = near - nrm * (near.Y / nrm.Y);
  11.                         return new Vector2(x.X, x.Z);
  12.                 }