ehofman [Fri, 22 Aug 2003 08:07:21 +0000 (08:07 +0000)]
A patch from Frederic Bouvier which performs z-buffer ordering of the cloud layers to prevent transparency problems with other (se mi) transparent objects. Good work Frederic!
ehofman [Sat, 16 Aug 2003 12:30:25 +0000 (12:30 +0000)]
Frederic Bouvier:
This patch was inspired by Norman. Otherwise there is a segfault on Linux because the global variable tries to access OGL before a valid context is initialized.
curt [Mon, 11 Aug 2003 21:14:48 +0000 (21:14 +0000)]
Remove "glut" dependency.
- SkyContext.[ch]pp needs to query the window size, but apparently doesn't
do anything with it. We can hard wire a size and the cloud code seems to
behave fine.
- SkyLight.[ch]pp depends on glut_shapes so I copied over the code so it
can access those routines locally. (The routines that are used are
simply combining calls to libGLU.a
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.