mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-05 16:45:34 +00:00
Merge remote-tracking branch 'scrawl/osg_34'
This commit is contained in:
commit
28e3fe837f
12 changed files with 1 additions and 132 deletions
|
@ -233,7 +233,7 @@ if (USE_QT)
|
||||||
set (OSG_QT osgQt)
|
set (OSG_QT osgQt)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(OpenSceneGraph 3.2.0 REQUIRED osgDB osgViewer osgText osgGA osgAnimation osgParticle ${OSG_QT} osgUtil osgFX)
|
find_package(OpenSceneGraph 3.3.4 REQUIRED osgDB osgViewer osgText osgGA osgAnimation osgParticle ${OSG_QT} osgUtil osgFX)
|
||||||
|
|
||||||
include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
|
include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/BlendFunc>
|
#include <osg/BlendFunc>
|
||||||
#include <osg/Material>
|
#include <osg/Material>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
#include <osgParticle/ParticleSystem>
|
#include <osgParticle/ParticleSystem>
|
||||||
|
|
||||||
|
@ -201,17 +200,10 @@ namespace
|
||||||
class RemoveDrawableVisitor : public RemoveVisitor
|
class RemoveDrawableVisitor : public RemoveVisitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void apply(osg::Geode &geode)
|
|
||||||
{
|
|
||||||
applyImpl(geode);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
virtual void apply(osg::Drawable& drw)
|
virtual void apply(osg::Drawable& drw)
|
||||||
{
|
{
|
||||||
applyImpl(drw);
|
applyImpl(drw);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void applyImpl(osg::Node& node)
|
void applyImpl(osg::Node& node)
|
||||||
{
|
{
|
||||||
|
@ -239,17 +231,10 @@ namespace
|
||||||
class RemoveTriBipVisitor : public RemoveVisitor
|
class RemoveTriBipVisitor : public RemoveVisitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void apply(osg::Geode &node)
|
|
||||||
{
|
|
||||||
applyImpl(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
virtual void apply(osg::Drawable& drw)
|
virtual void apply(osg::Drawable& drw)
|
||||||
{
|
{
|
||||||
applyImpl(drw);
|
applyImpl(drw);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void applyImpl(osg::Node& node)
|
void applyImpl(osg::Node& node)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <osg/Group>
|
#include <osg/Group>
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/UserDataContainer>
|
#include <osg/UserDataContainer>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
#include <osgParticle/ParticleSystem>
|
#include <osgParticle/ParticleSystem>
|
||||||
#include <osgParticle/ParticleProcessor>
|
#include <osgParticle/ParticleProcessor>
|
||||||
|
@ -43,26 +42,11 @@ namespace
|
||||||
traverse(node);
|
traverse(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void apply(osg::Geode& geode)
|
|
||||||
{
|
|
||||||
std::vector<osgParticle::ParticleSystem*> partsysVector;
|
|
||||||
for (unsigned int i=0; i<geode.getNumDrawables(); ++i)
|
|
||||||
{
|
|
||||||
osg::Drawable* drw = geode.getDrawable(i);
|
|
||||||
if (osgParticle::ParticleSystem* partsys = dynamic_cast<osgParticle::ParticleSystem*>(drw))
|
|
||||||
partsysVector.push_back(partsys);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (std::vector<osgParticle::ParticleSystem*>::iterator it = partsysVector.begin(); it != partsysVector.end(); ++it)
|
|
||||||
geode.removeDrawable(*it);
|
|
||||||
}
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
virtual void apply(osg::Drawable& drw)
|
virtual void apply(osg::Drawable& drw)
|
||||||
{
|
{
|
||||||
if (osgParticle::ParticleSystem* partsys = dynamic_cast<osgParticle::ParticleSystem*>(&drw))
|
if (osgParticle::ParticleSystem* partsys = dynamic_cast<osgParticle::ParticleSystem*>(&drw))
|
||||||
mToRemove.push_back(partsys);
|
mToRemove.push_back(partsys);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void remove()
|
void remove()
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include <osg/Material>
|
#include <osg/Material>
|
||||||
#include <osg/TexEnvCombine>
|
#include <osg/TexEnvCombine>
|
||||||
#include <osg/TexMat>
|
#include <osg/TexMat>
|
||||||
#include <osg/Version>
|
|
||||||
#include <osg/OcclusionQueryNode>
|
#include <osg/OcclusionQueryNode>
|
||||||
#include <osg/ColorMask>
|
#include <osg/ColorMask>
|
||||||
#include <osg/MatrixTransform>
|
#include <osg/MatrixTransform>
|
||||||
|
@ -1282,11 +1281,7 @@ public:
|
||||||
if (stateset->getAttribute(osg::StateAttribute::MATERIAL))
|
if (stateset->getAttribute(osg::StateAttribute::MATERIAL))
|
||||||
{
|
{
|
||||||
SceneUtil::CompositeStateSetUpdater* composite = NULL;
|
SceneUtil::CompositeStateSetUpdater* composite = NULL;
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
osg::Callback* callback = node.getUpdateCallback();
|
osg::Callback* callback = node.getUpdateCallback();
|
||||||
#else
|
|
||||||
osg::NodeCallback* callback = node.getUpdateCallback();
|
|
||||||
#endif
|
|
||||||
while (callback)
|
while (callback)
|
||||||
{
|
{
|
||||||
if ((composite = dynamic_cast<SceneUtil::CompositeStateSetUpdater*>(callback)))
|
if ((composite = dynamic_cast<SceneUtil::CompositeStateSetUpdater*>(callback)))
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/Geometry>
|
#include <osg/Geometry>
|
||||||
#include <osg/Array>
|
#include <osg/Array>
|
||||||
#include <osg/Version>
|
|
||||||
#include <osg/LOD>
|
#include <osg/LOD>
|
||||||
|
|
||||||
// resource
|
// resource
|
||||||
|
@ -934,13 +933,7 @@ namespace NifOsg
|
||||||
updater->addParticleSystem(partsys);
|
updater->addParticleSystem(partsys);
|
||||||
parentNode->addChild(updater);
|
parentNode->addChild(updater);
|
||||||
|
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
osg::ref_ptr<osg::Geode> geode (new osg::Geode);
|
|
||||||
geode->addDrawable(partsys);
|
|
||||||
osg::Node* toAttach = geode.get();
|
|
||||||
#else
|
|
||||||
osg::Node* toAttach = partsys.get();
|
osg::Node* toAttach = partsys.get();
|
||||||
#endif
|
|
||||||
|
|
||||||
if (rf == osgParticle::ParticleProcessor::RELATIVE_RF)
|
if (rf == osgParticle::ParticleProcessor::RELATIVE_RF)
|
||||||
parentNode->addChild(toAttach);
|
parentNode->addChild(toAttach);
|
||||||
|
@ -1017,11 +1010,6 @@ namespace NifOsg
|
||||||
triShapeToGeometry(triShape, geometry, parentNode, composite, boundTextures, animflags);
|
triShapeToGeometry(triShape, geometry, parentNode, composite, boundTextures, animflags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
osg::ref_ptr<osg::Geode> geode (new osg::Geode);
|
|
||||||
geode->addDrawable(geometry);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (geometry->getDataVariance() == osg::Object::DYNAMIC)
|
if (geometry->getDataVariance() == osg::Object::DYNAMIC)
|
||||||
{
|
{
|
||||||
// Add a copy, we will alternate between the two copies every other frame using the FrameSwitch
|
// Add a copy, we will alternate between the two copies every other frame using the FrameSwitch
|
||||||
|
@ -1029,24 +1017,14 @@ namespace NifOsg
|
||||||
geometry->setDataVariance(osg::Object::STATIC);
|
geometry->setDataVariance(osg::Object::STATIC);
|
||||||
osg::ref_ptr<FrameSwitch> frameswitch = new FrameSwitch;
|
osg::ref_ptr<FrameSwitch> frameswitch = new FrameSwitch;
|
||||||
|
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
osg::ref_ptr<osg::Geode> geode2 = static_cast<osg::Geode*>(osg::clone(geode.get(), osg::CopyOp::DEEP_COPY_NODES|osg::CopyOp::DEEP_COPY_DRAWABLES));
|
|
||||||
frameswitch->addChild(geode);
|
|
||||||
frameswitch->addChild(geode2);
|
|
||||||
#else
|
|
||||||
osg::ref_ptr<osg::Geometry> geom2 = static_cast<osg::Geometry*>(osg::clone(geometry.get(), osg::CopyOp::DEEP_COPY_NODES|osg::CopyOp::DEEP_COPY_DRAWABLES));
|
osg::ref_ptr<osg::Geometry> geom2 = static_cast<osg::Geometry*>(osg::clone(geometry.get(), osg::CopyOp::DEEP_COPY_NODES|osg::CopyOp::DEEP_COPY_DRAWABLES));
|
||||||
frameswitch->addChild(geometry);
|
frameswitch->addChild(geometry);
|
||||||
frameswitch->addChild(geom2);
|
frameswitch->addChild(geom2);
|
||||||
#endif
|
|
||||||
|
|
||||||
parentNode->addChild(frameswitch);
|
parentNode->addChild(frameswitch);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
parentNode->addChild(geode);
|
|
||||||
#else
|
|
||||||
parentNode->addChild(geometry);
|
parentNode->addChild(geometry);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
osg::ref_ptr<osg::Geometry> handleMorphGeometry(const Nif::NiGeomMorpherController* morpher, const Nif::NiTriShape *triShape, osg::Node* parentNode, SceneUtil::CompositeStateSetUpdater* composite, const std::vector<int>& boundTextures, int animflags)
|
osg::ref_ptr<osg::Geometry> handleMorphGeometry(const Nif::NiGeomMorpherController* morpher, const Nif::NiTriShape *triShape, osg::Node* parentNode, SceneUtil::CompositeStateSetUpdater* composite, const std::vector<int>& boundTextures, int animflags)
|
||||||
|
@ -1151,21 +1129,10 @@ namespace NifOsg
|
||||||
|
|
||||||
osg::ref_ptr<FrameSwitch> frameswitch = new FrameSwitch;
|
osg::ref_ptr<FrameSwitch> frameswitch = new FrameSwitch;
|
||||||
|
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
osg::ref_ptr<osg::Geode> geode (new osg::Geode);
|
|
||||||
geode->addDrawable(rig);
|
|
||||||
|
|
||||||
osg::Geode* geode2 = static_cast<osg::Geode*>(osg::clone(geode.get(), osg::CopyOp::DEEP_COPY_NODES|
|
|
||||||
osg::CopyOp::DEEP_COPY_DRAWABLES));
|
|
||||||
|
|
||||||
frameswitch->addChild(geode);
|
|
||||||
frameswitch->addChild(geode2);
|
|
||||||
#else
|
|
||||||
SceneUtil::RigGeometry* rig2 = static_cast<SceneUtil::RigGeometry*>(osg::clone(rig.get(), osg::CopyOp::DEEP_COPY_NODES|
|
SceneUtil::RigGeometry* rig2 = static_cast<SceneUtil::RigGeometry*>(osg::clone(rig.get(), osg::CopyOp::DEEP_COPY_NODES|
|
||||||
osg::CopyOp::DEEP_COPY_DRAWABLES));
|
osg::CopyOp::DEEP_COPY_DRAWABLES));
|
||||||
frameswitch->addChild(rig);
|
frameswitch->addChild(rig);
|
||||||
frameswitch->addChild(rig2);
|
frameswitch->addChild(rig2);
|
||||||
#endif
|
|
||||||
|
|
||||||
parentNode->addChild(frameswitch);
|
parentNode->addChild(frameswitch);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
#include <osgDB/Registry>
|
#include <osgDB/Registry>
|
||||||
#include <osg/GLExtensions>
|
#include <osg/GLExtensions>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
#include <components/vfs/manager.hpp>
|
#include <components/vfs/manager.hpp>
|
||||||
|
|
||||||
|
@ -62,17 +61,10 @@ namespace Resource
|
||||||
case(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT):
|
case(GL_COMPRESSED_RGBA_S3TC_DXT3_EXT):
|
||||||
case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT):
|
case(GL_COMPRESSED_RGBA_S3TC_DXT5_EXT):
|
||||||
{
|
{
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
osg::GLExtensions* exts = osg::GLExtensions::Get(0, false);
|
osg::GLExtensions* exts = osg::GLExtensions::Get(0, false);
|
||||||
if (exts && !exts->isTextureCompressionS3TCSupported
|
if (exts && !exts->isTextureCompressionS3TCSupported
|
||||||
// This one works too. Should it be included in isTextureCompressionS3TCSupported()? Submitted as a patch to OSG.
|
// This one works too. Should it be included in isTextureCompressionS3TCSupported()? Submitted as a patch to OSG.
|
||||||
&& !osg::isGLExtensionSupported(0, "GL_S3_s3tc"))
|
&& !osg::isGLExtensionSupported(0, "GL_S3_s3tc"))
|
||||||
#else
|
|
||||||
osg::Texture::Extensions* exts = osg::Texture::getExtensions(0, false);
|
|
||||||
if (exts && !exts->isTextureCompressionS3TCSupported()
|
|
||||||
// This one works too. Should it be included in isTextureCompressionS3TCSupported()? Submitted as a patch to OSG.
|
|
||||||
&& !osg::isGLExtensionSupported(0, "GL_S3_s3tc"))
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
std::cerr << "Error loading " << filename << ": no S3TC texture compression support installed" << std::endl;
|
std::cerr << "Error loading " << filename << ": no S3TC texture compression support installed" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <osg/Node>
|
#include <osg/Node>
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/UserDataContainer>
|
#include <osg/UserDataContainer>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
#include <osgParticle/ParticleSystem>
|
#include <osgParticle/ParticleSystem>
|
||||||
#include <osgFX/Effect>
|
#include <osgFX/Effect>
|
||||||
|
@ -52,24 +51,6 @@ namespace
|
||||||
&& partsys->getUserDataContainer()->getDescriptions()[0] == "worldspace");
|
&& partsys->getUserDataContainer()->getDescriptions()[0] == "worldspace");
|
||||||
}
|
}
|
||||||
|
|
||||||
void apply(osg::Geode& geode)
|
|
||||||
{
|
|
||||||
for (unsigned int i=0;i<geode.getNumDrawables();++i)
|
|
||||||
{
|
|
||||||
if (osgParticle::ParticleSystem* partsys = dynamic_cast<osgParticle::ParticleSystem*>(geode.getDrawable(i)))
|
|
||||||
{
|
|
||||||
if (isWorldSpaceParticleSystem(partsys))
|
|
||||||
{
|
|
||||||
// HACK: Ignore the InverseWorldMatrix transform the geode is attached to
|
|
||||||
if (geode.getNumParents() && geode.getParent(0)->getNumParents())
|
|
||||||
transformInitialParticles(partsys, geode.getParent(0)->getParent(0));
|
|
||||||
}
|
|
||||||
geode.setNodeMask(mMask);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
// in OSG 3.3 and up Drawables can be directly in the scene graph without a Geode decorating them.
|
// in OSG 3.3 and up Drawables can be directly in the scene graph without a Geode decorating them.
|
||||||
void apply(osg::Drawable& drw)
|
void apply(osg::Drawable& drw)
|
||||||
{
|
{
|
||||||
|
@ -84,7 +65,6 @@ namespace
|
||||||
partsys->setNodeMask(mMask);
|
partsys->setNodeMask(mMask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void transformInitialParticles(osgParticle::ParticleSystem* partsys, osg::Node* node)
|
void transformInitialParticles(osgParticle::ParticleSystem* partsys, osg::Node* node)
|
||||||
{
|
{
|
||||||
|
|
|
@ -81,11 +81,6 @@ namespace SceneUtil
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
osg::Drawable* cloned = osg::clone(drawable, copyop);
|
osg::Drawable* cloned = osg::clone(drawable, copyop);
|
||||||
#if OSG_VERSION_LESS_THAN(3,3,3)
|
|
||||||
// work around OSG 3.2 not respecting the DEEP_COPY_CALLBACK flag
|
|
||||||
if (cloned->getUpdateCallback())
|
|
||||||
cloned->setUpdateCallback(osg::clone(cloned->getUpdateCallback(), *this));
|
|
||||||
#endif
|
|
||||||
return cloned;
|
return cloned;
|
||||||
}
|
}
|
||||||
if (dynamic_cast<const SceneUtil::RigGeometry*>(drawable))
|
if (dynamic_cast<const SceneUtil::RigGeometry*>(drawable))
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <osg/Drawable>
|
#include <osg/Drawable>
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/NodeCallback>
|
#include <osg/NodeCallback>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
namespace SceneUtil
|
namespace SceneUtil
|
||||||
{
|
{
|
||||||
|
@ -65,11 +64,7 @@ namespace SceneUtil
|
||||||
|
|
||||||
void ControllerVisitor::apply(osg::Node &node)
|
void ControllerVisitor::apply(osg::Node &node)
|
||||||
{
|
{
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
osg::Callback* callback = node.getUpdateCallback();
|
osg::Callback* callback = node.getUpdateCallback();
|
||||||
#else
|
|
||||||
osg::NodeCallback* callback = node.getUpdateCallback();
|
|
||||||
#endif
|
|
||||||
while (callback)
|
while (callback)
|
||||||
{
|
{
|
||||||
if (Controller* ctrl = dynamic_cast<Controller*>(callback))
|
if (Controller* ctrl = dynamic_cast<Controller*>(callback))
|
||||||
|
@ -96,11 +91,7 @@ namespace SceneUtil
|
||||||
{
|
{
|
||||||
osg::Drawable* drw = geode.getDrawable(i);
|
osg::Drawable* drw = geode.getDrawable(i);
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
osg::Callback* callback = drw->getUpdateCallback();
|
osg::Callback* callback = drw->getUpdateCallback();
|
||||||
#else
|
|
||||||
osg::Drawable::UpdateCallback* callback = drw->getUpdateCallback();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (Controller* ctrl = dynamic_cast<Controller*>(callback))
|
if (Controller* ctrl = dynamic_cast<Controller*>(callback))
|
||||||
visit(geode, *ctrl);
|
visit(geode, *ctrl);
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
#include <osg/Version>
|
|
||||||
#include <osg/MatrixTransform>
|
#include <osg/MatrixTransform>
|
||||||
|
|
||||||
#include "skeleton.hpp"
|
#include "skeleton.hpp"
|
||||||
|
@ -289,11 +288,9 @@ void RigGeometry::updateBounds(osg::NodeVisitor *nv)
|
||||||
|
|
||||||
_boundingBox = box;
|
_boundingBox = box;
|
||||||
_boundingBoxComputed = true;
|
_boundingBoxComputed = true;
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
// in OSG 3.3.3 and up Drawable inherits from Node, so has a bounding sphere as well.
|
// in OSG 3.3.3 and up Drawable inherits from Node, so has a bounding sphere as well.
|
||||||
_boundingSphere = osg::BoundingSphere(_boundingBox);
|
_boundingSphere = osg::BoundingSphere(_boundingBox);
|
||||||
_boundingSphereComputed = true;
|
_boundingSphereComputed = true;
|
||||||
#endif
|
|
||||||
for (unsigned int i=0; i<getNumParents(); ++i)
|
for (unsigned int i=0; i<getNumParents(); ++i)
|
||||||
getParent(i)->dirtyBound();
|
getParent(i)->dirtyBound();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
#include <SDL_video.h>
|
#include <SDL_video.h>
|
||||||
|
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
namespace SDLUtil
|
namespace SDLUtil
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -112,11 +110,7 @@ void GraphicsWindowSDL2::init()
|
||||||
|
|
||||||
mValid = true;
|
mValid = true;
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,4)
|
|
||||||
getEventQueue()->syncWindowRectangleWithGraphicsContext();
|
getEventQueue()->syncWindowRectangleWithGraphicsContext();
|
||||||
#else
|
|
||||||
getEventQueue()->syncWindowRectangleWithGraphcisContext();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,11 +127,7 @@ bool GraphicsWindowSDL2::realizeImplementation()
|
||||||
|
|
||||||
SDL_ShowWindow(mWindow);
|
SDL_ShowWindow(mWindow);
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,4)
|
|
||||||
getEventQueue()->syncWindowRectangleWithGraphicsContext();
|
getEventQueue()->syncWindowRectangleWithGraphicsContext();
|
||||||
#else
|
|
||||||
getEventQueue()->syncWindowRectangleWithGraphcisContext();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mRealized = true;
|
mRealized = true;
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include <osg/Geometry>
|
#include <osg/Geometry>
|
||||||
#include <osg/Geode>
|
#include <osg/Geode>
|
||||||
#include <osg/KdTree>
|
#include <osg/KdTree>
|
||||||
#include <osg/Version>
|
|
||||||
|
|
||||||
#include <osgFX/Effect>
|
#include <osgFX/Effect>
|
||||||
|
|
||||||
|
@ -193,13 +192,7 @@ osg::ref_ptr<osg::Node> TerrainGrid::buildTerrain (osg::Group* parent, float chu
|
||||||
|
|
||||||
transform->addChild(effect);
|
transform->addChild(effect);
|
||||||
|
|
||||||
#if OSG_VERSION_GREATER_OR_EQUAL(3,3,3)
|
|
||||||
osg::Node* toAttach = geometry.get();
|
osg::Node* toAttach = geometry.get();
|
||||||
#else
|
|
||||||
osg::ref_ptr<osg::Geode> geode (new osg::Geode);
|
|
||||||
geode->addDrawable(geometry);
|
|
||||||
osg::Node* toAttach = geode.get();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
effect->addChild(toAttach);
|
effect->addChild(toAttach);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue