Andy Ross writes:
> Jon S. Berndt wrote:
>  > Christian Mayer wrote:
>  > > Get a card with T&L setup (i.e. a GeForce or a Radeon). FlightGear
>  > > profits heaps from the T&L setup.
>  >
>  > How?
> 
> Presumably because most (all? I didn't check) of the geometry is
> stored in display lists.  These can be stored on-card and eliminate
> the need for per-frame vertex transfers across the AGP bus.  In modern
> hardware bus bandwidth, and not processing power is the primary
> limitter of 3D performance.
> 
> It's worth pointing out for Linux (and BSD) folks, though, that the
> DRI drivers for the Radeon don't yet support the on-card GPU.  All
> vertex transformations are still done in the CPU; the graphics
> hardware is used for texturing only.  Hopefully this will change soon.

My understanding is a bit different.

FlightGear doesn't use display lists because as I understand it, even
on a GeForce card they really have no benifit.  The display lists are
actually stored in the driver in main memory rather than on the card
so the vertex data actually has to go over the bus anyway.  So, it's
just as well to resend the data every time.

Every point in the flightgear world that gets sent to the card to be
drawn (as part of a line or triangle or whatever) needs to be run
through a matrix tranformation pipeline to transform it into screen
coordinates.  For older cards/drivers this math had to be done on the
main CPU.  The GeForce cards however can do this math on the card in
parallel with everything else.

Similar thing for lighting.  For each point you draw (or triangle
vertex with garoud shading) you must calculate the relative light
source(s) angle to the point's normal vector and run that through some
formulas to get the amount of light illuminating that point.  (There
are diffuse, specular, ambient, and emissive components to the light,
and each of these has an RGB component so the math is non trivial in
the general case.)  Again in older cards/drivers this math had to be
done by the main CPU but the GeForce does it in hardware in parallel
with everything else.

Because FlightGear stuck with basic opengl calls (and didn't try to
optimize or find shortcuts for calculating the transform and lighting
math for older less capable systems) we automatically get the
advantage of doing this on the graphics card in hardware for cards
that support it (such as the GeForce.)

That's how I understand it anyway.  Perhaps someone else can clarify
this further if my understanding is flawed.

Regards,

Curt.
-- 
Curtis Olson   IVLab / HumanFIRST Program       FlightGear Project
Twin Cities    [EMAIL PROTECTED]                  [EMAIL PROTECTED]
Minnesota      http://www.menet.umn.edu/~curt   http://www.flightgear.org

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

Reply via email to