I try to select 3D vertex (1, 1, 1) from 2D screen, basic thought is get near and far points with gluUnproject, then use line through these two points to intersect selection point, but seems has problem with test code.
float[] win= new float[3] ; float[] world = new float[3] ; 1) GLU.gluProject(1, 1, 1, modelview, 0, project, 0, viewport, 0, win, 0); 2) GLU.gluUnProject(win[0], win[1], win[2], modelview, 0, project, 0, viewport, 0, world, 0); 3) GLU.gluProject(world[0], world[1], world[2], modelview, 0, project, 0, viewport, 0, win, 0); 1) returns correct values as screen selection, but 2) return world coordinate is not (1, 1, 1), smaller than it. Maybe because gltranslate and glrotate results on it. So 3) returns different windows screen coordinate as 1)'s. It looks gluUnproject is not invertible with gluProject. Does anybody has experience and idea to tell me how to scale 2)'s result to match real world coordinate (1, 1, 1)? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

