1
0
Fork 0
flightgear/src
david b53cd9c59f 3D panel support from Andy Ross:
+ The panel(s) are now an first-class SSG node inside the aircraft
  scene graph.  There's a little code added to model.cxx to handle the
  parsing, but most of the changes are inside the new FGPanelNode
  class (Model/panelnode.[ch]xx).

+ The old FGPanel source changed a lot, but mostly cosmetically.  The
  virtual-cockpit code moved out into FGPanelNode, and the core
  rendering has been abstracted into a draw() method that doesn't try
  to set any OpenGL state.  I also replaced the old inter-layer offset
  code with glPolygonOffset, as calculating the right Z values is hard
  across the funky modelview matrix I need to use.  The older virtual
  panel code got away with it by disabling depth test, thus the "panel
  draws on top of yoke" bug.  PolygonOffset is really the appropriate
  solution for this sort of task anyway.

+ The /sim/virtual-cockpit property is no more.  The 2D panels are
  still specified in the -set.xml file, but 3D panels are part of the
  model file.

+ You can have as many 3D panels as you like.


Problems:

+ The mouse support isn't ready yet, so the 3D panels still aren't
  interactive.  Soon to come.

+ Being part of the same scene graph as the model, the 3D panels now
  "jitter" in exactly the same way.  While this makes the jitter of
  the attitude gyro less noticeable, it's still *very* noticeable and
  annoying.  I looked hard for this, and am at this point convinced
  that the problem is with the two orientation computations.  We have
  one in FGLocation that is used by the model code, and one in
  FGViewer that is used at the top of the scene graph.  My suspicion
  is that they don't agree exactly, so the final orientation matrix is
  the right answer plus the difference.  I did rule out the FDMs
  though.  None of them show more than about 0.0001 degree of
  orientation change between frames for a stopped aircraft.  That's
  within an order of magnitude of what you'd expect for the
  orientation change due to the rotation of the earth (which we don't
  model -- I cite it only as evidence of how small this is); far, far
  less than one pixel on the screen.

[and later]

OK, this is fixed by the attached panel.cxx file.  What's happened is
that the winding order for the text layer's polygons is wrong, so I
reverse it before drawing.  That's largely a hatchet job to make
things work for now, though.  We should figure out why the winding
order is wrong for only text layers and fix it.  I checked the plib
sources -- they're definitely doing things CCW, as is all the rest of
the panel code.

Odd.  I'm also not sure why the 2D panel doesn't care (it works in
both winding orders).  But this will allow you to check in working
code, anyway.  There's a big comment to this effect in there.
2002-06-28 14:17:40 +00:00
..
Aircraft Updates to build system to better support automake-1.5 2001-12-28 22:29:59 +00:00
Airports Mac OS X fixes and MSVC warning fixes from Jonathan Polley. 2002-05-10 23:35:06 +00:00
ATC Modified to work with new cloud properties (sort-of). 2002-05-17 19:02:43 +00:00
Autopilot Patch from Jim Wilson: 2002-06-07 20:16:54 +00:00
Cockpit 3D panel support from Andy Ross: 2002-06-28 14:17:40 +00:00
Controls Major overhaul: 2002-05-11 16:28:50 +00:00
Environment Fix two problems: 2002-06-07 14:23:09 +00:00
FDM Wrong units when interpreting <weight> tags. 2002-06-24 04:18:53 +00:00
GUI Bernie Bright: 2002-05-17 16:41:27 +00:00
Include Bernie Bright: 2002-04-25 20:31:38 +00:00
Input Bernie Bright: 2002-05-17 16:41:27 +00:00
Main Added fgAddChangeListener convenience functions. 2002-06-18 03:27:21 +00:00
Model 3D panel support from Andy Ross: 2002-06-28 14:17:40 +00:00
Navaids James Turner: 2002-06-07 21:03:27 +00:00
Network Updates to the OpenGC interface from John Wojnaroski. 2002-06-27 22:26:47 +00:00
NetworkOLK Major property-manager rewrite, using const char * throughout 2002-03-19 17:12:13 +00:00
Objects Property patches from Frederic Bouvier: 2002-05-11 00:59:26 +00:00
Scenery Jim Wilson: 2002-05-20 16:13:37 +00:00
Sound Erik Hofman: 2002-06-14 15:29:20 +00:00
Time Moved "scenery" from being declaried in scenery.cxx to being declared 2002-05-14 05:22:52 +00:00
WeatherCM Changed WeatherPrecision to double; this may help to avoid compile 2002-05-11 23:27:03 +00:00
.cvsignore -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
Makefile.am Removed configuration option --with-old-mouse and FG_OLD_MOUSE macro. 2002-05-12 00:12:19 +00:00