oops, I meant to (-0.625,0.625) rather than (-1,1) On Feb 6, 10:22 am, Tim Newsham <[email protected]> wrote: > FWIW, the following unproject code seems to line up properly for me. > Notice that I had to map view coordinates to (-1.25,1.25) instead of > from (-2,2). I got these numbers empirically and have no idea why > this would be so or how close to the correct values I am. > > static void fixW(float[] v) { > for(int i = 0; i < 4; i++) > v[i] = v[i] / v[3]; > } > > public static float[] unProject(float[] win, float[] mod, float[] > proj, int[] view) { > // XXX check for invertability and w=0.0 > float[] m = multMM(proj, mod); > float[] im = new float[16]; > Matrix.invertM(im, 0, m, 0); > > // This should scale by 2f, but 1.25f seems to give > // accurate results.. I dont know why! XXX! > float[] w = new float[] { > 1.25f * ((win[0] - view[0]) / view[2] - 0.5f), > 1.25f * ((win[1] - view[1]) / view[3] - 0.5f), > 2f * win[2] - 1f, > 1f }; > float[] r = multMV(im, w); > fixW(r); > return r; > }
-- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

