Robert Osfield
b90503fdf5
Introduced new shader composition approach that utilizes #pragma requires(), #pragma import_defines() and #ifdef in GLSL to enable multiple different versions of shaders based
...
on defines passed in from osg::StateSet::setDefine(..).
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14681 16af8721-9629-0410-8352-f15c8da7e697
2015-02-10 17:04:02 +00:00
Robert Osfield
20b9f3ff88
Added Node::asDrawable() and Node::asGeometry() methods to provide a low cost way of casting a node to Drawable and Geoemtry.
...
Changed the Group::computeBound() method so that it takes account of the a Drawable's BoundingBox.
2014-05-15 09:26:59 +00:00
Robert Osfield
b2c7bacfe9
From Farshid Lashkari, "As discussed, I've added the ability to handle Drawable objects within the NodeVisitor class. Here is an overview of the changes:
...
- Added apply(Drawable) and apply(Geometry) to NodeVisitor
- Added accept(NodeVisitor) method to Drawable/Geometry
- Added traverse(NodeVisitor) to Geode which calls accept(NodeVisitor) on all Drawables
- Updated CullVisitor to use new apply(Drawable) to handle drawables. The apply(Billboard) method still manually handles the drawables since it is depends on the billboard settings. I needed to disable the traverse within billboard to prevent duplicate traversal of drawables.
- Update other osgUtil node visitors (GLObjectsVisitor, IncrementalCompileOperation, ..) to use new apply(Drawable) method.
"
2014-05-12 12:10:35 +00:00
Robert Osfield
4ef5d9eb5f
Added Vector serialization and support in lua plugin top enable script users to set/get vector properties such as osg::Array, osg::PrimitiveSet and children lists.
2014-02-24 10:19:48 +00:00
Robert Osfield
a54b999ccc
Added Geometry::drawVertexArraysomplemetation(..) and drawPrimitivesImplemenation(..) methods that are called from drawImplementation(..). These new vertex methods
...
allow subclasses from osg::Geometry to specialize the vertex array setup or how the primitives are dispatched to OpenGL.
2013-11-21 10:31:34 +00:00
Robert Osfield
90ceb88c12
Replaced deprecatated osg::Geometry::get*Binding() calls.
2013-06-27 14:46:16 +00:00
Robert Osfield
3de0ec1904
Removed #include<osg/Notify> as it's nolonger required in the header
2013-06-25 16:19:00 +00:00
Robert Osfield
1793466442
With assistance from Sukender, moved the depreacted osg::Geometry vertex indices and AttributeBinding definitions out into a separated namespace/class so to use
...
deprecated features you should now use deprecated_osg::Geometry in place of osg::Geometry.
2013-06-25 16:10:24 +00:00
Robert Osfield
1e715b6877
From Sukender, "I recently pulled from the GIT mirror and found that "OSG_USE_DEPRECATED_GEOMETRY_METHODS=OFF" hides a little mistake: there is a "#include <osg/Notify>" inside the "osg" namespace, in inlude/osg/Geometry.
...
"
2013-06-24 12:27:19 +00:00
Robert Osfield
15fea448d8
Added new osg::Array::Binding parameter to osg::Geometry::set*Array(osg::Array* array, osg::Array::Binding binding=osg::Array::BIND_UNDEFINED) methods to make it easier for the user
...
to set the binding without the need to call the deprecated osg::Geometry::set*Binding(osg::Geometry::AttributeBinding)
2013-06-21 09:43:15 +00:00
Robert Osfield
df075ef9bb
Cleaned up usage of BIND_PER_PRIMITIVE where possible.
2013-06-19 16:24:59 +00:00
Robert Osfield
635993038a
Changed header guard back to original, and removed deprecated enum
2013-06-18 14:52:26 +00:00
Robert Osfield
7d40c7258f
Clean up up osg::Geometry, removing long deprecated support for array indices and BIND_PER_PRIMITIVE binding that forced OpenGL slow paths. osg::Geometry is now smaller and only supports OpenGL fasts paths.
...
New methods osg::Geometry::containsDeprecatedData() and osg::Geometry::fixDeprecatedData() provide a means for converting geometries that still use the array indices and BIND_PER_PRIMITIVE across to complient
versions.
Cleaned up the rest of the OSG where use of array indices and BIND_PER_PRIMITIVE were accessed or used.
2013-06-18 11:18:28 +00:00
Robert Osfield
bc533022ae
Added deprecated note to indices entry.
2012-09-05 08:42:14 +00:00
Robert Osfield
14a563dc9f
Ran script to remove trailing spaces and tabs
2012-03-21 17:36:20 +00:00
Robert Osfield
d644a6dfe3
Added osg::Geometry::verifyArray(std::ostream&) method to enable checks to be done on osg::Geometry to see if the arrays
...
are big enough to handle the primitives used in the geometry.
Added usage of verifyArray into osgfilecache so that it reports any problems on reading files in paged database.
2011-01-03 19:41:06 +00:00
Robert Osfield
cc93824605
From Alexander Irion, "When a osg::Geometry node is loaded from a ".osgb" file, there is no element buffer object created for the primitives element indices, although _useVertexBufferObjects is enabled. This bug decreases the rendering performance."
2010-11-01 17:05:53 +00:00
Robert Osfield
6e7c02b5d8
Added a Geometry::compileGLObjects() to handle compilation of VBO + EBO's.
2009-12-09 13:51:02 +00:00
Robert Osfield
b8f7310d50
Removed, now inappropriate, references to glBegin/glEnd.
2009-10-22 12:04:26 +00:00
Robert Osfield
0669107287
From Roland Smeenk, "While working on the Collada plugin I noticed that all geometry created by the dae reader result in slow path geometry.
...
Because there already exists the option to convert slow path geometry to the fast path by computing an internal fast path alternative, I added a new optimizer option that automatically does this. To check the results I also made some changes to the statistics gathering and rendering.
Somewhat unrelated, but also part of the optimizer I disabled removal of CameraView nodes during RemoveRedundantNodes optimization.
As discussed on the ML, CameraViews were removed from the scenegraph. This solves that issue.
Summary:
-Geometry::areFastPathsUsed now also looks at internalOptimizedGeometry
-Added Optimize option to make all slow path geometry compute their internal fast path alternative
-Added fast geometry counter to the statistics
-Disabled removel of CameraViews in optimizer
"
2009-03-10 14:15:59 +00:00
Robert Osfield
411431f3be
Fixed warnings, updated NEWS
2009-01-30 10:55:28 +00:00
Robert Osfield
d71a6f6cab
Introduced Geometry::containsSharedArrays() and Geometry::duplicateSharedArrays() to
...
support a fix to the osgUtil::Simplifier that couldn't handle shared arrays
2008-09-14 10:31:27 +00:00
Robert Osfield
bc1032653c
Moved vertex indicies method into a single block with deprecated doc lines
2008-07-04 11:51:55 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
859bcf3c4b
Further perfomrmance optimizations and clean up on new VBO/EBO/PBO API.
2007-05-01 18:03:32 +00:00
Robert Osfield
40db1a8934
Moved VBO switching code into inline methods into osg::State to speed performance
2007-05-01 06:28:20 +00:00
Robert Osfield
4968eb7136
Further work on the new VBO support
2007-04-27 14:52:30 +00:00
Robert Osfield
7fc714ada1
Removed deprecated drawImplementation(State&) method from Drawable and Drawable::DrawCallback
2007-03-28 11:30:38 +00:00
Robert Osfield
579700bedf
From Mike Wittman, " noticed that some type references of osg::Drawable::AttributeFunctor, osg::Drawable::ConstAttributeFunctor, and osg::StateAttribute::ModeUsage in osg and osgSim were not being properly reflected in osgIntrospection. This appears to be due to Doxygen not handling nested types from superclasses if they're not qualified when referenced in subclasses.
...
These changes add the necessary superclass type qualification so that Doxygen now recognizes the references."
2007-03-05 17:34:36 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
1dcb923c15
From Daniel Trastenjak, added checking of binding modes to ensure that changes are only applied
...
when the binding mode changes, thereby avoiding uncessary calls to dirtyDisplayList.
Note, from Robert Osfield, moved bodies of set*Binding() into Geometry.cpp to avoid
clutter in the header.
2006-05-15 11:48:05 +00:00
Robert Osfield
65d06b4577
From Farshid Lashkari, removed second redundent dirtyDisplayList() call.
2005-12-06 10:18:33 +00:00
Robert Osfield
33f4494830
Added missing dirtyDisplayList call into osg::Geometry::set calls.
2005-11-22 13:56:50 +00:00
Robert Osfield
0d8e38f9ee
Tweaks for better OSX paging support, 6 and 9 keys for control drive manipulator
...
up and down looking, and removed redundent API from osg::Geometry.
2005-07-07 14:14:38 +00:00
Robert Osfield
facb0e2638
From Pavel Moloshtan, Byte2,3,4 and Short2,3,4 classes and their Array counterparts.
...
With a few build tweaks and bug fixes by Robert Osfield.
2005-07-05 15:57:53 +00:00
Robert Osfield
2b08f729f3
Updated change log.
...
From Fredric Marmond, changed unsigned int to unsigned long to avoid compile errors under 64 bit compile.
2005-05-25 15:35:51 +00:00
Robert Osfield
678b22ce83
Updated Copyright notices to 1998-2005.
2005-04-14 21:41:28 +00:00
Robert Osfield
d268cf46fa
Renamed SG_LIBRARY and SG_EXPORT macro's to OSG_LIBRARY and OSG_EXPORT
2005-04-11 17:14:17 +00:00
Robert Osfield
f8426a8ad8
Made supports(..) methods use support(const ...)
2005-03-18 02:42:59 +00:00
Robert Osfield
5747773096
From Tree, changes to better support Java binding generation
2004-09-28 09:14:04 +00:00
Robert Osfield
0d884d66eb
Various improvements to database paing.
2004-09-21 17:26:08 +00:00
Robert Osfield
ee67127279
From Eric Hammil, typo and spelling fixes
2004-09-13 15:14:11 +00:00
Robert Osfield
ba295ccab7
Added a more flexible variable on the textured quad generation function
2004-07-12 01:01:00 +00:00
Robert Osfield
aa52005b87
Added empty() method to Geometry to facilitate tests for removing empty
...
geometry from the scene graph.
Added removal of empty geometry leaves from within the RemoveEmptyNodeVisitor
2004-03-29 10:24:16 +00:00
Robert Osfield
86dbbb2874
Added PrimitiveIndexFunctor for better support of TriangleIndexFunctor
2004-03-14 21:54:17 +00:00
Robert Osfield
a3d99d88ff
Added float s, float t parameters to createTexturedGeometry function
2004-03-09 14:58:50 +00:00
Robert Osfield
458e10c796
Fixed getFogCoord methods
2004-01-02 20:44:18 +00:00
Robert Osfield
db66abd6d6
Implemented duplicate removal code into TriStripVisitor and added an
...
extra pass to doing tri stripping in the osgUtil::Optimzer.
Added validity checks into osg::TexEnvCombine to catch eronous enumarant values.
Improved the efficient of CullingSet's handling of new transforms.
Added a copy shared subgraphs and subdivision code into osgUtil::Optimizer.
2003-12-03 21:45:32 +00:00
Robert Osfield
2812c50329
Improved the Geometry::verifyBinding() and computeCorrectBindingsAndArraySizes()
...
methods to check all atributes and to report warnigns when errors are detected.
Added a CheckGeomtryVisitor to osgUtil::Optimizer to detect eroneous Geometry
before rendering.
2003-09-24 15:54:22 +00:00
Robert Osfield
b165fc9b4d
Cleaned up handling of vertex arrays in osg::Geometry.
...
Added support for vertex attribute arrays in .osg and .ive.
2003-09-09 22:18:35 +00:00