Robert Osfield
efa16a34c5
Fixes to the Optimizer's handling of merging of osg::Geometry
2003-05-22 15:29:20 +00:00
Robert Osfield
fb55f6ffbc
Improved the handling of scaled matrices in the Quat::set(Matrix&) method.
2003-05-21 21:32:56 +00:00
Robert Osfield
4a6bdad3e1
Removed osg::GeoSet for core osg lib and osgPlugin.
...
Commented out OpenDX plugin as its still based on GeoSet.
Added support for loading and converting GeoSet into the osgconv example.
2003-05-21 12:15:45 +00:00
Robert Osfield
ab1b199da8
Removed the now redundent osg::Camera.
2003-05-20 08:09:36 +00:00
Robert Osfield
940ce67133
Removed remaining dependancies on osg::Camera.
2003-05-19 15:15:17 +00:00
Robert Osfield
57af40ee95
Updates to the handling of vertex attributes.
2003-05-09 13:07:06 +00:00
Robert Osfield
cda2c90315
From Romano José Magacho da Silva, support for vertex attributes in vertex program.
2003-05-07 13:13:13 +00:00
Robert Osfield
fa0333b6fe
Aded extra constructors to BlendFunc and Depth to help set them up convieniently.
...
Added a background quad to osghud.
2003-05-06 18:04:27 +00:00
Robert Osfield
06054d9520
Added support for multibuffering of tex coordinates.
2003-05-06 13:13:31 +00:00
Robert Osfield
ee550382c8
Fixed build.
2003-05-02 18:24:56 +00:00
Robert Osfield
895a722842
Addd support for maximum screen text size into osgText when auto scale to
...
screen is active.
Added osgautotransform demo.
2003-05-01 21:06:18 +00:00
Robert Osfield
2d360c344c
Remved exit().
2003-05-01 08:51:03 +00:00
Robert Osfield
0ab467483f
Added support for automatic scaling of text to screen coords. Optimized
...
the text implementation to provide better speed, especially by using the
alignement to screen option.
Deprecated the Text::setFontSize(,) method, which is now being replaced
by setFontResolution(,)
Fixed typos in Texture*.cpp.
Removed old deprecated methods from osg headers.
2003-04-30 11:40:17 +00:00
Robert Osfield
821313d102
From Ben, promoted floats to doubles to produce better stability in the
...
invert method.
2003-04-29 14:24:11 +00:00
Robert Osfield
1cf0be9963
Fixes to BlendFunc - adding missing ZERO handling.
...
Improved handling of alpha values in DXT1 compression.
2003-04-18 19:46:46 +00:00
Robert Osfield
0b0c6c4e60
Added support for set/getColor to ShapeDrawable.
2003-04-16 20:02:15 +00:00
Robert Osfield
5df7118d6d
Updates to the osgpick code.
...
Updates to osgGA::CameraManipulors.
2003-04-14 15:44:30 +00:00
Robert Osfield
3df0401007
Addd new computeLocalToWorld(NodePath) etc methods.
2003-04-14 13:22:21 +00:00
Robert Osfield
c2a9234cc5
Updated the version numbers to 0.9.4
2003-04-11 10:04:53 +00:00
Robert Osfield
50d1fcfea2
From Romano, added support in osg::VertexProgram for deleting the flushed
...
vertex programs.
2003-04-11 09:54:27 +00:00
Robert Osfield
aaa761e333
Added tests for presense of extensions to osgcubemap, osgvertexproram and
...
osgmultitexture examples.
Added osg::VertexProgram::Extensions class to better handle multiple graphics
context vertex program extensions.
2003-04-10 19:32:32 +00:00
Robert Osfield
8b03d59be3
Added support for modifying the osg::Texture*:Extensions stuctures.
...
Added an example modifying osg::Texture::Extensions to osgtext. Optionally
compiled out by default.
2003-04-10 13:41:45 +00:00
Robert Osfield
22546b8085
Added support for multiple graphics context to osg::VertexProgram and osg::Impostor
2003-04-10 12:11:40 +00:00
Robert Osfield
2166f9b701
Fixes to the Impostor implementation.
2003-04-09 21:53:09 +00:00
Robert Osfield
6a178f76c4
Set the hardware mip map generation to false in TextureCubeMap since this
...
extension is not implemented when texture cube mapping.
2003-04-07 15:07:45 +00:00
Robert Osfield
7af174fadb
From Ulrich Hertlien, new osg::TextureRectangle class.
2003-04-07 13:20:53 +00:00
Robert Osfield
9f0fa75484
Added support for unref image data after apply in the osg::Texture*
...
classes. Only unref's after all graphics context have been applied.
2003-04-07 12:51:00 +00:00
Robert Osfield
7e58786b11
Moved the modified tag's from osg::Texture into the osg::Texture1D,2D,3D and
...
CubeMap classes.
2003-04-07 09:46:06 +00:00
Robert Osfield
49a28660dc
Added the usage report to the examples for when no arguments are passed
...
to the examples.
2003-04-06 21:32:44 +00:00
Robert Osfield
a47a6f0310
Fixes to the multipipe initialization.
2003-04-03 14:12:09 +00:00
Robert Osfield
0f3eaeba46
From Rune Schmidt Jensen - new dds loader.
2003-04-02 18:26:34 +00:00
Robert Osfield
7aab621405
Added support for min pixel size, max pixel size and max visable distance to
...
osgSim::LightPointNode, the max pixel size from was originally in osg::LightPoint.
Added additional get/set methods to osg::LightPointNode.
Increased the compute pixel size by a ratio 1.41 (sqrtf(2)) to correlate the
computed size with the actual size seen on screen.
2003-04-02 10:50:15 +00:00
Robert Osfield
d3d32edfcd
Added prefix's to ApplicationUsageProxy's and made them static to help
...
prevent problems under OSX.
2003-04-02 08:22:47 +00:00
Robert Osfield
732dad0e6e
Fixed std::string usage so that std::string::size_type is used where
...
appropriate.
2003-04-01 20:52:56 +00:00
Robert Osfield
5a974ab091
Fixes to osg::Texture's handling of anisotropy updating and
...
hardware generate mip mapping.
Added switching off generate mip map from osgText::Font.cpp.
Changed savedmodel.osg to saved_model.osg in ViewerEventHandler.
2003-04-01 20:32:57 +00:00
Robert Osfield
b59760482f
Changed unsigned int to std::string::size_type.
2003-04-01 18:50:36 +00:00
Robert Osfield
5b36049f33
Added convinience constructor.
2003-04-01 18:42:38 +00:00
Robert Osfield
060b9f7150
Added futher debugging messages to track down the x86-64 crash.
2003-04-01 18:42:17 +00:00
Robert Osfield
43f1c0121b
Bug spotted and fix by Sébastien Kuntz. Changed < to <= on Geometry.cpp, in removePrimitiveSet(),
...
if( i+numElementsToRemove<_primitives.size() )
2003-04-01 15:08:30 +00:00
Robert Osfield
3975fc9b01
Improved handling of subloading.
...
Removed the rescalling of images in osg::Image during texture apply, moving
the rescale so it is locally calculated. This solves an outstanding threading
problem which occured by multiple draw threads all tried to rescale the same
image at one time.
Made osg::Image ptr in osg::Texture2D non mutable as it is no longer modified
during apply.
2003-04-01 11:49:09 +00:00
Robert Osfield
90a2c93e50
Added extra debugging messages into the ArgumentParser::reportRemainingOptionsAsUnrecognized(ErrorSeverity severity)
...
method to help track down a crash under x86-64.
2003-04-01 08:47:11 +00:00
Robert Osfield
b728b1dd99
Implemented load and subload methods in osg::Texture/Texture2D.
2003-03-31 21:41:17 +00:00
Robert Osfield
11a38e12f2
Made the default transparent bin be bin number 10 rather than 1 to allow
...
more bins between it and the default opaque bin of 0.
Added a check for compressed image format in osg::Texture.
2003-03-31 12:48:33 +00:00
Robert Osfield
8779fe20a7
Added help support for display help on screen to osgProducer::Viewer.
2003-03-26 12:50:30 +00:00
Robert Osfield
ce46db87b0
Spotted by Brede - missing !
2003-03-25 13:01:34 +00:00
Robert Osfield
0476348a0c
Added support for setting up VisualChoose with destination alpha, stencil and
...
quad buffers attributes from DisplaySettings values.
2003-03-20 14:07:03 +00:00
Robert Osfield
65485370f6
Added missing
...
setInterleavedArray( InterleaveArrayType format, float *ia, GLuint *iai )
method.
2003-03-20 08:43:38 +00:00
Robert Osfield
2ca505b3d8
Ported all glut based demos across to using the new osg::ArgumentParser.
2003-03-14 10:49:06 +00:00
Robert Osfield
6021ffecac
Changed std::min to osg::minimum.
2003-03-12 12:17:57 +00:00
Don BURNS
fa33244f92
1) Replaced all Makefile* with GNUmakefile*.
...
2) Changed Makedepend system to make individual dependency files, which
should save time rebuilding dependencies by limiting the regeneration
of dependency file for only modified source files.
2003-03-12 10:39:43 +00:00
Robert Osfield
b0dce04063
Added setBound() method to Drawable.
2003-03-11 21:53:28 +00:00
Robert Osfield
e51c7f1587
Added support for AbortRendering flag pointer in osg::State which is used
...
by osgUtil::RenderLeaf to test if any abort state has been set, if so it
doesn't do any further drawing.
The osgProducer::Viewer has been set up to set the osg::State's it manages
with their AbortRendering flag pointers set to the osgProducer::Viewer::_done
memeber varaible. Now when escape is pressed the rendering is aborted early.
2003-03-11 15:25:49 +00:00
Robert Osfield
78de76f17f
Bug fixes to osgText to handle the osgUtil::Optimizer being used on a scene
...
graph containing text.
Fixed warning in MD2 plugin.
2003-03-11 13:30:03 +00:00
Robert Osfield
397edcd579
Fixed examples/osghud and osgtext Makefile's to include osgText.
2003-03-08 21:39:40 +00:00
Robert Osfield
d3e9fea28b
Fixed the setInterleavedArray call.
2003-03-06 10:38:56 +00:00
Robert Osfield
5e396d40e1
Made the State::setInterleavedArrays method use a const GLvoid*.
2003-03-05 21:02:37 +00:00
Robert Osfield
55c25a551b
Added support for using the generate mip map extension within osgText.
2003-03-04 15:47:28 +00:00
Robert Osfield
b32c8c65f3
Added osg::Image::AllocationMode enum and associated set/get methods.
...
osg::Image::setImage has also been modified to require the AllocationMode
mode to be passed to it so that it knows how to delete the data once the
image goes out of scope.
Port the image plugins across to specify the new AllocationMode, and converted
them across to using new/delete in place of malloc/free.
2003-02-25 11:56:18 +00:00
Robert Osfield
7877c55770
Implemented an osg::minimum and osg::maximum template functions to replace
...
the std::min/max functions previously used in parts of the osg, since the
std::min/max methods do not seem implemented under IRIX.
2003-02-24 12:02:00 +00:00
Robert Osfield
5471ada6da
Fixes to try and keep OSX and Win32 compiling with the new usage of std::max.
2003-02-23 15:50:57 +00:00
Robert Osfield
696c89e2c5
Added #include<algorithm> to keep OSX build compiling.
...
Reverted the mymax implementation to std::max, hopefully this should be ok now
that we have standardised on non native STL under VisualStudio.
2003-02-21 20:22:32 +00:00
Robert Osfield
7c6cdcde1e
Added check into the application usage list of command line args for
...
unrecognized options to prevent unprocessed, but valid options being
classed as unrecognized.
2003-02-19 11:32:15 +00:00
Robert Osfield
73f741d16f
Completed first pass at providing commandline option usage via the new
...
osg::ArgumentPareser and osg::ApplicationUsage classes. The osgproducer
demo has been implemented using these new mechansims.
2003-02-18 21:58:40 +00:00
Robert Osfield
cabc0025cb
Made the osg::ApplicationUsage forward declared.
...
Added include of ostream to ArgumentParser header.
2003-02-18 21:10:42 +00:00
Robert Osfield
c10d5f2d6f
Added new osg::ApplicationUsage and osg::ArgumentParser to help streamline
...
application/example developement.
2003-02-18 16:36:42 +00:00
Robert Osfield
b4293fe93a
More work on uint -> unsigned int.
2003-02-14 20:27:23 +00:00
Robert Osfield
77fee92d71
Renamed futher uint/ushort instances.
2003-02-14 16:52:47 +00:00
Robert Osfield
bd506b53da
Removed last of the uint references.
2003-02-14 11:41:52 +00:00
Robert Osfield
8f1ba9d21b
Removed include/osg/Types header defining osg::ubyte, osg::ushort etc. Changed
...
any reference to these in the distribution across to using unsigned char,
unsigned short etc. This has been done to keep the OSG code more opaque
to what types are.
2003-02-12 19:20:47 +00:00
Robert Osfield
c3c70c9415
Changed int to GLint for OSX build.
2003-02-10 14:23:31 +00:00
Robert Osfield
c2b4a05825
Minor fixes to ReaderWriter and Paragraph to help work with use of Doxygen.
...
Fix to CullVisior to handle the new no referenced counted cull and draw traversal.
2003-02-10 13:58:39 +00:00
Robert Osfield
6c4f2f5207
Fixes for multipipe support.
...
Addition of FrameStatsHandler to osgproducer demo to add frame stats.
2003-01-29 17:16:26 +00:00
Robert Osfield
20ba1a4033
Fix for impostors bug where image insert were visible, this was down to a double
...
call to RenderStage::drawPreRenderStage(). The call to it in RenderStage inside
the draw() method has been removed, leaving on the call in SceneView.
2003-01-24 09:11:05 +00:00
Robert Osfield
ecc2f02f0d
Removed eroneous std:: from the from of DisplayListVector.
2003-01-23 08:37:15 +00:00
Robert Osfield
9aaf5a560b
Changed the implementation of the texture objects and display list to delete
...
caches so that they use a std::vector<> swap on the internal data structures
when ready to delete to minimize the amount of time that a race condition
condition can happen.
2003-01-22 23:34:18 +00:00
Robert Osfield
6afedcc6d1
Updated version numbers to 0.9.3
2003-01-22 19:17:39 +00:00
Robert Osfield
ec8afe0392
Fixed compute bound code which was applying offset first then rotating, rather
...
than rotating first then offset.
2003-01-22 16:49:05 +00:00
Robert Osfield
926394dcb8
Removed debugging messages.
2003-01-21 19:37:45 +00:00
Robert Osfield
48bda9cc79
Added new Copyright/License notice to header and source files.
2003-01-21 16:45:36 +00:00
Robert Osfield
0f69a4c3ae
Made the drawable::compile(State&) method const and the DisplayListVisitor to
...
compile even when dislay list is off. This has been done to allow subclasses
of Drawable handle their own compile implementation, such as used by text.
2003-01-20 20:40:06 +00:00
Robert Osfield
c1831b21f7
Made the setting of default glNormal and glColor values an compile
...
option via #ifdef USE_DEFAULT_NORMAL and USE_DEFAULT_COLOR defines respectively.
2003-01-20 11:02:27 +00:00
Robert Osfield
ec30f7d8a6
Update the ReaderWriterATTR file so that it used the definitions that Joseph
...
Steel obtained from MPI.
Removed the unique child check from the flt::PrimRecord and osg::Group, this
allows more flexibility when specifing nodes, and is faster..
2003-01-20 09:56:09 +00:00
Robert Osfield
08456ecf70
Added osg::State::dirtyAllModes() and dirtyAllAttributes() methods.
2003-01-19 15:28:08 +00:00
Robert Osfield
c406d2476f
Removed the osg::Referenced::createCount() and deleteCount() methods and
...
associated variables which were only compiled in on debug build. These optional
methods/static vars were causingproblems when mixing debug and release builds.
2003-01-17 14:11:34 +00:00
Robert Osfield
4dd273de70
Added support for ReferenceFrame into osg::LightSource, modified the .osg
...
plugin and cull visitor to account for this change.
2003-01-16 16:37:24 +00:00
Robert Osfield
d542a2165d
Removed the template versions of the PrimitiveSet constructors as this was
...
causing problem under VisualStudio6.0.
2003-01-15 11:29:30 +00:00
Robert Osfield
c882283b5d
Typo fix if USE_HOME_POSITION.
2003-01-13 20:14:23 +00:00
Robert Osfield
29f4fa713f
Added missing _bbox.init() to ShapeDrawable.cpp.
2003-01-13 10:39:14 +00:00
Robert Osfield
f36bc69c58
Made the more of the OSG's referenced object desctructors protected to ensure
...
that they arn't created on the stack inappropriately.
Split the implemention of Matrix up so that it is a simple no referenced counted
class and can be safefly created on the stack. To support referenced counting a
seperate subclass now exists, this is RefMatrix which inherits from both Matrix and
Object.
2003-01-10 09:25:42 +00:00
Robert Osfield
f948a3de7c
Fixed typo.
2003-01-09 18:41:01 +00:00
Robert Osfield
043839f40b
Added #ifndef GL_TEXTURE_WRAP_S #define block to keep things compiling
...
on old drivers.
2003-01-09 16:13:30 +00:00
Robert Osfield
97da5d7f92
Fixed typo.
2003-01-09 11:48:49 +00:00
Robert Osfield
e8c2226e38
Added setting of the R wrap paramter to applyTexParamters().
2003-01-09 10:06:44 +00:00
Robert Osfield
ba34880464
Added support for reading and writing Sphere, Box, Cone, Cylinder and Grid shapes.
2003-01-08 14:32:13 +00:00
Robert Osfield
3ef3666d0f
Added new ARB vertex program state attribute and demo program,
...
sent in my Brede Johansen.
2003-01-04 20:45:53 +00:00
Robert Osfield
141f065b17
Removed the dual inheritance from the AnimationPathCallback, moving the
...
NodeVisitor implemention into the .cpp.
Small tweak to the lighpoint drawable implmenentation to improve the additive
blending and state resotoration.
2003-01-03 21:42:02 +00:00
Robert Osfield
fe64942c54
Added a AnimationPathCallback which can update both a MatrixTransform and a
...
PositionAttitudeTransform, removed the equivialnt callbacks once found in these
transform classes.
Changed the NodeCallback class so its derived from osg::Object instead of
osg::Referenced to allow it to be saved out in the .osg format.
Added support for Update and Cull callbacks into the .osg file format.
Added support for AnimationPathCallback into the .osg file format.
2003-01-02 20:10:04 +00:00
Don BURNS
454c0480c0
update for ia64
2002-12-19 19:50:16 +00:00
Robert Osfield
adf5c91808
Renamed all instance of AppCallback/AppVisitor to UpdateCallback/UpdateVisitor
...
inline with the decision to rename the "app phase" the "update phase".
2002-12-19 15:55:40 +00:00
Robert Osfield
ee3348afc9
Added txp::TerrapageNode to the txp plugin, and implemented the node so that it
...
automatically assign handles the updates of eye points and database merges.
2002-12-17 15:41:05 +00:00
Robert Osfield
89269463ef
Removed the memory manager.
2002-12-16 13:44:35 +00:00
Robert Osfield
00cc3a1833
Converted the instance of osgNew and osgDelete back to new and delete as part
...
of depecating the include/osg/MemoryManager
2002-12-16 13:40:58 +00:00
Robert Osfield
a37e3551e6
Fixed the traverse method so it calls Transform::traverse() instead of
...
MatrixTransform::traverse() which was recursive..
2002-12-16 13:14:27 +00:00
Robert Osfield
98648105f9
Added seperate Referenced.cpp implementation.
2002-12-16 10:28:14 +00:00
Robert Osfield
884b2730e8
Added a DeleteHandler into osg::Referenced so that it can delete objects
...
via a seperate delete handler. Useful for making unref()/ref() thread safe if
the users needs to address this issue.
2002-12-16 10:25:31 +00:00
Robert Osfield
c6b6e200a4
Added supported for setting animation path on MatrixTransform's.
2002-12-16 09:55:30 +00:00
Robert Osfield
64c5fb644a
From Micheal Gronager, fix to osg::Quat::getRotate(..) to handle zero rotations.
...
Port of Sequence to subclass directly from osg::Group.
2002-12-10 19:58:03 +00:00
Robert Osfield
109f6f22fe
Updated the Switch, Sequence and Group classes so that they all used a
...
similar style removeChild() mechansim.
Made the old style osg::Switch::setValue() method deprecated.
2002-12-07 21:18:12 +00:00
Robert Osfield
010e56c8cc
Added implementation of isImageTranslucent method.
2002-11-25 16:39:05 +00:00
Robert Osfield
cbbbee4c41
Fixes for OSX build from Stephan Huber.
2002-11-25 16:13:57 +00:00
Robert Osfield
22c313cf3e
Warning fixes.
2002-11-22 09:46:25 +00:00
Don BURNS
c735c379af
Fixed std:: prefix and reinitialized variable for gcc 3.2
2002-11-21 20:28:28 +00:00
Robert Osfield
493d86fc73
Added use of ref_ptr<> for the replaced node in osg::Group::replaceChild(,)
...
to prevent it being deleted while it was still being used with the body of
the method.
Added mention of the shadow texture demo.
2002-11-21 16:08:30 +00:00
Robert Osfield
a545f3b48c
Moved the shadow creation code into a seperate CreateShadowedScene header and source,
...
and exposed just the basic createShadowedScene function in the header.
2002-11-21 15:35:51 +00:00
Robert Osfield
5ddcd5d878
Added osg::Geometry::setPrimtiveSet,removePrimtiiveSet, insertPrimitiveSet
...
and getPrimitiveSetIndex().
Renamed osg::Group::findChildNum(..) to getChildIndex().
Renamed osg::Geode::findDrawableNum(..) to getDrawableIndex().
2002-11-21 09:07:11 +00:00
Robert Osfield
6c8ef3b7df
Fixed the texture apply method which was broken yesterday, the new code wasn't
...
checking for the validity of _image before doing checks on it. This breaks when
render to texture is used as there is no image to check against...
Added osgshadowtexture demo source. Demos still in development, so don't expect
any shadows yet...
2002-11-20 07:46:25 +00:00
Robert Osfield
f46b231305
Added handling of image dirty after a textyre has been bound, the texture
...
is now updated when the image is dirty.
2002-11-19 12:48:58 +00:00
Robert Osfield
5fca8ea229
Moved Drawable across to using osg::buffered_value.
...
Added new osg::State::setInterleavedArray() method.
Added new osg::Group::setNode(uint,Node*) method.
Cleaned up and fixed the osg::Texture's handling of dirtyTextureParamters().
2002-11-19 10:56:59 +00:00
Robert Osfield
42fb3c5987
Added setDrawable(uint,Drawable*) method.
2002-11-18 16:14:00 +00:00
Robert Osfield
bd7762a73e
Added State::computeSecondaryColorSupported() & computeFogCoordSupported().
...
Updated NEWS.
2002-11-13 11:09:55 +00:00
Robert Osfield
b6838c703e
Small improvement to the computation of the pixel size vector.
2002-11-13 10:23:55 +00:00
Robert Osfield
b468d2f939
Fixed ansisotropic scaling problem with pixel scaling/small feature culling.
2002-11-12 15:50:39 +00:00
Robert Osfield
e1643bd16b
Removed debugging messages.
2002-11-12 13:37:43 +00:00
Robert Osfield
4b27430931
Fixed bug in osg::Transform's computation of a its bounding sphere, where
...
it was erroneously using the y axis for the z axis test.
2002-11-12 13:36:56 +00:00
Robert Osfield
8e84722f90
Added LEFT_EYE and RIGHT_EYE stereo to osg::DisplaySettings/osgUtil::SceneView
...
Renamed LODBias to LODScale.
2002-11-12 10:22:38 +00:00
Don BURNS
6d1ba6c0f4
Fixed a const/non-const inconsistency in NodeVisitor.cpp
...
Fixed a blank namespace issue in UnitTestFramework.cpp
2002-11-11 20:18:27 +00:00
Robert Osfield
35b9317baf
Fixes to typo of *Dirty()
2002-11-11 16:11:48 +00:00
Robert Osfield
f42205a3ef
Updates version numbers to 0.9.2
2002-11-08 12:58:34 +00:00
Don BURNS
7669b96c28
Changed a couple of const/non-const discrpancies between header and source
...
for TexGen. Removed external library dependencies in plugin makefiles
2002-11-06 18:39:32 +00:00
Robert Osfield
3bd400130c
Name change and const change of Drawable::drawImmediateMode(State&) to
...
Drawable::drawImplementation(State&) const. Various updates to the
rest of the OSG to accomodate this.
2002-11-06 15:43:11 +00:00
Robert Osfield
26875c965d
Renamed ProceduralGeometry to ShapeDrawable to better reflect its current
...
purpose.
2002-11-06 10:46:34 +00:00
Robert Osfield
5eb65f65cc
Added support for recording camera animation paths in osgGLUT::Viewer, and fixed
...
the osgGA::AnimationPathManipulator to handle it.
Added a new Drawable::ConstAttributeFunctor and make the accept(PrimitiveFunctor)
be a const method so can disallows modification. Added Drawable::supports(...) methods
for each of the AttributeFunctor, ConstAttributeFunctor and PrimitiveFunctor so
that programs can querry whether it is possible to use functors with that object type.
2002-11-06 10:24:33 +00:00
Robert Osfield
bba03297a7
Added support for primitive functor into the new osg::ProceduralGeometry class
2002-11-01 15:12:51 +00:00
Robert Osfield
ee54835144
Futher updates to shapes support.
2002-11-01 12:20:34 +00:00
Robert Osfield
94105025a0
Updates to Shape support.
2002-11-01 10:25:27 +00:00
Robert Osfield
21ee9e4cb7
Added osg::Grid shape class, and added an example of its use into the
...
hang glide demo.
2002-10-31 10:36:11 +00:00
Robert Osfield
da84f9b4aa
Added first cut of new primtive shapes support.
2002-10-30 13:27:15 +00:00
Robert Osfield
8a9fce09d8
Fixed addChild(node,value) so that it resizes using the _newChildDefaultValue
...
rather than the add child value, then sets the child's value to value.
2002-10-30 10:07:16 +00:00
Robert Osfield
55b2a5ff30
From Gideon May, fixes to remain const base type instances in headers.
2002-10-25 12:29:03 +00:00
Don BURNS
cc122c5bcb
changed unsigned int's to unsigned longs so 64 bit build would work.
2002-10-24 20:49:15 +00:00
Don BURNS
5c111680f6
FIxed set_new_handler to std::set_new_handler
2002-10-24 15:24:39 +00:00
Robert Osfield
31e8323f17
Added default colour and normal definition to the Geometry draw to prevent state
...
inheritance of these attributes from causing problems of Geometry which arn't
fully defined.
2002-10-18 12:26:23 +00:00
Robert Osfield
bfd614f907
Fixed the names of the ControlPoint parameters so they weren't capitals, to avoid
...
the clash with the parameter type itself.
Addd a PER_PRIMTIIVE_SET handling to the existing PER_PRIMTIIVE code, this code
is still flacky though and needs a rewrite as it doens't handle all attributes or
the full consequences of per primitive and per primitive set bindings.
2002-10-10 14:58:44 +00:00
Robert Osfield
16291da3b0
Fixes to smoothing visitor and tesselator to handle indexed Geometry.
2002-10-09 15:43:56 +00:00
Robert Osfield
f210e13944
Fixed bug in osg::LOD::addChild() which was forcing all ranges to be identical
...
values.
2002-10-08 16:02:09 +00:00
Robert Osfield
c59fc9a2b7
Fixed a bug in the Optimizer where BIND_PER_PRIMITIVE_SET primitives where being eroneously merged.
...
Added missing support for reading geometry indices from the .osg format.
Added handling of geometry indices into the primitive functor in osg::Geometry.
Moved the method implementions of AnimationPathManipulator into src/osgGA and added extra convinience
methods for setting the manipulator with an hand built AnimationPath.
FCVS: VisualStudio/osgPlugins/iv/iv.dsp
2002-10-08 14:10:55 +00:00
Don BURNS
bfedea5636
osgdb_osg loader had more issues with const/non-const discrepancies on
...
Solaris. Modified Geoset.cpp and Point.cpp
2002-10-08 08:39:42 +00:00
Don BURNS
ab580f1e3b
Fixed some inconsistencies between header files and function definitions
...
where the header file declared a parameter non-const, but the function
definition expected a const. The Solaris linker was coming up with
undefined symbols.
2002-10-08 05:41:19 +00:00
Robert Osfield
04a9a09a8b
Added extra convinience methods to LOD - addChild(child,min,max).
...
Added osganimate to test scripts.
2002-10-07 21:23:37 +00:00
Robert Osfield
41768f6824
Fixes to Switch so that it defaults to adding children switched on, and adds
...
a flag to control whether children and added as true or false.
2002-10-07 20:17:57 +00:00
Robert Osfield
b7372fb4cb
Added new osganimate demo which demonstrate the osg::AnimationPath in action.
...
Added extra parameters to the AnimationPath callbacks to allow finer control.
2002-10-07 19:51:11 +00:00
Robert Osfield
70861ef70e
Converted osg::LOD from used n+1 successive ranges to n min/max ranges,
...
one min/max pair per child. Converted the rest of the OSG to use the new
osg::LOD node.
2002-10-06 20:33:13 +00:00
Robert Osfield
84332f5b77
Fixes for Win32 build.
2002-10-04 16:40:45 +00:00
Robert Osfield
4a3cc5c182
Implemented OpenFlight style switches so that each child of a switch can now
...
be individually turned on or off. Moved the OpenFlight code across to use the
new scheme, removing the old hack of using node masks to achieve the same end
result.
2002-10-04 14:50:33 +00:00
Robert Osfield
0a5ed26940
Moved the new osg::IndexedGeometry class over the top of the the existing
...
osg::Geometry class, and removed the temporary IndexedGeometry. Port the rest
of the OSG across to account for the change in method calls -
osg::Geometry::addPrimitive(..) becomes osg::addPrimitiveSet(..)
2002-10-02 13:12:16 +00:00
Robert Osfield
6f6e237429
Added setActiveTextureUnit(0) to State::reset().
2002-09-30 18:11:34 +00:00
Robert Osfield
af5f5e5a3f
Added traverse the AnimationPath callbacks.
2002-09-30 16:50:16 +00:00
Robert Osfield
5fd86440b3
Added support for per primitive bindings in osg::IndexedGeometry. Added a
...
convertToIndexedGeometry() method to GeoSet to allow datasets with per primitive
bindings to be be mapped to across to osg::IndexedGeometry for testing purposes.
2002-09-30 13:30:46 +00:00
Robert Osfield
da3739ebfc
Fixes to IndexedGeometry.cpp to repair bugs introduced with Win32 build fixes.S
2002-09-28 19:09:42 +00:00
Robert Osfield
098e34ece0
Added a dirtyAllVertexArrays() to State::reset().
2002-09-28 07:47:10 +00:00
Robert Osfield
b57b0b16b9
Fixes for Win32 build.
2002-09-28 07:43:04 +00:00
Robert Osfield
2a94879fcc
Fix build after change in GLExtensions.
2002-09-27 19:04:46 +00:00
Robert Osfield
df027e1bab
Fixes to IndexGeometry for Win32 build.
2002-09-27 19:01:59 +00:00
Robert Osfield
f8edf16c40
Improvements to IndexedGeometry.
2002-09-27 17:47:47 +00:00
Robert Osfield
2a28a4297f
Futher work on the IndexedGeometry class. Indexed coordinates should now
...
work.
2002-09-26 15:26:22 +00:00
Robert Osfield
fb629ae87d
From Gideon, support for tracking the number of objects constructed and deleted,
...
only compiled in when unit tests are compiled in.
2002-09-20 15:55:50 +00:00
Robert Osfield
55215651d7
Renamed osg::Primitive to osg::PrimitiveSet which better reflect what it
...
encapsulates.
Added new osg::IndexGeometry implemention, *not* complete yet.
Changed the rest of the OSG to handle the renaming og Primitive to PrimitiveSet.
2002-09-20 14:51:59 +00:00
Robert Osfield
ce51fb1841
Added PolygonStipple class from Mike, with mods from Robert to make data
...
management local.
2002-09-19 10:30:15 +00:00
Robert Osfield
02d920c930
Fix the sceondary color code.
2002-09-18 16:10:42 +00:00
Robert Osfield
9a9e88b78a
Added missing isCompressedInternalFormat() method.
2002-09-18 16:05:26 +00:00
Robert Osfield
91df37b5c8
Further work on multiple context extensions.
2002-09-16 20:58:05 +00:00
Robert Osfield
ce36cda0cc
Updates the osg::Texture3D::Extensions interface to support the standardisation
...
of extensions supported across multiple graphics contexts.
2002-09-14 10:38:28 +00:00
Robert Osfield
6d21fbd6cf
Added dirty methods for vertex arrays to better support external OpenGL
...
code which modifies the OpenGL state and needs to tell the osg::State
about it to ensure that the OSG doesn't make any errors during lazy
state updating.
2002-09-13 13:50:58 +00:00
Robert Osfield
f867dd81be
Added asGroup() and asTransform() methods to osg::Node to downcast nodes
...
to these types without requiring an expensive dynamic_cast<>.
Also added asGeometry() to osg::Drawable for the same reasons.
2002-09-12 15:34:31 +00:00
Robert Osfield
5733cc1470
From Brede Johansen - Fixes to osg::Plane::valid and added a new set method.
...
From Stephan Huber - Compilation fix to Texture.cpp for OSX.
From Don Tidrow - added dirtyBound() to osgText::Text::setPosition
2002-09-12 13:23:15 +00:00
Robert Osfield
e2603ff6c4
Improvements to osg::Texture3D::Extensions code.
2002-09-05 15:45:10 +00:00
Robert Osfield
bb0022175b
Added new buffered_value template class which encapsulates a std::vector but
...
initializes the array to the number of graphics contexts, and automatically
expands the array when indices outside the current size are required.
Added new osg::Texture::Extensions nested class to handle extensions on a per
context basis.
2002-09-05 11:42:55 +00:00
Robert Osfield
6ff24b338f
Added support for multiple graphics contexts to osg::Texture and its
...
subclasses.
2002-09-04 08:14:04 +00:00
Robert Osfield
1ad924d0ca
Fixes to the LWO to better handle 3 and 4 vertex polygons.
...
Added an extra pass into the Optimizer's merging of geometry primitives so
it convertex 3 and 4 vertex polygons into triangles and quads respectively.
2002-09-03 20:12:29 +00:00
Robert Osfield
0cb75d42e0
Fixed LWO2 ReaderWriter problem which was down to an the compiler reodering
...
the evaluation of a Vec3 paramter.
2002-09-03 13:04:53 +00:00
Robert Osfield
12226e4371
Converted the instances of const built in types being returned from methods
...
and passed as paramters into straight forward non const built in types,
i.e. const bool foogbar(const int) becomes bool foobar(int).
2002-09-02 12:31:35 +00:00
Robert Osfield
79aaac4e0c
Renamed the ConvexPlaner* classes to ConvexPlanar* and changed all the various
...
classes that reference it.
Added MUST_READ_ME.txt to the VisualStudio directory.
2002-08-29 11:02:01 +00:00
Don BURNS
2b10b4c3df
Fixed 69 occurance of 'Seperate' misspelling (should be 'Separate')
2002-08-29 03:22:27 +00:00
Robert Osfield
b546c63139
Changed instances of new across to use osgNew to help debugging, and fixed
...
an unitialized variable in Sequence.
2002-08-28 21:40:38 +00:00
Robert Osfield
df5c8f789a
Updated the version numbers to reflect the upcomming release 0.9.1.
2002-08-28 18:49:27 +00:00
Robert Osfield
ebb8a635d2
Fixes for Win32 build.
2002-08-28 16:59:22 +00:00
Robert Osfield
e50552d6d2
Added fixes to UnitTestFramework to get it compiling under Windows.
2002-08-28 16:17:54 +00:00
Robert Osfield
3b53adc7e8
Warning fixes for Windwos
2002-08-28 15:44:03 +00:00
Robert Osfield
8353fc0ed6
Removed deprecated code from the distribution.
...
Added .osg support for Texture1D and Texture3D.
2002-08-28 15:28:11 +00:00
Robert Osfield
7d6197441e
Added Neil Salter's osgUtx library into the distribution, have put all the
...
orignal seperate headers and source into include/osg/UnitTestFrameWork
and src/osg/UnitTestFramework.cpp respectively. I have done this to
keep the include and source directories focused on the scene graph rather
than the test framework.
Have added a very simple unit test to Vec3.cpp, which are optionally
compiled in with the OSG_COMPILE_UNIT_TESTS define, which is only
currently defined in debug builds under unix. It should be fine to
add it in under Windows project files as well.
Finally, a new demo app osgunittests runs the tests and reports success
or failure of the tests.
2002-08-28 14:26:09 +00:00
Robert Osfield
83af5e7a95
Added osgtexture3D demo, renamed osgtexture demo to osgtexture2D, and have
...
added osgtexture1D demo which currently is simply copy of osgtexture2D. I
will be modifying it to do 1D texturing next.
Fixed a bug in osg::Texture3D relating to checking of existance of
texturing.
Merged some fixes to the pfb loader from Ulrich Hertlein.
2002-08-27 10:06:57 +00:00
Robert Osfield
501f28449c
Fixed typo of _texParametersDirty.
2002-08-26 20:11:24 +00:00
Robert Osfield
59a5e800fe
Moved #define's for OpenGL1.2 image formats into the include/osg/Image header
...
to allow compilation of the rgb plugin under Windows with its 1.1 OGL headers.
Added float.h to Math's compile path for VS7 compilation.
2002-08-26 13:04:43 +00:00
Robert Osfield
db70c95d24
Updated Texture3D to use extension checking to get the relevant 3d texturing
...
extensions.
2002-08-26 10:24:01 +00:00
Robert Osfield
8e75f531e3
Converted code dependant on osg::Texture across to its replacement osg::Texture2D.
2002-08-25 15:31:44 +00:00
Robert Osfield
61ff1c7b0a
Fixes for Win32 build
2002-08-25 11:00:30 +00:00
Robert Osfield
d87dee5a75
Added support for the texture_env_dot3 extension.
2002-08-24 21:11:07 +00:00
Robert Osfield
239068f223
Added new osg::TextureBase, osg::Texture1D, osg::Texture2D, and osg::Texture3D
...
classes, and changed osg::Texture and osg::TextureCubeMap so that they now derive
from osg::TextureBase.
2002-08-24 19:39:39 +00:00
Robert Osfield
c2c6bb5ca6
Moved the include<osg/GLExtensions> from the State header into State.cpp, and
...
added it into other files which now required it.
2002-08-20 22:43:42 +00:00
Robert Osfield
88f387810d
Added support for the tex_env_add and tex_env_crossbar extensions.
2002-08-20 14:15:49 +00:00
Robert Osfield
36ad072e14
Added the definition of GL_FOG_COORDINATE_SOURCE to Fog.cpp.
...
Added #include<string> to the GLExtensions header.
2002-08-20 12:29:35 +00:00
Robert Osfield
05573d553d
Added a error message for when OSG_NOTIFY_LEVEL is not set correctly.
2002-08-20 10:26:36 +00:00
Robert Osfield
058ef0dc98
Merged fixes to the osg::GLExtensions function pointer code from Stefan Huber,
...
and a fix to osg::State's secondary color code from Bob Kuehne.
Moved the body of the getGLExtensionFuncPtr() into the header to help out
support for Windows mapping of different OpenGL extensions function ptr per
dll.
2002-08-20 10:14:12 +00:00
Robert Osfield
93303cf1cd
A FogCoordinateSource set/get methods to osg::Fog which correspond to the
...
FogCoord support added to osg::Geometry. Added suppot for these new parameters
to the .osg plugin.
2002-08-20 10:08:04 +00:00
Robert Osfield
e347a3c7aa
Reordered the string comparions so that DEBUG_INFO comes before INFO, since
...
the find op will find INFO in a DEBUG_INFO string, and hence report the wrong
notify level.
2002-08-20 08:14:02 +00:00
Robert Osfield
7a0f041a15
Added default values to the TexEnvCombine constructor.
2002-08-19 19:53:34 +00:00
Robert Osfield
1e2f198c5b
Added new osg::TexEnvCombine state attribute.
2002-08-19 15:11:09 +00:00
Robert Osfield
b23a48a763
Renamed the osg::EarthSky to osg::ClearNode to make it more obvious what
...
role it has play and make it more relevant to non vis-sim applications.
2002-08-19 11:42:37 +00:00
Robert Osfield
22d54f05e4
Added DOFTransform, MatrixTransform and PositionAttitudeTransform to NodeVisitor.
...
Added osg::Matrix/Quat::makeRotate(angle1,axis1,angle2,axis2,angle3,axis3) and
osg::Matrix::rotate(angle1,axis1,angle2,axis2,angle3,axis3) method.
Made osg::Matrix/Quat::makeRotate(heading,pitch,roll) and
osg::Matrix::rotate(heading,pitch,roll) all deprecated API.
Fixed the Quat*Quat & Quat*=Quat multiplication methods so that they multiplied
in the correct order - they were reversed originally due to the Quat code being
based on code example which used the v' = M v ordering, rather than the OSG's
v' = v M ordering.
2002-08-18 14:42:43 +00:00
Robert Osfield
a9732aa046
Added check to disable color binding when the secondary colour extension doesn't
...
exist.
2002-08-18 11:16:31 +00:00
Robert Osfield
2ab0f689eb
Added Texuture::SubloadCallback example into the osgprerender demo to illustrate
...
how to use it.
Changed the ImpostorSprite to use LINEAR,LINEAR for min and mag filters for the
impostor texture.
2002-08-16 15:14:43 +00:00
Robert Osfield
7dfefaf67f
Added new osg::Texture::SubloadCallback, and getNumMipmapLevels() to osg::Texture
...
and osg::Image. This additions are design to make texture subloading more
flexible.
2002-08-16 13:33:32 +00:00
Robert Osfield
8551e1c555
Supported added for secondary color & fog coords to osg::Geometry and osg::State.
2002-08-15 20:27:33 +00:00
Robert Osfield
f9cc8783b3
Futher improvements and fixes to osg::AnimationPath, and the osglight
...
demo to show it action.
2002-08-13 15:31:10 +00:00
Robert Osfield
7c049360ff
Made improvements to osg::AnimationPath, added
...
osg::PositionAttitudeTransform::AnimationPathCallback which us an app callback
which uses an AnimationPath to specify the new positions of the transform.
Added AnimationPath code to osglight to animate the positional light.
Added CullVisitor::setCullingMode() code into SceneView so that SceneView's
CullingMode is now properly passed onto CullVisitor. Note, this work
had been done before, but must has been lost in a merge. Umm...
2002-08-13 13:22:46 +00:00
Robert Osfield
743b174da9
Added new s/getPivotPoint() support to osg::PositionAttitudeTransform.
...
Modified the osglight demo to use an AppCallback and a PositionAttitudeTransform
to animate the loaded model.
2002-08-12 17:40:36 +00:00
Robert Osfield
29490a8c1c
Updates to DOFTransform so that its overrides the traverse() and compute*() methods
...
rather than depending upon callbacks for animating and compute matrices. Merged the
put/inverseput code between Sasa's and Ferndinand's DOF code.
From Bora Utka, Added support to osg::Sequence/OpenFlight AnimNode to the flt plugin.
2002-08-12 13:42:43 +00:00
Robert Osfield
d43b00ac4e
attempt to fix read only status of Sequence.cpp.
2002-08-12 13:37:35 +00:00
Robert Osfield
7010c1c4f8
Removed dependency of the new osg::DOFTransform and osg::Sequence Node's
...
on osgUtil by implementing a NodeVisitor::VisitorType enum, and associated
g/setVisitorType. This allows callbacks to querry the visitor/traversal
type without doing down cast's to specific visitor subclasses such as
osgUtil::AppVisitor/CullVisitor.
2002-08-11 21:26:58 +00:00
Robert Osfield
392150521a
Fixed the X and Y axis rotation billboards so that now rotate correctly.
...
Rewrote the osgbillboard demo so that it creates a point rotatated billbaord
and X,Y and Z axis billboards to both test and demonstrate this types of
billboards in action.
2002-08-09 16:27:39 +00:00
Robert Osfield
0c6991ea27
Fixes for IRIX 32bit timmer on O2. From Tom Jolley.
2002-08-08 21:36:22 +00:00
Robert Osfield
f0f40cbf88
Fixed warning related to where _increasingFlags is an unsigned short and 0xffffff is being
...
truncated, spotted by Tom Jolly.
2002-08-08 15:10:58 +00:00
Robert Osfield
d351bad121
Fixed bug related to switching on/off culling modes. Patch from Nikolaus Hanekamp.
2002-08-08 13:41:18 +00:00
Robert Osfield
d9b7b13bd3
Changed the Geometry::setVertexArray and GeoSet::setCoords so that they
...
call dirtyBound() instead of reseting the local bound flag, this ensures
the updates are propagated upwards through into the parents.
2002-08-08 11:27:11 +00:00
Robert Osfield
b9b013e15b
Changed the support for anisotropic filtering in osg::Texture so that it
...
is now controlled via the setMaxAnisotropy(float) method, and is set up
independently for the mag filter mode, which it previously was done.
2002-08-07 15:52:24 +00:00
Robert Osfield
ffb2d3826b
Changed the default value of _animationOn to true.
2002-08-06 10:37:22 +00:00
Robert Osfield
25740b5c7f
Added new osg::DOFTransform node from Sasa Bistrovic, designed to mirror
...
the OpenFlight DOF transform nodes.
2002-08-05 15:07:18 +00:00
Robert Osfield
6a04fc3dee
Integrated Ulrich Hertlien's osg::Sequence node, and osgsequence demo, and
...
support for osg::Sequence in the pfb loader.
2002-08-03 18:11:21 +00:00
Robert Osfield
b89f3fa9b1
Added cout's of the view frustum to the aid debugging, these cout's are
...
now commented out, and are just left in so that they may be used to
double check things in future.
2002-08-03 16:37:13 +00:00
Robert Osfield
0fa1b4a2ff
Removed default value from constructor.
2002-07-29 11:02:14 +00:00
Robert Osfield
067dc6cddf
Fixes to the new texture subloading methods.
2002-07-29 00:04:07 +00:00
Robert Osfield
6b59f66d80
Checked in new methods for setting up texture subloading, these allow the
...
user to control which parts on an image are subloaded from, and how big
the initial texture is.
2002-07-28 23:28:27 +00:00
Robert Osfield
05472135b0
Added set/getUnrefImageOnApply() methods and associated flag and
...
code in Texture::apply() to set the _image to 0 on apply. Note,
this will only work when you have a single graphics context, as
with multiple graphics contexts one can't delete the image after
the first apply, as there will be more than one texture object to
update.
2002-07-28 21:25:32 +00:00
Robert Osfield
150b055053
Added missing return statement to if() block in Matrix::mult code. Bug spotted
...
by Ray Conner.
2002-07-25 21:58:53 +00:00
Robert Osfield
95bdcfc3f6
Fixes to Doxygen files from Neil.
...
Removed unused set/getReportMode() methods and member variables from IntersectVisitor.
Added deep copy construction of Geometry objects.
2002-07-25 21:50:08 +00:00
Robert Osfield
b2fa79293c
Added the missing _primtives from the copy constructor list.
2002-07-23 15:48:12 +00:00
Robert Osfield
2268246fa9
Added mode checking into StateSet to try and catch non texture OpenGL modes
...
which have been applied to the texture modes and visa-versa.
2002-07-23 14:35:38 +00:00
Robert Osfield
80afddc08d
Checked in Tino Schwarze's port to HP-UX.
2002-07-23 10:48:22 +00:00
Robert Osfield
f007e7c3be
Merged changed to osgParticle from Macro, these add the ability to
...
orientate the particles to predefined axis.
2002-07-22 13:05:31 +00:00
Robert Osfield
b23aea5173
Futher work on ensuring that all datatypes are initilizaed in OSG objects.
2002-07-21 10:04:33 +00:00
Robert Osfield
389dd8adbb
Futher changes to remove unitialized variables/reordering of initialization to
...
prevent unitialized warnings.
2002-07-21 01:29:11 +00:00
Robert Osfield
48b3be40e9
Various fixes to constructors to ensure that all variables are initialized.
2002-07-20 23:54:55 +00:00
Robert Osfield
0ff08a2978
Added missing default values to State constructor.
2002-07-20 22:44:21 +00:00
Robert Osfield
15315b7b4b
Added default values for FrameStamp.cpp constructor.
2002-07-20 22:40:24 +00:00
Robert Osfield
a1c54dc663
Removed the rendundent variables in the ConvexPlanerPolygon as these were
...
unused and unitialized.
2002-07-20 22:36:55 +00:00
Robert Osfield
c86a907ddd
Added new debugging switch checkOnAllocations which is now on by default
...
when compiling with debug build (under UNIX) and can be turned on or off
with the OSG_MM_CHECK_ON_ALLOCATIONS environmental variable.
2002-07-20 22:36:09 +00:00
Robert Osfield
2b7331b73b
Added some extra checks for memory initialization into the osg::MemoryManager,
...
this is turned off by default, even in debug build. However you can turn it
on by setting the OSG_MM_CHECK_FOR_UNINITIALIZED
2002-07-20 21:37:10 +00:00
Robert Osfield
298e3d5ae3
Umm... these should have already been commited, not sure why cvs has just
...
popped these ones up...
2002-07-20 18:27:40 +00:00
Robert Osfield
3cba9a52ef
Updates NEWS file for 0.9.0 release.
...
Added default computeBound() implementation to osg::Drawable which uses
a PrimtiveFunctor to compute the bounding box in a generic way, that
will work for all Drawable subclasses that implement the accept(PrimitiveFunctor&).
2002-07-18 22:35:54 +00:00
Robert Osfield
34be82c1ee
Moved get/setUserData from osg::Node into its superclass osg::Object to
...
allow other subclasses to add their own custom data.
2002-07-18 19:41:52 +00:00
Robert Osfield
ff8b4c001d
Rewrote the osg::Drawable::AttributeFunctor and PrimtiveFunctor to make
...
them more consistent with each other. This does mean an API change, so
dependanct code in the OSG has been updated accordingly.
2002-07-18 15:36:14 +00:00
Robert Osfield
8036901ea1
Rewrote osg:Statistics so that it is PrimitiveFunctor as is now completely
...
decoupled from osg::Drawable. The Drawable::getStats() virtual method
no longer exists.
Updated the Viewer to use the osg::Statistics incarnation and reformated stats
to clean it up.
2002-07-18 14:20:01 +00:00
Robert Osfield
f2b6f8c873
Added code into osg::LightSource so it correctly computes its bounding
...
sphere, taking into account any subgraph below, and the light itself
if it is not a infinite light.
2002-07-18 10:55:04 +00:00
Robert Osfield
7a8eeb3c92
Converted the osg::Material::set/getShininess option to use the standard
...
OpenGL range of 0.0 to 128.0 instead of the previous normalised shiniess
range. This brings it inline with the way the rest of the OSG uses a
1 to 1 mapping to OpenGL.
Converted the various loaders to use the new range, which is almost all
cases was simply removing the /128.0f which was required before!
2002-07-18 09:55:30 +00:00
Robert Osfield
09bdb10af5
Various fixes to the flt loader, and knock on changes to the osgUtil::Optimizer
...
to better support removal of seperate osg::Geometry instances where they
share the same state and bindings.
2002-07-18 00:53:03 +00:00
Robert Osfield
735b9d2318
Changed from a -> to *() when using the object pointed to by a reverse iterator,
...
to fix problems with build under VS6/STLport.
2002-07-17 16:24:55 +00:00
Robert Osfield
f55233b20d
Updates from Bob Kuehne and Kristopher Bixler to remove the fink
...
dependency from the MacOSX build.
2002-07-16 19:21:31 +00:00
Robert Osfield
76d1775487
Bumped up the version numbers to 0.9.0 to reflect the upcomming release.
2002-07-16 15:43:20 +00:00
Robert Osfield
db892e6bfe
Added State::disableTexCoordPointersAboveAndIncluding( unit ) method so that
...
all unsed texture units can be turned off simply within Drawables such
as Geometry and GeoSet. This can be used to prevent bleed of arrays from
one object to the next - which can cause crashes.
2002-07-15 10:03:59 +00:00
Robert Osfield
4895b22da1
Fixed various warnings which were appearing under MacOSX.
2002-07-13 21:17:40 +00:00
Robert Osfield
db888b191c
Conveted GeoSet to use the new state::set*Pointer/disable*Pointer methods
...
to keep the current state valid.
2002-07-13 20:31:30 +00:00
Robert Osfield
d87d27b749
Added MatrixTransform header and source.
2002-07-12 21:08:19 +00:00
Robert Osfield
6f392cdbfa
Ported distribution across to use the new osg::MatrixTransform and osg::BlendFunc
...
class instead of osg::Transform and osg::Transparancy respectively.
2002-07-12 18:12:01 +00:00
Robert Osfield
8128265e09
Have added a #define USE_DEPRECATED_API to include/osg/Export, and
...
various
osg header and source files to optional compile in deprecated parts of
the
OSG API.
Have renamed osg::Transparency osg::BlendFunc to bring it in line with
the
rest of the OSG's StateAttribute classes which are named after their
OpenGL counterparts. include/osg/Transparency still exists and is
simply
a typedef to BlendFunc and is enclosed in a #ifdef USE_DEPRECTATED_API
block.
The matrix methods in the osg::Transform class have been
moved/replicated in
a osg::MatrixTransform sublcass from osg::Transform. The old matrix
functionality is still present in the osg::Transform class but is guard
by #ifdef USG_DEPRECATED_API blocks. One should now think of
osg::Transform
as being a Transform Node base class. MatrixTransform has all the
functionality of the original Transform class, so should be used
instead.
2002-07-12 14:25:10 +00:00
Robert Osfield
3edb8a3d18
Added blend color to osg::TexEnv
2002-07-12 10:30:27 +00:00
Robert Osfield
0ea6a7af4a
Fixes for Win32 build
2002-07-11 21:08:02 +00:00
Robert Osfield
c4c97a0f64
Moved the code referencing osg::BoundingBox::isValid() and
...
osg::BoundingSphere::isValid() across to use the valid() methods, the later
being more consitent with other classes such as osg::ref_ptr<>.
2002-07-11 14:32:21 +00:00
Robert Osfield
cd3c2c0b77
Fixes for Win32 build
2002-07-11 11:36:25 +00:00
Robert Osfield
5d18f0ee11
Tidied up the types in osg::GeoSet so that the index pointers use GLushort
...
and GLuint to get round compile issues under MacOSX.
2002-07-10 22:33:08 +00:00
Robert Osfield
8b1e9345df
Updates to osg::Drawable::AppCallback and osgprerender demo.
2002-07-10 20:30:57 +00:00
Robert Osfield
27338f57b1
Added app callback to Drawable.
2002-07-10 15:35:47 +00:00
Robert Osfield
c1fc3dcdb9
Ported all the demos and loaders across to use the new multitexturing API.
2002-07-10 11:22:24 +00:00
Robert Osfield
842eb59e1f
Implemented more code for the new osgprerender demo.
2002-07-09 19:23:53 +00:00
Robert Osfield
0c943945f7
Implemented most of the changes required for supporting multitexturing in
...
the osg::State/osg::StateSet/osg::StateAttribute and related classes.
2002-07-09 09:35:42 +00:00
Robert Osfield
8f4a77ce4c
Fixes for Windows build.
2002-07-07 17:42:34 +00:00
Robert Osfield
0801b363f5
Work on supporting multitexturing in State/StateSet/StateAttribute/Geoemtry.
2002-07-07 14:40:41 +00:00
Robert Osfield
04a841bf93
Spotted by Neil Salter - missing transform. in the Transform copy operator.
2002-07-03 20:33:21 +00:00
Robert Osfield
3700e7e2cd
Reimplemted the osgUtil::SceneView::setCalcNearFar() functionality to bring
...
it inline with the CullStack/CullVisitor implementation. Also added the
setSmallFeatureCullingPixelSize() method and wired them up inside
SceneView.cpp so they set the corresponding CullVisitor paramters.
Intergrated pfImage copying change in the Performer plugin, submission sent in by Ulrich Hertlein
2002-07-02 19:53:18 +00:00
Robert Osfield
01992a7790
Ported the flt plugin across to use osg::Geometry, it still uses a GeoSet
...
internally, and I will remove this after some futher work.
2002-06-27 20:29:32 +00:00
Robert Osfield
fb3e705709
Converted the template DrawElements primitive class into three seperate
...
non templated classes - UByteDrawElements, UShortDrawElements, UIntDrawElements.
2002-06-27 13:15:34 +00:00
Robert Osfield
532a32416f
Moved the AttributeArray and Primitive classes into their own header and
...
source files.
2002-06-27 10:50:19 +00:00
Robert Osfield
3765631cd7
Fix to Quat::slerp so that it interpolates along the shortest path.
2002-06-25 20:36:17 +00:00
Robert Osfield
cbeeeefdab
Added osg::Drawable::PrimitiveFunctor and TriangleFunctor subclass for
...
querrying the primitive data inside Drawables. Moved various support
classes over from being osg::GeoSet based to osg::Geometry based.
2002-06-25 20:27:51 +00:00
Robert Osfield
cbb95d0445
Checked in .osg support for the new osg::Geometry class.
2002-06-24 21:37:34 +00:00
Robert Osfield
f2e215bf44
Added conversion to osg::GeoSet::converToGeometry() utility to help the
...
migration to and testing of the new osg::Geometry class.
2002-06-23 21:43:46 +00:00
Robert Osfield
7dd82beaa9
Temporarily removed the references to multi-texturing calls.
2002-06-21 19:24:43 +00:00
Robert Osfield
49ab8f4706
Added new osggeometry demo to test the work on the new osg::Geometry Drawable.
2002-06-21 16:45:45 +00:00
Robert Osfield
476f931eaa
Addd new experimental osg::Geometry Drawable which will eventually replace
...
GeoSet. Currently doesn't draw anything, and is very much in the
early design stages.
2002-06-20 19:54:08 +00:00
Robert Osfield
d763a47d2e
Mods to MemoryManager to make the optimized build produce dummy
...
implementations for all the public functions found in the header,
this should prevent problems when not compiling in the MemoryManager
under IRIX 64 build.
2002-06-20 18:17:36 +00:00
Robert Osfield
4f4f68e961
Added support for reading the new OSG_MAX_TEXTURE_SIZE environmental variable
...
inside the osg::Image::ensureValidSizeForTexturing() method. The
smallest of GL_MAX_TEXTURE_SIZE and OSG_MAX_TEXTURE_SIZE is used for the
final max texture size.
This new env. var. allows users to deliberate cap the size of their textures
so they can test whether their models are limited by texture memory. If
reducing the max texture size increases performance then you are limited
by texture memory!
2002-06-19 18:45:05 +00:00
Robert Osfield
b12e36cede
Added computation of the bounding volume of osg::OccluderNodes.
...
Added support for osg::BoundingSphere::expandBy*(osg::BoundingBox) and have
added osg::BoundingSphere/Box::valid() which deprecates isValid(), this
is to be more consistent with other classes in the OSG.
2002-06-19 15:18:47 +00:00
Robert Osfield
21beb236d2
Added support for occlusion of holes in occluders, and cleaned up the
...
interface to ShadowVolumeOccluders.
2002-06-19 10:19:10 +00:00
Robert Osfield
b3c26d5634
Changed the osg::LightSource so its Light attribute is now generalised to
...
be a StateAttribute. This allows alternative implementations of Lights
other than the standard osg::Light.
2002-06-19 08:34:19 +00:00
Robert Osfield
5e85cd59ab
Added support for occluders occluding other occluders, which helps reduce
...
the number of occluder that will be used in cull traversal to only the
ones that will be effective. Note. Holes in occluders arn't handled in
this occluder occlusion test, will implement this later.
2002-06-18 22:35:48 +00:00
Robert Osfield
aa58ecae2f
Clean ups for the Windows build.
2002-06-18 10:18:12 +00:00
Robert Osfield
27412c27c9
Fixes to the occluder culling code to properly disable occluders to prevent
...
self occlusion.
2002-06-17 09:10:26 +00:00
Robert Osfield
156a9fbaea
Fixes for Visual .NET and Mingw builds, and fix MacOSX notify() crash.
2002-06-15 20:57:50 +00:00
Robert Osfield
52c36dde70
Added computation of occluders volume scaled relative to the frustum volume,
...
all volumes computed in eye coords.
2002-06-15 12:14:42 +00:00
Robert Osfield
25b420ac0e
Added computation of the occluders volume, scale it to a ratio of the
...
frustum.
2002-06-14 16:28:47 +00:00
Robert Osfield
73ec80843f
Refined the CollectOccluderVisitor so that it checks the subgraph below
...
a node contains occluders before traversing.
2002-06-14 13:49:59 +00:00
Robert Osfield
c71bf35152
Improvements to the plane clipping code.
2002-06-14 11:27:34 +00:00
Robert Osfield
61df1ed6b7
Further work on occlusion culling.
2002-06-13 23:46:02 +00:00
Don BURNS
8c5722577e
removed the use of gettimeofday for 32 bit architectures...
2002-06-13 19:39:28 +00:00
Robert Osfield
4e5a3696e3
Merge Randall's changes.
2002-06-13 18:27:14 +00:00
Robert Osfield
0ebe473eb5
Further work on Occlusion Culling. Most of work is complete, just debugging
...
required now.
2002-06-13 16:21:00 +00:00
Robert Osfield
e467027946
Fix for renaming of ShadowOccluderVolume to ShadowVolumeOccluder.
2002-06-12 13:54:14 +00:00
Robert Osfield
c7e99ff77a
Further work on occludision code.
2002-06-12 09:22:30 +00:00
Robert Osfield
fa13d948b5
A little more work on Occlusion culling.
2002-06-11 19:52:55 +00:00
Robert Osfield
247cb3ff7e
Checked in Macro Jez's additions to osgText to support .osg IO make it
...
a fully functioning NodeKit.
Also reimplement notify() to try an prevent a crash which has been caused by
to objects in notify.cpp being initiliazed twice, the second time the auto_ptr
holding the dev/null ofstream was being initilized to 0.
2002-06-11 18:41:57 +00:00
Robert Osfield
e1ba8a6292
Added osg::CollectOccludersVisitor which is a helper class for finding active
...
occluder in the view frustum, to be used as pre cull traversal.
2002-06-10 13:50:25 +00:00
Robert Osfield
348419219d
Created new helper class osg::CullStack to handle the accumulation of projection,
...
modelview and culling sets, to be used during travesal of the scene graph, such
as the cull traversal.
2002-06-10 11:21:21 +00:00
Robert Osfield
5feba17410
Added new osg::OccluderNode which subclasses from osg::Group, and will
...
provide hooks for adding ConvexPlanerOccluders to the scene.
2002-06-05 09:39:04 +00:00
Robert Osfield
f67be7c07f
Further work on moving culling functionality from CullVisitor into CullingSet,
...
in preperation for occlusion culling.
2002-06-04 15:21:24 +00:00
Robert Osfield
db78726acf
Updates to shadow occlusion culling code.
2002-06-03 17:49:28 +00:00
Robert Osfield
3f84849210
Additions for the support for ConvexPlaneOccluder. Work still underway.
2002-06-03 15:39:41 +00:00
Robert Osfield
ae5e4f848f
Added new osgcallback demo, and updated small API changes to improve the
...
flexiblity of callbacks.
Added beginings of convex planer occlusions culling.
2002-05-28 23:43:22 +00:00
Robert Osfield
e73d4ca5b3
Changes for Cygwin build, sent in by Norman Vine.
2002-05-28 11:40:37 +00:00
Don BURNS
5ce4a54c0d
Fixed spelling error Calander -> Calendar
2002-05-22 19:58:43 +00:00
Robert Osfield
bf872fa7ac
Renamed osg::State::getCurrentMode/Attribute(..) to
...
getLastAppliedMode/Attribute() to make it more consistent with the internal
workings of osg::State.
2002-05-21 09:16:31 +00:00
Robert Osfield
b8d8a8be27
Added osg::State::getCurrentMode and osg::State::getCurrentAttribute().
...
Aded osg::clampAbove(..) and osg::clampBelow() template functions to
include/osg/Math.
2002-05-21 08:59:26 +00:00
Robert Osfield
116e0cd8c9
Made trilinear filtering the default mode for osg::Texture's.
2002-05-18 08:37:08 +00:00
Robert Osfield
10c3b4e7bf
Fixes to new flipVertical/flipHorizontal.
2002-05-14 10:20:55 +00:00
Robert Osfield
7301d1505a
Added osg::Image::flipHorziontal and flipVertical, submitted by Brede Johansen.
2002-05-14 09:34:11 +00:00
Robert Osfield
60fe01dafa
Fixed osg::Camera::getModelViewMatrix() so that it handles the EYE_TO_MODEL
...
transform correctly.
Fixed warning in ClipNode.cpp.
2002-05-07 11:44:24 +00:00
Robert Osfield
e296df4632
Added osg::Node::getValidStateSet().
2002-05-03 22:47:57 +00:00
Robert Osfield
08a4fd5bfc
Added support for the managing the StateSet above a LightSource node,
...
and made it an osg::Group so that it can be used a decorator above a
scene.
Added osgclip demo to the test suite.
2002-05-03 16:47:16 +00:00
Robert Osfield
ae8076f83b
dded osg::ClipNode class for managing OpenGL clipping planes, and osgclip demo.
2002-05-02 00:14:40 +00:00
Robert Osfield
88c6a476ca
Fixed compile problem under VisualStudio.
2002-04-25 08:54:48 +00:00
Robert Osfield
84dd24ce3f
Fix for MacOSX build, making sure that the compresed tex image is defined
...
on all builds by removing the #ifdef's but then changing the name used
in the typedef so it doesn't collide with local implementations.
2002-04-24 20:36:47 +00:00
Robert Osfield
8f3debaf9b
Changes for Mac OSX build, sent in by Bob Kuehne
2002-04-24 20:04:34 +00:00
Robert Osfield
b2e6279178
Removed the use of __FUNCTION__ from MemoryManager to remove problems with
...
VisualStudio .NET compile.
Added support for OSG_NOTIFY_LEVEL and OSG_FILE_PATH into the relevant getenv
routines. This compliments the exisiting OSGNOTIFYLEVEL & OSGFILEPATH which
are deprecated but still supported. The OSG_ version are more consistent
with the rest of the env variables used in the OSG.
2002-04-24 14:52:53 +00:00
Robert Osfield
96c790b266
Fixed ordering of paramters in osg::Image constructor to remove warning.
2002-04-23 14:58:33 +00:00
Robert Osfield
90112df269
Changed the Windows gauard around so that it only works for VisualStudio
...
and not Cygwin/Mingw.
2002-04-23 11:03:09 +00:00
Robert Osfield
a9bf24cf71
Replaced texture compression extension define so that its #ifndef guard used
...
GL_ARB_texture_compression as natured intended.
2002-04-23 09:06:03 +00:00
Robert Osfield
dcfef4a023
Integrated submission from Boris Bralo:
...
Supported added for precompiled mip maps stored in osg::Image, and read
by osg::Texture.
Updates to TerraPage loader for support of compressed texture images and
precompiled mip maps.
2002-04-22 21:13:33 +00:00
Robert Osfield
9574ce97d2
Updated TODO list.
...
Converted AnimationPath so it is now subclassed from osg::Transform::ComputeTransfromCallback()
so that it can be directly attached to the scene to move objects about.
Changed the osg::SateSet::setGlobalDefaults() so that is sets GL_DEPTH_TEST
to ON.
Added guards and creation of default helper classes in osgGLUT::Viewer and
osgUtil::SceneView so that sensible defaults are used when no settings
are used of osg::State/StateSet,osgUtil::RenderStage/RenderGraph/CullVisitor.
2002-04-21 22:05:26 +00:00
Robert Osfield
3d3534dda9
Updated Versions, and NEWS file to reflect impending release of 0.8.45.
2002-04-21 10:11:03 +00:00
Robert Osfield
e3958790a2
Changed the implementation of osg::Quat::makeRotate(heading,pitch,roll) so that
...
it conforms to the OpenFlight convention of euler angles. Added documentation
into Matrix and Quat to reflect this.
Added so test code to osgcube for stress testing memory allocation and deallocation.
Commented out the registering of app and cull callbacks in osghud.
2002-04-19 19:55:48 +00:00
Robert Osfield
e17261c45f
Changed the osg::Billboard comution so that it get passed in the current
...
modelview matrix rathan than an identity matrix, this matrix is then modified
locally.
Changed the osg::Matrix set methods so they are inline.
Added a few useful comments to MemoryManager.cpp to help people understand
the assert's better.
2002-04-17 09:48:19 +00:00
Robert Osfield
7836540bb3
Added osg::Image::setPixelFormat(..) and setInternalTextureFormat(), and
...
renamed osg::Image::pixelFormat(), internalTextureFormat(),dataType() to
osg::Image::getPixelFormat() etc. These changes are to bring it more
into line with the style of the rest of the OSG.
Updated the rest of the distribution to take account for these names changes.
2002-04-16 14:57:39 +00:00
Robert Osfield
2b4008bbbc
Purge on warnings under Linux.
2002-04-16 14:09:46 +00:00
Robert Osfield
f8340f9ef5
Removed the cached matrices from osg::Camera, so that
...
osg::Camrea::getModelViewMatrix() and osg::Camera::getProjectionMatrix() are
calculated on the fly. Removed various redudent methods, including the
project and unproject methods which are better supported within osgUtil::SceneView.
Added a computeWindowMatrix() method to Viewport, to make it easier to construct
a MV*P*W matrix for converting local coords into screen coords and visa versa.
Converted SceneView and CullVisitor to use this new method.
2002-04-16 11:41:32 +00:00
Robert Osfield
0c6f09f4c5
Warnings fix.
2002-04-16 08:01:18 +00:00
Robert Osfield
bbef7164db
Added CullCallbacks to osg::Node, and osgUtil::CullVisitor.
2002-04-15 13:15:48 +00:00
Robert Osfield
c43607c14d
Added support for specificing the eye mapping and seperation between the
...
horizontal and veritical split stereo modes.
Renamed osg::Image::ensureDimensionArePowerOfTwo() to osg::Image::ensureValidSizeForTexturing().
2002-04-14 22:21:59 +00:00
Robert Osfield
22e8047869
Used a faster method for checking for power of 2 on the image dimensions and
...
did a check on forcing 16bits textures in osg::Texture (which speeds things
up on the Umea model which is performance bound by texture memory.), the
later check is now commented out.
2002-04-14 20:30:43 +00:00
Robert Osfield
09d41789da
Fixes to osg::Image::createImage(..), and addition of code to Viewer.cpp to support
...
output of screen snapshot via 'O'.
2002-04-14 13:41:13 +00:00
Robert Osfield
341ffb2361
Further work on cleaning up SceneView and Camera, in particular moving strereo
...
support out of Camera and into SceneView. Also enabled the option to set the
projection and modelview matrices directly on SceneView thereby removing the
dependance on osg::Camrea to control the view of the scene.
2002-04-12 18:06:13 +00:00
Robert Osfield
468580a12c
Fixes for Win32 build.
2002-04-12 14:05:55 +00:00
Robert Osfield
a44efe01bb
Fixes for Win32 build
2002-04-12 09:53:39 +00:00