Over the weekend, I finished my first take on dynamically-placed
scenery objects.  I'm attaching two screenshots:

1. Approaching a city over some woods, with a pasture in-between.

   http://www.megginson.com/flightsim/dynamic-01.png

2. Sitting on a lake, pretending to be a floatplane.

   http://www.megginson.com/flightsim/dynamic-02.png

This is not, primarily, designed to be eye candy (well, only a bit of
it is).  Dynamic objects like buildings and trees serve several very
important purposes during VFR flight:

a. They give some indication of altitude AGL and groundspeed.  Even at
   low altitude Trees get very small very fast; if they're big and
   there's not a runway in your windshield, add power and pull up.

b. They provide aiming points for turns and straight flight (i.e. to
   turn 90 degrees, look off your wing, pick and object, and then fly
   towards it).  For example, it is much easier to hold a compass
   heading if you turn to the heading, pick an object off the nose,
   then keep that object off the nose than if you constantly chase the
   compass around.

c. (not so nice) They cause very confusing illusions because of drift
   when flying near the ground.  It is easy for a pilot to get into a
   spin or spiral by banking too steeply because the plane doesn't
   seem to be turning much.

Right now, I've added only a few dynamic object types, so it's a bit
monotonous.  Over the next week or two, I'll try to introduce a
greater variety of buildings and trees, at least, and maybe a few pure
eye-candy things like boats out in lakes.  All non-billboarded dynamic
objects also currently face the same way; I plan to fix that in the
next day or two.

I've made very aggressive use of LOD to keep the framerates up; for
example, trees are visible only from a range of 2000m and large
buildings from 10000m; I also slap a range on all the objects on each
triangle or fan, so that plib won't have to do hundreds or thousands
of LOD calculations for objects that are far out of range.  Even then,
trees cannot be too dense.

NOTE: Dynamic objects are off by default.  After you update the
FlightGear and base-package CVS, you will have to set the property
/sim/rendering/dynamic-objects to true to see anything (if you change
it during the program run, you'll have to reload the scenery).
Depending on the terrain, visibility, and altitude AGL, you may
experience slow framerates for a few seconds while FlightGear places
dynamic objects on all the tiles; just wait, and everything will speed
up again shortly.

Special thanks to Curt, whose ground-lighting code I
stole^H^H^H^H^Hused as inspiration to calculate object placement.


All the best,


David

-- 
David Megginson, [EMAIL PROTECTED], http://www.megginson.com/

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

Reply via email to