title: Convert screen coordinate to OpenGL vertex float point
body: <p>I'm using OpenGL ES 2.0 to draw free form path when user touch the screen.
  according to lots of samples in order to make an object i need to define vertex using float values of x,y,z in an array. 
  i just stumbled upon a problem that i can't define these float numbers from screen coordinate.
  i have made a Line class based on the triangle object class provided by android sample.</p>
  
  <p>for now, in my GLSurfaceView class i use onTouchEvent method then in my Renderer i use this formula to convert screen coordinate to float point.</p>
  
  <pre><code>float lineCoords[] = new float[6];
      lineCoords[0] = (float) (mPreviousX * 2.0 / WIDTH - 1.0);
      lineCoords[1] = (float) (mPreviousY * -2.0 / HEIGHT + 1.0);
      lineCoords[2] = 0.0f;
      lineCoords[3] = (float) (x * 2.0 / WIDTH - 1.0);
      lineCoords[4] = (float) (y * -2.0 / HEIGHT + 1.0);
      lineCoords[5] = 0.0f;
  </code></pre>
  
  <p>basically the formula followed the glOrtho array but the result is not satisfying because it seems like there's a vertical mirror at the center of the screen that draws the path on the right side if i touch on the left side and also the other way around.</p>
  
  <p>so, what is the <strong>best way to convert touched screen coordinate to those float x,y,z</strong>? (assuming z stay 0.0)</p>