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
-~----------~----~----~----~------~----~------~--~---

Reply via email to