ehofman [Sun, 3 Aug 2003 21:23:21 +0000 (21:23 +0000)]
Norman Vine:
Note that SSG and OpenGL use different representations
of Matrices.
1) SSG is row major and OpenGL is column major
2) SSG uses a Z is up whereas conventionally OpenGL uses
Z is pointing into the screen
ie this just requires swapping the Y and the Z axis < columns >
and negating the new Y column
3) Now since SSG eventually calls OpenGL SSG must do this
for us behind the scenes or else things just wouldn't work
so inorder to get Clouds3D to render in the proper location
we should just need to use the Matrix that SSG uses for a Camera
Matrix and pass this directly to the Clouds3D Camers
Jim Wilson:
Fixed texture translation so step and scroll values work with interpolation tables as well. Moved step/scroll calculation to utility function to improve code readability.
Sync he configure script with that one from FLightGear by splitting the LIBS cariable into a base_LIBS, opengl_LIBS, network_LIBS and thread_LIBS variable
Jim Wilson:
This update adds the ability to do multiple texture transforms (Steve B. thinks supporting them at the plib level would be inefficient, which is probably true).
Removed units (e.g. "_m") from texture translation property and variable names since the texture translation values are dimensionless.
Added the ability to specify a scroll factor for stepped texture animation that needs to scroll smoothly when approaching the step interval (e.g. odometer movement).
Add a function which might return whether a texture is in video memory, delete the texture buffer after sending it to OpenGL and comment out the set/get_pixel functions
curt [Wed, 11 Jun 2003 18:55:36 +0000 (18:55 +0000)]
- Tweaks to doxygen main page.
- Added documentation for SGCloudLayer
- Updated the SGSky interface a bit to make it more sensible, flexible,
and generic. This requires a code tweak on the FlightGear side as well.
curt [Mon, 9 Jun 2003 20:19:52 +0000 (20:19 +0000)]
Make sky dome scaling values sensible (i.e. the sky dome will now fill up
the dimensions provided.) We draw the sky dome before everything else
and draw it with depth buffer off so it really doesn't matter, but it just
makes a little more sense this way.
Updated a few doxygen comments.
ehofman [Sun, 8 Jun 2003 13:19:34 +0000 (13:19 +0000)]
Jim Wilson:
1. Added support for defining arbitrary rotation axes using (x1,y1,z1), (x2,y2,z2). The center is calculated automatically (midpoint on line) or you may specify an alternate "center" using the current scheme. This makes it about 100 times easier to animate flaps, ailerons, etc.
2. Added support for plib's ssgTexTrans. This will allow more sophisticated 3D instrument features by allowing the texture mapping itself to be animated. Included function for "texrotate" and "textranslate". They configure the same as the geometry, except the arbitrary axis definition is not necessary (textures are flat).
curt [Mon, 2 Jun 2003 15:23:45 +0000 (15:23 +0000)]
Fix a bug in cloud texture state loading which caused the cloud textures to
be loaded 5 times! for a lot of wasted texture RAM. Thanks to Erik H. for
noticing the problem.
curt [Tue, 13 May 2003 19:05:09 +0000 (19:05 +0000)]
Removed non-textured and flat shaded support because it really clutters up
the API and I don't believe we'd have any hope of running at any kind of
reasonable frame rates on a non-hardware-3d accelerated box these days anyway.
curt [Wed, 7 May 2003 01:59:03 +0000 (01:59 +0000)]
Removed some extraneous debugging output. Hey, this one was subtle. Due
to const/no-const variants of the prop->getNode() method, the 2nd bool
argument was getting promoted to an int so it would match a method with
a const SGPropertyNode * as the first argument. But that made
it match the wrong version of prop->getNode() and things were failing.
Yikes! This is one I could have stared at for days to figure out so I'm
glad I caught on to the problem. :-)
curt [Tue, 6 May 2003 23:40:43 +0000 (23:40 +0000)]
- Moved some property specific code into simgear/props/
- Split out the condition code from fgfs/src/Main/fg_props and put it
in it's own source file in simgear/props/
- Created a scene subdirectory for scenery, model, and material property
related code.
- Moved location.[ch]xx into simgear/scene/model/
- The location and condition code had dependencies on flightgear's global
state (all the globals-> stuff, the flightgear property tree, etc.) SimGear
code can't depend on it so that data has to be passed as parameters to the
functions/methods/constructors.