Commit Graph

3373 Commits

Author SHA1 Message Date
Robert Osfield
3246dde716 From Brede Johansen, new OpenFlight plugin!!!!!
By default the original flt plugin is still used, to select at runtime
the new plugin set the env OSG_OPEN_FLIGHT_PLUGIN=new
2006-03-08 21:38:37 +00:00
Robert Osfield
4fc4e60cc3 From Bob Kuehne, added osg::getGlVersion() and fixed a minor typo in Texture3D. 2006-03-08 16:11:54 +00:00
Robert Osfield
fa5ff9d169 Added EventQueue. 2006-03-08 15:40:02 +00:00
Robert Osfield
7604146d3f From Farshid Lashkari, "A while back the behaviour of extension alias' was modified so that
the user can override existing alias'. The change allowed for circular
references, so the createLibraryNameForExtension would get caught in
an endless loop. The following fix will catch circular references."
2006-03-08 15:30:07 +00:00
Robert Osfield
c69c9d2070 From Farshid Lashkari, "I noticed that sometimes when a particle emitter is re-enabled, a few
particles will appear at the location it was disabled at. The problem
is that the previous local to world matrix is not being updated while
it is disabled. I modified the particle processor so that it will set
the dirty flag for the previous local to world matrix when the
processor is skipped for a frame, since the value will no longer be
relevant."
2006-03-08 15:26:39 +00:00
Robert Osfield
02f5681180 From Roger James, "1. Fixed a problem with the caching of textures when the associated image file was not in the current working directory. In this case the texture object was being placed in the cache with the short filename, but was looked up with the full path.
2. Fixed a problem with the caching of textures when CACHE_IMAGES was enabled. This caused a conflict is the names used to cache the image and texture objects.

3. Fixed a problem where AC3D generates surfaces with duplicate vertex indices.

4. Removed what I believe are redundant calls to the tesselator.

5. Added a couple of asserts which should fire in debug mode if my assumptions about 4. are incorrect.

6. Removed obviously unused code. (Stuff that was commented or ifdeffed out.)"

Note, from Robert Osfield, changed the asserts to if () report error using notify so we can catch errors in both optimized and debug builds, but without crashing.
2006-03-08 15:16:59 +00:00
Robert Osfield
dbbabf87c6 Converted osgGA::GUIEventAdapter into a concrete class capable of respresenting
keyboard and mouse events.

Added osgGA::EventQueue class to support a thread safe event queue and adaption
of keyboard and mouse events.

Removed osgProducer::EventAdapter as GUIEventAdapter replaces it.

Adapted osgProducer and examples to work with the new changes to osgGA.
2006-03-08 14:09:47 +00:00
Don BURNS
582967286a Improved the GET protocol for the http socket. By adding Connection: close
the server sends a EOF immediately after the data, improving performance
because readers are not left waiting for EOF.
2006-03-07 18:26:32 +00:00
Robert Osfield
cdc8b13f14 From Farshid Lashkari, support for writing to istream for the the TIFF plugin and support for
controlling PNG compression level via the the ReaderWriter::Option string "PNG_COMPRESSION <level>"
2006-03-02 20:39:20 +00:00
Robert Osfield
8796f37acb Added automatic toggling between png and jpeg when compressImageData option is used. Jpeg
is used to compress RGB data only, the just of the formats are passed on to the png plugin.
2006-03-02 20:31:40 +00:00
Robert Osfield
507fb0074f From Farshid Lashakari, support for png write. 2006-03-02 14:58:13 +00:00
Robert Osfield
74f073c2a8 From Farshid Lashkari, "I've attached another modified version of the IVE loader which
supports compressing the image data. The option to compress the data
is "compressImageData". Currently it uses the jpeg plugin to write the
image. Maybe we could add an option that allows the user to specify
which image format to use. The jpeg writer supports specifying the
quality of the jpeg, so you could use the following command line to
convert the skydome.osg model to IVE using 50% jpeg quality:

osgconv -O "compressImageData JPEG_QUALITY 50" skydome.osg skydome.ive"
2006-03-01 10:17:53 +00:00
Robert Osfield
58bdc6f92f Added TextureRectangle.cpp 2006-02-28 21:18:45 +00:00
Robert Osfield
c64f527925 From Brede Johansen, added missing array handling into Geometry::accept(AttributeFunctor&
af) and Geometry::accept(ConstAttributeFunctor& af).
2006-02-28 19:46:02 +00:00
Robert Osfield
93f514109f Further clean up of RefNodePath references. 2006-02-28 19:36:18 +00:00
Robert Osfield
0d9ba0283e Updated wrappers. 2006-02-28 19:12:27 +00:00
Robert Osfield
deb6632b04 Fixes to removed dependency on RefNodePath. 2006-02-28 18:54:29 +00:00
Robert Osfield
a8255f6932 Updated wrappers. 2006-02-27 19:51:32 +00:00
Robert Osfield
abed6b7951 Ported NodeTrackCallback and NodeTrackManipulator across to use oberserver_ptr
instead of RefNodePath.

Removed now redundent RefNodePath.
2006-02-27 19:49:47 +00:00
Robert Osfield
1dcf4fe81f Added support in osg::computeWorldToLocal and compteLocalToWorld functions for automatically
stripping any absolute or root CameraNode's from the NodePaths.

Added osg::Node::getWorldMatrices() convinience method.
2006-02-27 19:48:34 +00:00
Robert Osfield
8f2ffb7c2d Added new observer_ptr templated smart pointer to allow one to retain pointers
to objects but have the pointer reset to null if that object is deleted.
2006-02-27 19:44:33 +00:00
Robert Osfield
10d139fc1f From Farshid Lashkari, "I've made some changes to the IVE loader which will add the capability
of saving image files inside the IVE file. Currently, only the raw
image data is saved into the file. If your model uses jpg images as
textures then this will cause your file size to increase.

I've added an option that will embed the original image file into the
IVE file. The IVE file will then attempt to read the image from
memory. Since most image loaders support reading from memory, this
shouldn't be a problem. To use this new feature the user must specify
the option "includeImageFileInIVEFile" when converting to IVE.

I tested this out on the "skydome.osg" model that comes with OSG.
Using the old method, the IVE file size would be 785 KB, with the new
method it is only 42 KB.

Also, I've added the support for TextureRectangle's to the IVE reader/writer."
2006-02-26 17:45:52 +00:00
Robert Osfield
4b4c77c420 Added clamping of the wind force contribution to acceletion of particle so
that the de-acceleration never exceed the actual wind vector itself.
2006-02-24 13:56:07 +00:00
Robert Osfield
964110f315 Completed .osg support for ClusterCullingCallback. 2006-02-23 20:37:19 +00:00
Robert Osfield
9c350a49be Disabled the running of tristripping and smoothing from within the Simplifier. 2006-02-23 16:47:36 +00:00
Robert Osfield
cc235b7a1a Updated wrappers. 2006-02-22 19:28:34 +00:00
Robert Osfield
def7a78842 Fixed typo of Validity. 2006-02-22 19:14:01 +00:00
Robert Osfield
94b4432831 From Thom Carlo, with tweak from Robert Osfield, removed the setting of the outline colour
(the emission part of material) during setup of the Carton effects for the second pass.
2006-02-22 16:05:37 +00:00
Robert Osfield
32b929a493 Added support for OpenGL mode black listing to provide better support
for extension checking and invalidation of OpenGL modes associated with
extensions.
2006-02-22 14:31:13 +00:00
Robert Osfield
ae9e0e6838 Added initial cut of ClusterCullingCallback .osg support. 2006-02-21 21:28:57 +00:00
Robert Osfield
25abad8307 From Paul Martz, "I've attempted to make AutoTransform override computeBounds() to return
an invalid bounding sphere if it hasn't seen a cull traversal yet. It
depends on _firstTimeToSetEyePoint, which is initially true, then false
after a cull. There might be a better way? If so, let me know.

This change does resolve the issue I had encountered with auto scale to
screen and incorrect culling."
2006-02-21 13:51:10 +00:00
Robert Osfield
4a0a0a30ea From Trajce Nikolov, "small fix for the flt loader - the back color of the bidirectional light points" 2006-02-21 12:39:47 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Robert Osfield
b0358c698a From Eric Sokolowsky, "There was a problem with the PNG plugin when it encounters an image that is
less than 8 bits per pixel (this can happen with greyscale or paletted images).
It was a pretty simple problem to fix."
2006-02-20 20:06:26 +00:00
Robert Osfield
af6af82e56 From Nathan Monteleone, addition of AutoTransform support. 2006-02-20 19:13:11 +00:00
Robert Osfield
9473d80345 Moved the intialization variable reset to end of the init funciton to
avoid multi-thread initialization from producing different results.
2006-02-20 16:50:47 +00:00
Robert Osfield
1c83e3ecfb From Ed Ralston, "According to the OSX Developer Documentation, CFRelease
cannot be called with a NULL argument.

This patch prevents osgDB::FileUtils from doing this."
2006-02-20 16:20:50 +00:00
Robert Osfield
9935b0fa27 Added missing swap byte operations to readVec*sArray() methods. 2006-02-20 15:46:29 +00:00
Robert Osfield
4b8fb5e5f9 From Daniel Larimer, fixed error is swap byte code handling vector<short> 2006-02-20 15:32:03 +00:00
Don BURNS
37be1d9259 Fixed a bug spotted in UFOManipulator where a Vec3's 4th component was
being inspected (ip[3]).
2006-02-09 19:31:05 +00:00
Robert Osfield
59ad441be1 Added BlenColour(Vec4) constructor and updated wrappers. 2006-02-09 12:20:42 +00:00
Don BURNS
8f7d349f7e Added a filter to the Delaunay Triangulator to insure that incoming points
are unique in the X and Y components.
2006-02-08 23:41:32 +00:00
Robert Osfield
608a183753 Added s/getDoTriStrip and s/getSmoothing method. 2006-02-06 20:36:09 +00:00
Don BURNS
da9de96fae Added 'normals' pseudoloader 2006-02-06 19:40:45 +00:00
Robert Osfield
6624f3aa62 Improved default settings, re-enambled smoothing and tri stripping of sampled data. 2006-02-06 19:16:04 +00:00
Robert Osfield
3936bcde9e Added support for up sampling by dividing longest edges. 2006-02-06 17:12:35 +00:00
Robert Osfield
4bc13ec71b From David Guthrie, OSX marco reworking to better handling different OSX versions. 2006-02-05 21:53:37 +00:00
Robert Osfield
39381c6fe7 From Edmond Gheury, fixe and bug in the PrimitiveShapeVisitor. 2006-02-04 21:25:33 +00:00
Robert Osfield
e89852e25f From Marco Jez, " I've modified in order to make FBO mipmapping work. In
FrameBufferObject.cpp there is also another fix: when initializing a FBO
attachment from a CameraNode attachment, the renderbuffer's format must be
set to the attachment's internal format, not to the image's pixel format.

Another problem is that attaching a renderbuffer to the FBO through
CameraNode is not simple (if not impossible) if you don't intend to specify
an Image object. Probably CameraNode could be enriched with an
"attach(buffer, width, height, format)" method. For example if you attach a
color buffer as a texture whose size is different than that of the
CameraNode's viewport you also need to attach a depth buffer of the same
size, because the depth buffer that is automatically attached by RenderStage
has the viewport's size. FBOs require that all attachment have the same
dimensions, so said setup will fail if you can't specify a custom depth
renderbuffer"
2006-02-04 21:20:25 +00:00
Robert Osfield
3baf9f51d2 From Brad Anderegg, add _frameNumber and associated code to ensure that particles
only get updated once per frame.
2006-02-04 21:12:45 +00:00
Don BURNS
d4bacf93cd Changes to zip and tgz plug-ins to allow for use of TEMP variable on Windows.
Submitted by Zach Deedler
2006-01-24 17:43:53 +00:00
Robert Osfield
df1d2ee93b cleaned up clampNearNar code. 2006-01-24 12:02:40 +00:00
Robert Osfield
f09259f4f9 Improved the env var reporting to avoid the overlong lines. 2006-01-23 20:38:28 +00:00
Robert Osfield
0f529d72ab Updated wrappers. 2006-01-21 13:02:03 +00:00
Robert Osfield
cc1ee1fa26 From Marco Jez, adding osgDB::findDataFile() usage. 2006-01-18 12:16:45 +00:00
Robert Osfield
fe3b68dbb1 From Marco Jez:
here is a patch that enables a new option named "BIND_TEXTURE_MAP" in the LWO plugin. Its purpose is to allow explicit binding between texture UV maps defined in the LWO file and OpenGL texture units, overriding the default mechanism that allocates texture units automatically. This is useful when you have an UV map built in Lightwave (for example an atlas map) but no textures actually using it, so you can keep the UV map (that would be discarded otherwise) and add a texture later int your program.

Syntax is:
BIND_TEXTURE_MAP <map_name> <texunit>
2006-01-18 12:13:48 +00:00
Robert Osfield
2067543aea From Maya Leonard, ERSIShape VS project file, and compile fixes for Win32. 2006-01-18 12:03:55 +00:00
Robert Osfield
a0f43443a4 From Marco Jez, addition of glw extension checking under Windows, and tweaks to
BlendEquation and RenderStage to correct the extensions being tested.
2006-01-18 11:45:58 +00:00
Robert Osfield
eaf6c5ac35 Added new BoxPlacer files. 2006-01-17 15:18:44 +00:00
Robert Osfield
c9b25a5b50 From Zach Deedler, addition of osgParticle/BoxSpacer. 2006-01-17 15:17:15 +00:00
Robert Osfield
93a2c3d011 Improved handling of clean up of osg::Program/osg::Shader on closing of a graphis context. 2006-01-16 17:05:17 +00:00
Robert Osfield
ab71114219 Moved the body of the FBOExtensions::instance() to the .cpp and added bool to
control whether that an FBOExtensions structure can be created if missing.
2006-01-03 10:44:14 +00:00
Robert Osfield
4167bc3673 Standardised compile code to use _maximumNumOfObjectsToCompilePerFrame. 2006-01-02 12:03:18 +00:00
Robert Osfield
58d82d0f66 Added setting of the parent path on the new PickVisitor. 2005-12-23 10:59:12 +00:00
Robert Osfield
378dc18f1c Seperated out the view and model matrices in IntersectVisitor to allow
handling of world coordinates better when using PickVisitor.
2005-12-22 14:06:33 +00:00
Robert Osfield
b5f86d9984 Added support for an externally referenced shader file, via the keyword combinations
file "shader.vert"

OR

   file shader.vert.
2005-12-21 10:32:48 +00:00
Robert Osfield
c465036a7c Removed "if (mapExt!=toExt)" from alias map assignement to allow aliases to
be overriden for all cases.
2005-12-20 09:29:26 +00:00
Robert Osfield
bcd082db3d From Farshid Lashkari, compile fix 2005-12-20 09:13:59 +00:00
Robert Osfield
aef81ae00d Added check against the validity of the _inverse matrix pointer. 2005-12-19 15:05:26 +00:00
Robert Osfield
523f608ba6 From Ali Botorabi, adding of osg::Depth support in .ive format. 2005-12-19 14:48:04 +00:00
Robert Osfield
7b31c2e6ac Added debugging info for future reference (currently commented out.) 2005-12-19 13:57:04 +00:00
Robert Osfield
acf198b28b Added transform of the eye point into local coordinates to properly account
for transforms within the scene graph.
2005-12-19 13:40:32 +00:00
Robert Osfield
df005827de Improved handling of clamping of projection matrix for scenes with close to zero depth range. 2005-12-18 16:06:17 +00:00
Robert Osfield
c738af1e91 Fixed null matrix op. 2005-12-16 17:01:30 +00:00
Robert Osfield
13e45c98fb Fixed handling of absolute transforms in IntersectVisitor. 2005-12-16 16:27:17 +00:00
Robert Osfield
4535cc0c09 Added back in Switch::removeChild(Node*) 2005-12-16 11:04:33 +00:00
Robert Osfield
fcff441d5f Updated wrappers. 2005-12-15 19:38:24 +00:00
Robert Osfield
2815622c35 Improved stats handling, and fixed a couple of stats bugs. 2005-12-15 17:14:40 +00:00
Robert Osfield
72554ca27e From Jason Beverage, added option to control whether simplification of
tiles is done during osgdem builds.
2005-12-15 16:30:31 +00:00
Robert Osfield
6ff781b5b0 Removed Switch::removedChild(Node*) as the Group::removeChild(Node*) implementation
should be sufficient, as it calls the virtual removeChild(uint,uint).
2005-12-15 15:50:17 +00:00
Robert Osfield
cc78197fb3 From Paul de Repentigny, ciyple fo fixes for the DXF reader. 2005-12-15 15:36:55 +00:00
Robert Osfield
0347895c96 Fixed typo in comments and onscreen help. 2005-12-09 20:03:04 +00:00
Robert Osfield
7d4acba022 Changed constructors to use unsigned int to get round VS6.0 + wrapper problems. 2005-12-09 16:00:01 +00:00
Robert Osfield
a8d7234a0b From Eric Wing, added missing removeChildren method. 2005-12-09 11:22:09 +00:00
Robert Osfield
da2adaec06 From Eric Sokolosky, add setting of _cameraRequiresSetUp in constructor to
avoid uninitialized variable.
2005-12-09 09:38:46 +00:00
Robert Osfield
3f2c419db6 From Paul Martz, changed Vec3 to Vec3d to ensure that the lazy evaluation of computeBound work properly. 2005-12-08 20:32:06 +00:00
Robert Osfield
a4ea759ce5 From Simon Julier, fixed typo of unknown. 2005-12-08 14:08:09 +00:00
Robert Osfield
60f7607618 Added support for pre and post relative transforms on cameranode. 2005-12-08 11:01:38 +00:00
Robert Osfield
53ee0ce3ec Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
b835ec9ee9 Changed s/getGdalDataset() methods to use void* to avoid introspeciton wrapping problems. 2005-12-08 10:03:39 +00:00
Robert Osfield
27ad107378 Added new Node::getParentalNodePaths() method.
Added better handling in computeIntersections(..) of nodes that are internal
to the scene graph, correctly accounting for the accumulated transforms.

Changed the EventVisitor so that it only traveses active children rather than
all children.

Updated wrappers.
2005-12-07 15:29:29 +00:00
Robert Osfield
73cc97f0e1 From Antonoine Hue, a small modification to the osgTerrain::DataSet
to be able to pass an already opened GDAL Dataset to the
osgTerrain::DataSet::Source
2005-12-07 15:26:45 +00:00
Robert Osfield
3f3c7b1df8 Added Camera::isRenderToTextureCamera() method, and improved support in PickVisitor
and IntersectVisitor for CameraNode, including the ignoring of render to texture cameras,
such that HUD's etc are still intersected against.
2005-12-07 11:36:56 +00:00
Robert Osfield
99be2cdb7f Moved PickVistor into osgUtil 2005-12-07 10:25:50 +00:00
Robert Osfield
4d658ae1ea Improved the PickVisitor to make it more flexible and robust. 2005-12-06 21:59:43 +00:00
Robert Osfield
e311cf83d8 Added checks in the drawImplementation to catch when attribute bindings are set on
but the relevant arrays remain unset, this prevents previous crash when this
occured.
2005-12-06 11:24:24 +00:00
Robert Osfield
34953f7dec From Gideon May, fixed typo in docs. 2005-12-06 10:26:48 +00:00
Robert Osfield
22d5390784 From Louis Hamilton, fix to LightPoint's under 64 bit build, changing longs to ints in
colour conversion code.
2005-12-06 10:16:21 +00:00
Robert Osfield
6971588592 Changed debug message to INFO. 2005-12-05 20:11:50 +00:00
Robert Osfield
e1454d22a7 Attempt at build fixes for IRIX. 2005-12-05 10:24:02 +00:00