Discussion:
[osg-users] problems with osg-3.4.0 port to osg-3.6.0
Herman Varma
2018-09-12 14:24:48 UTC
Permalink
Is this the right forum to request help for porting code from
openscenegraph-3.4.0 to openscenegraph-3.6.0???
Trajce Nikolov NICK
2018-09-12 17:24:33 UTC
Permalink
Hi,

Yes, it is. You can start with posting questions and you can also find
professional paid osg consultancy here on this forum/user list. Either way
the community is well responsive

Good luck,
Post by Herman Varma
Is this the right forum to request help for porting code from
openscenegraph-3.4.0 to openscenegraph-3.6.0???
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Chris Hanson
2018-09-12 21:46:08 UTC
Permalink
Yup. As Nick said, we try to help you at no charge as much as we can. If
it's something you really need someone else to do for you, there are a
variety of folks (including Nick and myself) who can do paid consulting for
you.

Ask away.

On Wed, Sep 12, 2018 at 6:24 PM Trajce Nikolov NICK <
Post by Trajce Nikolov NICK
Hi,
Yes, it is. You can start with posting questions and you can also find
professional paid osg consultancy here on this forum/user list. Either way
the community is well responsive
Good luck,
Post by Herman Varma
Is this the right forum to request help for porting code from
openscenegraph-3.4.0 to openscenegraph-3.6.0???
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Chris 'Xenon' Hanson, omo sanza lettere. ***@AlphaPixel.com
http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 •
GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Legal/IP • Forensics • Imaging • UAVs • GIS • GPS •
osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded • Mobile •
iPhone/iPad/iOS • Android
@alphapixel <https://twitter.com/alphapixel> facebook.com/alphapixel (775)
623-PIXL [7495]
Herman Varma
2018-09-13 01:31:28 UTC
Permalink
Hello I am having trouble porting Ben Discoe’s VTP software from openSceneGraph-3.4.0 to osg-3.6.2

The problem lies in replacing the META_object with a macro in shadowTechnique.h as depicted below.

Can someone point out where the problem is.

/** CSimpleInterimShadowTechnique provides an implementation of a depth map shadow tuned to the needs of VTP.*/

class CSimpleInterimShadowTechnique : public osgShadow::ShadowTechnique
{
public:

// working ********************** in opemSceneGraph-3.4.0
// CSimpleInterimShadowTechnique();
// CSimpleInterimShadowTechnique(const
// CSimpleInterimShadowTechnique& es, const osg::CopyOp&
// copyop=osg::CopyOp::SHALLOW_COPY);
// META_Object(osgShadow, CSimpleInterimShadowTechnique);
//***********************************************************

// not working *********************in opemSceneGraph-3.6.2
CSimpleInterimShadowTechnique();
CSimpleInterimShadowTechnique(const CSimpleInterimShadowTechnique& es, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);

virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const CSimpleInterimShadowTechnique*>(obj) != NULL; } \
virtual const char* libraryName() const { return "osgShadow"; }\
virtual const char* className() const { return "CSimpleInterimShadowTechnique"; }


//**************************************************************


In the new implementation I am getting a C2259 error

2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): error C2259: 'CSimpleInterimShadowTechnique': cannot instantiate abstract class

2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: due to following members:

2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'osg::Object *osg::Object::cloneType(void) const': is abstract

2>c:\apis\openscenegraph-3.6.2\build\include\osg\object(80): note: see declaration of 'osg::Object::cloneType'

2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'osg::Object *osg::Object::clone(const osg::CopyOp &) const': is abstract

2>c:\apis\openscenegraph-3.6.2\build\include\osg\object(84): note: see declaration of 'osg::Object::clone'

2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'void osgShadow::ShadowTechnique::resizeGLObjectBuffers(unsigned int)': is abstract

2>c:\apis\openscenegraph-3.6.2\build\include\osgshadow\shadowtechnique(66): note: see declaration of 'osgShadow::ShadowTechnique::resizeGLObjectBuffers'
2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'void osgShadow::ShadowTechnique::releaseGLObjects(osg::State *) const': is abstract
2>c:\apis\openscenegraph-3.6.2\build\include\osgshadow\shadowtechnique(71): note: see declaration of 'osgShadow::ShadowTechnique::releaseGLObjects'

The error manifests is in the vtShadow section of nodeOSG.cpp

//////////////////////////////////////////////////////////////////////
// vtShadow
//

vtShadow::vtShadow(const int ShadowTextureUnit, int LightNumber) :
m_ShadowTextureUnit(ShadowTextureUnit), m_LightNumber(LightNumber)
{
setReceivesShadowTraversalMask(ReceivesShadowTraversalMask);
setCastsShadowTraversalMask(CastsShadowTraversalMask);

#if VTLISPSM
osg::ref_ptr<CLightSpacePerspectiveShadowTechnique> pShadowTechnique = new CLightSpacePerspectiveShadowTechnique;
// No need to set the BaseTextureUnit as the default of zero is OK for us
// But the ShadowTextureUnit might be different (default 1)
pShadowTechnique->setShadowTextureUnit(m_ShadowTextureUnit);
pShadowTechnique->setLightNumber(m_LightNumber);
#else

//errorC2259 cannot instantiate abstract class in openSceneGraph-3.6.2
//working in osg-3.4.0

osg::ref_ptr<CSimpleInterimShadowTechnique> pShadowTechnique = new

#endif

#if !VTLISPSM
#if VTDEBUGSHADOWS
// add some instrumentation
pShadowTechnique->m_pParent = this;
#endif

pShadowTechnique->SetLightNumber(LightNumber);
pShadowTechnique->SetShadowTextureUnit(m_ShadowTextureUnit);
pShadowTechnique->SetShadowSphereRadius(50.0);
#endif
setShadowTechnique(pShadowTechnique.get());

SetOsgNode(this);
}

Help would be appreciated


Thank you!

Cheers,

Herman Varma
Head of Cartographic Research
Bedford Institute of Oceanography

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=74733#74733
Chris Hanson
2018-09-13 17:57:00 UTC
Permalink
Did you ask Ben himself?

He's moving to Hawaii just now, but might be able to comment. I can ping
him if you don't get an answer here.
Hello I am having trouble porting Ben Discoe’s VTP software from
openSceneGraph-3.4.0 to osg-3.6.2
The problem lies in replacing the META_object with a macro in
shadowTechnique.h as depicted below.
Can someone point out where the problem is.
/** CSimpleInterimShadowTechnique provides an implementation of a depth
map shadow tuned to the needs of VTP.*/
class CSimpleInterimShadowTechnique : public osgShadow::ShadowTechnique
{
// working ********************** in opemSceneGraph-3.4.0
// CSimpleInterimShadowTechnique();
// CSimpleInterimShadowTechnique(const
// CSimpleInterimShadowTechnique& es, const osg::CopyOp&
// copyop=osg::CopyOp::SHALLOW_COPY);
// META_Object(osgShadow, CSimpleInterimShadowTechnique);
//***********************************************************
// not working *********************in opemSceneGraph-3.6.2
CSimpleInterimShadowTechnique();
CSimpleInterimShadowTechnique(const CSimpleInterimShadowTechnique&
es, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
virtual bool isSameKindAs(const osg::Object* obj) const { return
dynamic_cast<const CSimpleInterimShadowTechnique*>(obj) != NULL; } \
virtual const char* libraryName() const { return "osgShadow"; }\
virtual const char* className() const { return
"CSimpleInterimShadowTechnique"; }
//**************************************************************
In the new implementation I am getting a C2259 error
'CSimpleInterimShadowTechnique': cannot instantiate abstract class
2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'osg::Object
*osg::Object::cloneType(void) const': is abstract
2>c:\apis\openscenegraph-3.6.2\build\include\osg\object(80): note: see
declaration of 'osg::Object::cloneType'
2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'osg::Object
*osg::Object::clone(const osg::CopyOp &) const': is abstract
2>c:\apis\openscenegraph-3.6.2\build\include\osg\object(84): note: see
declaration of 'osg::Object::clone'
2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'void
osgShadow::ShadowTechnique::resizeGLObjectBuffers(unsigned int)': is
abstract
note: see declaration of 'osgShadow::ShadowTechnique::resizeGLObjectBuffers'
2>c:\vtp_vsc\terrainsdk\vtlib\vtosg\nodeosg.cpp(1026): note: 'void
osgShadow::ShadowTechnique::releaseGLObjects(osg::State *) const': is
abstract
note: see declaration of 'osgShadow::ShadowTechnique::releaseGLObjects'
The error manifests is in the vtShadow section of nodeOSG.cpp
//////////////////////////////////////////////////////////////////////
// vtShadow
//
m_ShadowTextureUnit(ShadowTextureUnit), m_LightNumber(LightNumber)
{
setReceivesShadowTraversalMask(ReceivesShadowTraversalMask);
setCastsShadowTraversalMask(CastsShadowTraversalMask);
#if VTLISPSM
osg::ref_ptr<CLightSpacePerspectiveShadowTechnique>
pShadowTechnique = new CLightSpacePerspectiveShadowTechnique;
// No need to set the BaseTextureUnit as the default of zero is OK for us
// But the ShadowTextureUnit might be different (default 1)
pShadowTechnique->setShadowTextureUnit(m_ShadowTextureUnit);
pShadowTechnique->setLightNumber(m_LightNumber);
#else
//errorC2259 cannot instantiate abstract class in openSceneGraph-3.6.2
//working in osg-3.4.0
osg::ref_ptr<CSimpleInterimShadowTechnique> pShadowTechnique = new
#endif
#if !VTLISPSM
#if VTDEBUGSHADOWS
// add some instrumentation
pShadowTechnique->m_pParent = this;
#endif
pShadowTechnique->SetLightNumber(LightNumber);
pShadowTechnique->SetShadowTextureUnit(m_ShadowTextureUnit);
pShadowTechnique->SetShadowSphereRadius(50.0);
#endif
setShadowTechnique(pShadowTechnique.get());
SetOsgNode(this);
}
Help would be appreciated
Thank you!
Cheers,
Herman Varma
Head of Cartographic Research
Bedford Institute of Oceanography
------------------
http://forum.openscenegraph.org/viewtopic.php?p=74733#74733
_______________________________________________
osg-users mailing list
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--
Chris 'Xenon' Hanson, omo sanza lettere. ***@AlphaPixel.com
http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 •
GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Legal/IP • Forensics • Imaging • UAVs • GIS • GPS •
osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded • Mobile •
iPhone/iPad/iOS • Android
@alphapixel <https://twitter.com/alphapixel> facebook.com/alphapixel (775)
623-PIXL [7495]
Loading...