Robert Osfield
839dbb1bc1
Added catch for NULL Transform pointers getting into the _transformMap.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14388 16af8721-9629-0410-8352-f15c8da7e697
2014-07-29 15:47:55 +00:00
Robert Osfield
7dc3b34bfd
Removed State::AppliedProgramObjectSet container and Obsever usage from osg::State to address threading bug crash.
...
The State::AppliedProgramObjectSet wasn't ever being used actively in the current rev of the OSG so populating and clearing was no longer neccessary, allowing the code to be removed completely.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14377 16af8721-9629-0410-8352-f15c8da7e697
2014-07-22 16:02:33 +00:00
Robert Osfield
d3945d5210
From Pjotr Svetachov, "I think I spotted some unneeded ref_ptrs in the cullvisitor. The call
...
pushModelViewMatrix or pushProjectionMatrix will already keep the
reference when adding it to the MatrixStack. In CullVisitor::apply
methods for the billboard and the camera you already take a pointer
instead of a ref_ptr."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14375 16af8721-9629-0410-8352-f15c8da7e697
2014-07-21 14:32:40 +00:00
Robert Osfield
1d4fbbce1f
Removed unused method.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14318 16af8721-9629-0410-8352-f15c8da7e697
2014-06-27 15:55:05 +00:00
Robert Osfield
e9728042b9
From Laurens Voerman, "attached is a modified version of src/osgUtil/Tessellator.cpp
...
current code checks for a Nullpointer and on notify level info or above will inform you with a crash, by dereferencing it."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14315 16af8721-9629-0410-8352-f15c8da7e697
2014-06-27 15:48:38 +00:00
Robert Osfield
5c488d4c46
From Mikhail Izmestev, "Attached fix to avoid vector usage in StateGraph::prune and reduce heap allocations."
...
Notes from Robert Osfield, ammended the erase so that it explictly increments the iterator before the erase call.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14277 16af8721-9629-0410-8352-f15c8da7e697
2014-06-25 10:45:18 +00:00
Robert Osfield
7295258d71
Merged fix to merge geometries.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14265 16af8721-9629-0410-8352-f15c8da7e697
2014-06-24 11:24:13 +00:00
Robert Osfield
c6ab14018a
Fixed check against totaly number of vertices
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14262 16af8721-9629-0410-8352-f15c8da7e697
2014-06-16 16:16:10 +00:00
Robert Osfield
977ec20751
Refactored Callback system in osg::Node, osg::Drawable, osg::StateSet and osg::StateAttribute to use a new osg::Callback base class.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14244 16af8721-9629-0410-8352-f15c8da7e697
2014-06-05 16:26:13 +00:00
Robert Osfield
333a16a88d
Reverted change of Node::ParentList from being a vector<Node*> back to a vector<Group*>
2014-06-03 09:52:55 +00:00
Robert Osfield
3dde165f14
Refactor osg::Geode to subclass from osg::Group and reuse the NodeList children container
2014-06-03 09:23:24 +00:00
Robert Osfield
03fc0c3662
Added support for intesecting Drawable that are attached directly to the scene graph without an osg::Geode
2014-05-15 16:30:17 +00:00
Robert Osfield
afcf54b108
Fixed the bounding sphere computation and handling of Drawable as the root of the scene graph
2014-05-14 16:52:18 +00:00
Robert Osfield
74f91037a7
Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase
2014-05-14 16:01:40 +00:00
Robert Osfield
4174d72a52
2014-05-14 10:19:43 +00:00
Robert Osfield
12a737ae02
Changed the Node::ParentList to be a list of osg::Node rather than osg::Group, and added addChild, removeChild, replaceChild virtual method to Node to enable code
...
to user code compile with minimal modifications to account for the new change to the Node ParentList.
2014-05-13 08:43:07 +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
88aa9ac5de
From Bjorn Hein, "please find attached a small fix for RayIntersector.cpp.
...
* Changes are made against trunk
* Reason: crashes when using specific constructor from RayIntersector
* Info: Line 42: added in constructor
RayIntersector::RayIntersector(const Vec3d& start, const Vec3d&
direction) missing initialisation of _parent
"
2014-04-07 13:52:01 +00:00
Robert Osfield
ea429d5d46
Added clean up of osg::Program that are applied by the GLObjectsVisitor, which addresses a state leak that creates GL error once the main scene graph is rendered.
2014-01-23 09:41:09 +00:00
Robert Osfield
2501f32e9a
Changed epsilon to 1e-5 to address picking problems with planaer objects
2013-12-11 17:20:14 +00:00
Robert Osfield
25b8b8bd16
Quietened down debug messages
2013-11-08 12:25:35 +00:00
Robert Osfield
7a2900e238
Added osgUtil::Intersector::PrecisionHint member and set it's default to USE_DOUBLE_COMPUTATIONS, and implemented support for use double or float maths internally in LineSegmentIntersector and RayIntersector classes
2013-11-07 12:35:34 +00:00
Robert Osfield
83c396b13b
From Jan Peciva, RayIntersector implementation
2013-10-03 08:45:57 +00:00
Robert Osfield
0ba856a637
2013-09-30 10:28:14 +00:00
Robert Osfield
6d8f40d13a
Added support for passing parameters in and out of scripts.
...
Implemented support for osg::ValueObject in LuaScriptEngine.
2013-09-24 15:17:42 +00:00
Robert Osfield
b9ecec6452
Refactored the use of epsilon in the clamping of the start/end points of the LineSegmentIntersector to better handle numerical precision issues.
2013-09-02 10:56:14 +00:00
Robert Osfield
5f6a1f4093
From Anish Thomas, added catch for to an empty DrawElementsUInt creation.
2013-08-01 11:25:02 +00:00
Robert Osfield
07365c1073
Added osg::RenderInfo::pushRenderBin()/popRenderBin() and RenderInfo::getRenderBinStack() and getCameraStack() access methods for getting access to the current RenderBin/RenderStage.
2013-08-01 07:19:45 +00:00
Robert Osfield
364e2765e7
Added Intersector::get/setEpsilon(double) to allow users to control what epsilon is used by the LineSegmentIntersector when doing testing of itersections with bounding boxes
2013-07-31 13:11:49 +00:00
Robert Osfield
d3c2896651
Added SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and CLEAR_GLOBAL_STATESET to control whether a _globalStateSet->clear() and _globalStateSet->setGlobalDefaults() should be called.
...
osgViewer::Renderer doesn't use these enum settings so now no longer has a calls StateSet::clear() or StateSet::setGlobalDefaults() on the osg::Camera's StateSet. Previously these were being
called and breaking the ability to attached state to Camera's StateSet.
2013-07-02 09:27:14 +00:00
Robert Osfield
2e41e3f656
From Gill Peacegood, "fix for a memory leak in the DelaunayConstraint class"
2013-06-28 14:21:43 +00:00
Robert Osfield
097aedf23c
From David Callu, warning fixes and removal of spaces at end of lines.
2013-06-28 12:00:43 +00:00
Robert Osfield
092dd93be8
Removed deprecated usage of osg::Geometry::get*Binding()
2013-06-27 10:58:26 +00:00
Robert Osfield
7ee05a345a
Replaced deprecated osg::Geometry::set*Binding() usage
2013-06-26 17:45:19 +00:00
Robert Osfield
a459033eff
From Sebastian Messerschmidt, "I've taken some time and refactored some places where the old set*Binding were used."
2013-06-26 16:16:23 +00:00
Robert Osfield
6377e37e88
From Pjotr Svetachov and Robert Osfield, "the index mesh and vertex pre-transform optimizers can rearrange or change the size of arrays assigned to a geometry. This leads to crashes or corrupt geometry when using shared arrays.
...
Attached a fix that duplicates shared geometry arrays."
2013-06-26 09:04:20 +00:00
Robert Osfield
0896bd17bd
From Lars Nillson, "The change in this submission is to take care of the setting given by a call to
...
setMaximumNumOfObjectsToCompilePerFrame(…).
Sometimes if you give a low number, more than the expected number of objects are compiled."
2013-06-24 11:14:13 +00:00
Robert Osfield
ca2688b046
Convert usage to use const versions of containers
2013-06-24 11:03:59 +00:00
Robert Osfield
db4b7584fb
From Farshid Lashkari, "In many game engines it is common to set the W component of the tangent vector to -1 if the UVs are mirrored and 1 if not. I've updated the osgUtil::TangentSpaceGenerator class to do the same."
2013-06-24 08:18:08 +00:00
Robert Osfield
df3626be27
Fixed author name error introduced by xxdiff
2013-06-21 14:37:35 +00:00
Robert Osfield
9d9543ca0a
From Pjotr Svetachov, introduced use of osg::observer_ptr<osg::Camera> in place of osg::Camera*
2013-06-21 13:59:18 +00:00
Robert Osfield
df075ef9bb
Cleaned up usage of BIND_PER_PRIMITIVE where possible.
2013-06-19 16:24:59 +00:00
Robert Osfield
9c127c2bca
From Magnus Kessler, typo fixes to doxygen docs and comments
2013-06-19 12:32:40 +00:00
Robert Osfield
935b4de15d
From Magnus Kessler, "gcc-4.8 flagged this:
...
src/osgUtil/tristripper/src/tri_stripper.cpp:375:40: warning: typedef
‘tri_node_iter’ locally defined but not used [-Wunused-local-typedefs]
typedef triangle_graph::node_iterator tri_node_iter;
^
---
src/osgUtil/tristripper/src/tri_stripper.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/osgUtil/tristripper/src/tri_stripper.cpp
b/src/osgUtil/tristripper/src/tri_stripper.cpp
index 2f5a7f3..3396881 100644
--- a/src/osgUtil/tristripper/src/tri_stripper.cpp
+++ b/src/osgUtil/tristripper/src/tri_stripper.cpp
@@ -372,7 +372,6 @@ inline tri_stripper::const_link_iterator
tri_stripper::BackLinkToNeighbour(const
void tri_stripper::MarkTriAsTaken(const size_t i)
{
- typedef triangle_graph::node_iterator tri_node_iter;
typedef triangle_graph::out_arc_iterator tri_link_iter;
// Mark the triangle node"
2013-06-19 12:28:06 +00:00
Robert Osfield
002ea7ebdd
Converted tabs to four spaces
2013-06-19 12:27:28 +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
18c37d14cd
Moved quad buffer definitions into include/osg/Camera
2013-05-27 08:10:42 +00:00
Robert Osfield
f3d21bd285
From Farshid Lashkari, " small update to TangentSpaceGenerator to support QUAD_STRIP primitive types."
2013-05-25 10:09:23 +00:00
Robert Osfield
668d351765
Introduced new scheme for handling mouse events with osgViewer. The new scheme enables robust event handling even when using distortion correction render to texture Cameras.
2013-05-03 19:26:27 +00:00
Robert Osfield
adea6c9329
Implemented stereo support into osgkeystone as a testbed for moving stereo support from SceneView into osgViewer
2013-04-18 09:47:28 +00:00