title: DirectX: World to view matrix - where is my misconception?
body: <p>I'm starting with DirectX (and SharpDX, therefore programming only in C#/hlsl) and am trying to build my own camera class. It should be rotatable, allow forward and backward moving and also "sideways" movement (the classical first person movement often mapped to A and D, plus up and down in my case). For easier bugfixing model and world space are the same in my case, perspective projection is not yet implemented, as is rotating the camera, and my camera is supposed to look in the positive Z-axis (into the screen). My bugfixing model is a simple quad with 1.f width and height, z = 0 and being centered on the screen.
  <br/>
  For ease of use I found DirectX's <code>Matrix.LookAtLH()</code> and am using it to build my matrix for translation from world to view coordinates, based on positioning of my camera in world coordinates, an up-vector (for now - without rotation - always the positive Y-axis) and a target point in world coordinates.<br/>
  My (vertex)shader uses a simple multiplication with this matrix:<br/>
          <code>output.position = mul(position, worldToView);</code><br/>
  The LookAt-Matrix is calculated like this:<br/>
  <code>Matrix.LookAtLH(vec3(0, 0, -1), vec3(0, 0, 0.5f), vec3(0, 1, 0))</code><br/>
  resulting in this picture:<br/>
  <img src="https://i.stack.imgur.com/ouz22.png" alt="Camera at (0, 0, -1) looking at (0, 0, 0.5f"><br/>
  Now I want to move my camera to the right, in this case by adding 1.f to it's X-coordinate. <b>My expected result</b> is the same quad as before, having moved a little to the left.<br/>I construct a new LootAt-matrix, moving eye coordinates and target coordinates by the same vector:<br/>
  <code>Matrix.LookAtLH(vec3(1, 0, -1), vec3(1, 0, 0.5f), vec3(0, 1, 0))</code><br/>
  Resulting in this:<br/>
  <img src="https://i.stack.imgur.com/zDXt2.png" alt="Camera at (1, 0, -1) lookint at (1, 0, 0.5f"></p>
  
  <p>This get's more extreme the more I move the camera, but the center of the screen still holds the center of the quad. Is this related to my potential misconceptions of <code>Matrix.LookAtLH</code>?</p>