public static float GetScrY(float x, float y, float z) { if (RenderManager.GetCurrent() == null) { return(-1); } float[] vector = new float[4]; int[] viewport = new int[] { 0, 0, RenderManager.width, RenderManager.height }; GLU.GluProject(x, y, z, RenderManager.GetCurrent()._mViewMatrix, 0, RenderManager.GetCurrent().mProjectionMatrix, 0, viewport, 0, vector, 0); if (vector[2] > 1.0f) { return(-1.0f); } else { return(viewport[3] - vector[1]); } }