We need two relatively complicated pieces of self-contained code
written to move much further with FlightGear:

1. a function that, given an ssgBranch and the current viewer
   transformation, can return the descendant of the branch (if any)
   under a specific screen coordinate; and

2. a new intersect routine that starts by looking downwards, so that a
   plane (for example) can taxi into a hangar or under a bridge
   without suddenly jumping on top.

For #1, I suspect the function would look something like this:

  ssgEntity * fgScreenSelect (ssgBranch * branch, sgMat4 &transform,
                              int screen_x, int screen_y);

I have read several Web pages describing this problem and have looked
at the relevant code in PPE as well, but I have to admit that I find
it a little too complicated for my limited math skills.  Would anyone
be willing to write something like this?  It might actually belong in
Plib rather than FlightGear or SimGear.  Once we have this, we will be
able to manipulate 3D objects (like a throttle) using the mouse, and
perhaps even adjust the position of 3D static models interactively.

For #2, we need to test for an intersection *below* the plane first,
and only then to test above in case we're underground.


Thanks, and all the best,


David

-- 
David Megginson
[EMAIL PROTECTED]


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to