Commit Graph

6066 Commits

Author SHA1 Message Date
Robert Osfield
2567b810cf Removed TileSystem class, and added support for TerrainTile's automatically
registering and unregistering themseles with the enclosing Terrain node.
2008-03-27 13:21:36 +00:00
Robert Osfield
31bc0dd9e3 Added wrapper for TerrainTile 2008-03-27 11:56:35 +00:00
Robert Osfield
6396a156a2 Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain 2008-03-27 11:55:03 +00:00
Robert Osfield
35c5bd2c92 Renamed Terrain to TerrainTile 2008-03-27 10:55:39 +00:00
Robert Osfield
a9d283ca73 Introduce TerrainSystem node which decorates a complete terrain model made up of Terrain tiles. 2008-03-26 20:06:54 +00:00
Robert Osfield
c9fc0cd802 From Carlo Camporesi, "I have made some changes in order to allow the using of proxies via env variables and options.
I have modified also the cmakelist. In this way osg is able to find the library in 3rdParty directory."
2008-03-26 20:03:53 +00:00
Robert Osfield
1bbd899a89 Moved include of c headers to top, and remove using std::strlen in an attempt to solve gcc4.3 compile problems 2008-03-25 13:14:14 +00:00
Robert Osfield
f50b9a3c79 Added limits.h to try and avoid gcc 4.3 compile problems 2008-03-25 13:06:57 +00:00
Robert Osfield
3a1fbcd6f0 Added #include<memory> to fix gcc 4.3 build problem 2008-03-25 13:01:40 +00:00
Robert Osfield
b4245023a9 Fixed LessGeode operator. 2008-03-25 12:26:43 +00:00
Robert Osfield
600dbf5470 Added sampling down to 32x32 mesh for 64x64 height fields as a workaround to
memory consumption issues with high res whole earth paged databases.
2008-03-24 18:06:40 +00:00
Robert Osfield
df74f3ba8a Added < and > key bindings to allow the speed to be animation speed to be increased or decreased. 2008-03-23 18:28:49 +00:00
Robert Osfield
6e7a1608df Added preliminary file cache support. Enabled by setting the OSG_FILE_CACHE variable. 2008-03-21 18:35:29 +00:00
Robert Osfield
c762eeee0c Added missing break; at end of each case entry. 2008-03-21 18:31:56 +00:00
Robert Osfield
b58d59ceb7 Fixed push/popping of filepath, removed verbose debug messages 2008-03-21 15:43:53 +00:00
Robert Osfield
c26b41d125 Added better detection and error reporting of files without proper server address 2008-03-21 13:20:07 +00:00
Robert Osfield
ac63d37f7b Added initial cut of libcurl based plugin 2008-03-21 13:08:02 +00:00
Robert Osfield
f5f29a03c1 From Melchoir Franz, "osgViewer toggled the NumLock state correctly when pressing the NumLock
key, but it didn't pick up the initial state. So, if NumLock was on for
the OS at startup (LED on), it was still off for OSG. And the first
keypress turned the LED off, and NumLock on for OSG. The attached fix
picks up the state on every FocusIn, just like it was done in the last
commits for CapsLock. The difference is, that the NumLock mask isn't
standardized (e.g. 0x10 for Linux, and 0x80 for AIX), so we have to do
a reverse lookup (::rescanModifierMapping()).

Note that I could not reproduce the problem on my system, but someone
else confirmed it twice on his, and the patch fixed it for him.

Changed files:
 ./include/osgViewer/api/X11/GraphicsWindowX11
 ./src/osgViewer/GraphicsWindowX11.cpp

"
2008-03-19 21:05:38 +00:00
Robert Osfield
a51342d81e Updated wrappers 2008-03-19 12:30:50 +00:00
Robert Osfield
bbf4564103 From Sebastian Messerschimdt, Added polygon offset controls 2008-03-19 12:09:20 +00:00
Robert Osfield
5746c4ce89 Updated wrappers 2008-03-19 11:41:37 +00:00
Robert Osfield
207a0e8610 Revert the Camera::setInheritanceMask(0x) calls that were added as workaround to a bug introduced by a bug fix to the way the inhertiance mask was handled in CullVisito::apply(Camera&) 2008-03-19 11:41:21 +00:00
Robert Osfield
027b4b0986 Introduced InheritanceMaskActionOnAttributeSetting member to CullSettings, and associated applyMaskAction method that is
now used in all CullSettings::set*() methods, which by default helps disable the inheritance mask associated
with settings that are made locally.
2008-03-19 11:40:08 +00:00
Robert Osfield
945846a3ed Set the CullSettings::InhertianceMask to 0x0 as temporary measure till we
work out the best scheme to use w.r.t inhertiance of CullSettins.
2008-03-18 17:44:21 +00:00
Robert Osfield
450d5e5615 Updated wrappers 2008-03-18 15:48:48 +00:00
Robert Osfield
1d1dcf2cf3 To osg::AutoTransform added support for MinimumScale, MaximumScale and AutoScaleTransitionWidth parameters
and a new scheme for computing the scaling when using autoscale that introduces smooth
transitions to the scaling of the subgraph so that it looks more natural.
2008-03-18 15:37:38 +00:00
Robert Osfield
e74bb067fb Added ObjectRecordData to include list 2008-03-18 09:17:52 +00:00
Robert Osfield
7a7c197af3 Added minimum and maximum scale support to osg::AutoTransform 2008-03-17 15:22:03 +00:00
Robert Osfield
42e3cb6bf2 Updated wrappers 2008-03-17 12:13:20 +00:00
Robert Osfield
00f161ca35 Introduce osgParticle::ParticleSystem::s/getParticleScaleReferenceFrame() to
help manage the scaling of particles, whether they should be relative to the
local coordiante frame of the particle system, or be in world coordinates.
2008-03-17 12:09:05 +00:00
Robert Osfield
a1c0c2a3eb Added better error reporting 2008-03-15 19:27:35 +00:00
Robert Osfield
45ac890f37 Updated wrappers 2008-03-14 15:33:59 +00:00
Robert Osfield
a49ed677b5 Fixed indenting 2008-03-14 15:32:56 +00:00
Robert Osfield
45bd3802de From Melchior Franz, "Attached is a fix for remaining problems in capslock handling:
It sets osgGA's keymask when restoring keys on FocusIn, according
to the state values of XKeyEvent and XCrossingEvent. (These are
the only source for X11's current capslock state that avoids
pulling in the XKB extension.)
"
2008-03-14 15:13:08 +00:00
Robert Osfield
9c56c5277f Added cloning of the StateSet before modification to work around threading issue
relating to the StateSet being modified by the event/update thread and read from
the draw thread at the same time.
2008-03-14 13:21:35 +00:00
Robert Osfield
8be3123cbf Converted static const unsigned int definitio to enum. 2008-03-14 12:03:11 +00:00
Robert Osfield
721944194c Updated wrappers 2008-03-14 11:07:03 +00:00
Robert Osfield
292be66ecc Removed gl and glu prefixes from SceneGraphBuilder methods to avoid problems under Solaris 2008-03-13 19:44:10 +00:00
Robert Osfield
849d2fdc8f From Gino van den Bergen, "I've added a few fixes to the VRML 2.0 plugin:
1) Full DOS paths are now correctly opened by OpenVRML. A URL containing
a DOS path should be "file:///C:data/blah" rather than "file://C:data/blah".

2)  The last primitive defined in "coordIndex" is now added if the
"coordIndex" is not terminated by -1.

3) Smoothed normals are computed if no normal field is provided.
Currently, there is no support for "creaseAngle", so all edges (even the
ones sharper than the creaseAngle) are smoothed. I might add this in the
future if demand rises.

4) If an IndexedFaceSet contains only triangles or quads then the
primitive type is set to TRIANGLES or QUADS, and the primset becomes
DrawArrays rather than DrawArrayLengths.

Question: I noticed that for DrawArrays you can still provide an index
array. Would the rendering be faster if I'd create DrawElements primsets
rather than DrawArrays? Phrased differently, what is the benefit of
using DrawElements over DrawArrays, as there is clearly not a one-to-one
mapping of these concepts to their OpenGL counterparts?

5) Objects are added to the transparent bin and blend mode is enabled
only if the transparency is nonzero. Rendered transparent objects no
longer write the depth buffer."
2008-03-13 16:40:45 +00:00
Robert Osfield
110c761695 From Melchoir Franz, "ac3d.cpp does currently strip everything but the file name in
"texture" paths. This is to drop absolute paths that some
3d editors export (even AC3D itself!). But this also strips
directories of relative paths, which is wrong and contradicts
the ac3d reference implementation. (The reference implementation
doesn't strip anything, though, and so takes the absolute paths
as they are. Definitely not what we want.)

The attached solution checks absolute paths and only strips
those:

 (1)  A:\\foo\\bar.png   ->   bar.png            (as before)
 (2)  /foo/bar.png       ->   bar.png            (as before)

 (3)  foo/bar.png        ->   foo/bar.png        (new)
 (4)  ../foo/bar.png     ->   ../foo/bar.png     (new)

"
2008-03-13 16:18:03 +00:00
Robert Osfield
a460d66533 From Melchoir Franz, Caps lock support under X11 2008-03-13 16:12:46 +00:00
Robert Osfield
f1fe11f5a9 Added double versions of intersect methods 2008-03-13 16:05:40 +00:00
Robert Osfield
51f872c279 Updated wrappers 2008-03-13 16:05:20 +00:00
Robert Osfield
194a987974 From Andy Skinner, "I've taken this another step, to use value_type inside the intersect calls. I did choose to use sqrt() instead of sqrtf()." 2008-03-13 15:23:24 +00:00
Robert Osfield
a9740118db From Paul Martz, files for adding ObjectRecordData support into OpenFlight 2008-03-13 15:21:34 +00:00
Robert Osfield
e19dbe8daa From Paul Martz, "The attached preserves OpenFlight Object record data as UserData in the osg::Group corresponding to the Object record.
The files are:
    include/osgSim/ObjectRecordData -- The new class. Derives from Object to support .osg IO.
    src/osgPlugins/OpenFlight/PrimaryRecords.cpp -- Reads data into that class.
    src/osgPlugins/osgSim/IO_ObjectRecordData.cpp -- .osg IO support."

From Robert Osfield, made the OpenFlight read object record data optional via the -O readObjectRecordData ReaderWriter option.
2008-03-13 14:09:11 +00:00
Robert Osfield
3a11483ba8 Added support for assigning state to created drawables, implemented gluDisk. 2008-03-13 13:44:34 +00:00
Robert Osfield
e9b3f06c1b Updated wrappers 2008-03-12 20:20:55 +00:00
Robert Osfield
1b9cefa10f Added extra constructors 2008-03-12 20:15:45 +00:00
Robert Osfield
db256b962c Added proper implementations of OpenGL 1.0 calls to OSG object representation methods in SceneGraphBuilder. 2008-03-12 20:15:28 +00:00