[osg-users] Announcement: VulkanSceneGraph and SceneGraphTestBed!

Robert Osfield robert.osfield at gmail.com
Wed Jun 20 01:14:17 PDT 2018

Hi Scott,

On Wed, 20 Jun 2018 at 08:09, Scott Bailey <Bailey at insanegenius.org> wrote:
> Wow is this ever good news!  I'm glad to see OSG will move into the future, albeit as VSG.  I'm especially excited to see modern c++ targeted.  Personally, my preference is for c++14 if only for std::make_unique<>(), but I'll take c++11 any day!

I guess there is chance I'll use std::unique_ptr<> and associated
std::make_unique<>() at some point.  The scene graph itself will be
managed using intrusive reference counting just like the OSG does for
performance reasons, so I've prototyped equivalents of osg::ref_ptr<>
and osg::Referenced for this purpose.  I guess one could also write a
vsg::make_ref<> equivalent to std::make_unique<> if one so desired.

For now I'm wider design issues, doing experiments with more modern
C++ along the way to see what is possible.  My general guide is that
modern C++ features deployed needs to make the code easier to read and
maintain than not using it, or provide significant flexibility/power
that justifies any possible complexities in following the code.  So
far so good on this count - I've been able to make the VSG equivalents
of OSG much simpler thanks to modern C++ features.

I won't make any decision on C++11 vs 14 vs 17 until the end of
Exploration Phase.  If we can do everything we'll need with just C++11
and there are few features of 14 and 17 that offer significant
benefits then I'll likely just stick with C++11 for better backwards
compatibility to older compilers.  The backwards compatibility with
older compilers isn't a priority though, just something worth
maintaining if it comes at no cost to the integrity/quality of the
scene graph.

I have to admit, I *really* like working with modern C++, looking back
to some OSG code is bit painful now.  This isn't just C++ features
though, my skills as programmer have slowly advanced over the years so
now can spot better ways of solving problems.  Once VSG is established
there may be a few areas of the OSG that could be updated to do
similar things to what the VSG will do, though backwards compatibility
for the OSG is crucial - it'll be a case of asking the question what
can make OSG users lives better without risking breaking things.

These possibilities are all a way off yet.  Through to the end of
August I'll be just learning, thinking, experimenting with C++, Vulkan
and ideas for improving scene graphs, and also getting OSG-3.6.2 out
the door :-)


> If you haven't already seen it, check out the Magnum Graphics Engine.  It's the only example I've found of anything close to a scene graph with a modern c++ interface.
> Best luck and Thanks!
> SB
> [/url]
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=74083#74083
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

More information about the osg-users mailing list