diff --git a/include/osgTerrain/DataSet b/include/osgTerrain/DataSet index 9a103f8e7..905d645a7 100644 --- a/include/osgTerrain/DataSet +++ b/include/osgTerrain/DataSet @@ -626,7 +626,7 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced { DefaultSourceAdvancer() {} - bool isActive(const CompositeSource& composite,int index) + bool isActive(const CompositeSource& /*composite*/,int /*index*/) { return true; } diff --git a/include/osgUtil/RenderBin b/include/osgUtil/RenderBin index 6ac21661c..8b4a0c6b8 100644 --- a/include/osgUtil/RenderBin +++ b/include/osgUtil/RenderBin @@ -57,7 +57,9 @@ class OSGUTIL_EXPORT RenderBin : public osg::Object - RenderBin(SortMode mode=getDefaultRenderBinSortMode()); + RenderBin(); + + RenderBin(SortMode mode); /** Copy constructor using CopyOp to manage deep vs shallow copy.*/ RenderBin(const RenderBin& rhs,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); diff --git a/include/osgUtil/RenderStage b/include/osgUtil/RenderStage index 76e681d1d..4114ba4c3 100644 --- a/include/osgUtil/RenderStage +++ b/include/osgUtil/RenderStage @@ -36,7 +36,8 @@ class OSGUTIL_EXPORT RenderStage : public RenderBin public: - RenderStage(SortMode mode=getDefaultRenderBinSortMode()); + RenderStage(); + RenderStage(SortMode mode); RenderStage(const RenderStage& rhs,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY); diff --git a/src/osgUtil/RenderBin.cpp b/src/osgUtil/RenderBin.cpp index d399e4554..7f143a6f8 100644 --- a/src/osgUtil/RenderBin.cpp +++ b/src/osgUtil/RenderBin.cpp @@ -114,6 +114,14 @@ RenderBin::SortMode RenderBin::getDefaultRenderBinSortMode() return s_defaultBinSortMode; } +RenderBin::RenderBin() +{ + _binNum = 0; + _parent = NULL; + _stage = NULL; + _sortMode = getDefaultRenderBinSortMode(); +} + RenderBin::RenderBin(SortMode mode) { _binNum = 0; diff --git a/src/osgUtil/RenderStage.cpp b/src/osgUtil/RenderStage.cpp index b06aad6d0..b89a015bb 100644 --- a/src/osgUtil/RenderStage.cpp +++ b/src/osgUtil/RenderStage.cpp @@ -23,6 +23,21 @@ using namespace osgUtil; // register a RenderStage prototype with the RenderBin prototype list. //RegisterRenderBinProxy s_registerRenderStageProxy; +RenderStage::RenderStage(): + RenderBin(getDefaultRenderBinSortMode()) +{ + // point RenderBin's _stage to this to ensure that references to + // stage don't go tempted away to any other stage. + _stage = this; + _stageDrawnThisFrame = false; + + _clearMask = GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT; + _clearColor.set(0.0f,0.0f,0.0f,0.0f); + _clearAccum.set(0.0f,0.0f,0.0f,0.0f); + _clearDepth = 1.0; + _clearStencil = 0; +} + RenderStage::RenderStage(SortMode mode): RenderBin(mode) { diff --git a/src/osgWrappers/osgUtil/RenderBin.cpp b/src/osgWrappers/osgUtil/RenderBin.cpp index 87de04efb..9abad7d77 100644 --- a/src/osgWrappers/osgUtil/RenderBin.cpp +++ b/src/osgWrappers/osgUtil/RenderBin.cpp @@ -45,7 +45,8 @@ END_REFLECTOR BEGIN_OBJECT_REFLECTOR(osgUtil::RenderBin) I_BaseType(osg::Object); - I_ConstructorWithDefaults1(IN, osgUtil::RenderBin::SortMode, mode, osgUtil::RenderBin::getDefaultRenderBinSortMode()); + I_Constructor0(); + I_Constructor1(IN, osgUtil::RenderBin::SortMode, mode); I_ConstructorWithDefaults2(IN, const osgUtil::RenderBin &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); I_Method0(osg::Object *, cloneType); I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop); diff --git a/src/osgWrappers/osgUtil/RenderStage.cpp b/src/osgWrappers/osgUtil/RenderStage.cpp index 023f072b1..769de6362 100644 --- a/src/osgWrappers/osgUtil/RenderStage.cpp +++ b/src/osgWrappers/osgUtil/RenderStage.cpp @@ -33,7 +33,8 @@ BEGIN_OBJECT_REFLECTOR(osgUtil::RenderStage) I_BaseType(osgUtil::RenderBin); - I_ConstructorWithDefaults1(IN, osgUtil::RenderBin::SortMode, mode, osgUtil::RenderBin::getDefaultRenderBinSortMode()); + I_Constructor0(); + I_Constructor1(IN, osgUtil::RenderBin::SortMode, mode); I_ConstructorWithDefaults2(IN, const osgUtil::RenderStage &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); I_Method0(osg::Object *, cloneType); I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop);