[osg-users] Thoughts on Vulkan

Robert Osfield robert.osfield at gmail.com
Tue Jan 5 02:40:05 PST 2016

On 29 December 2015 at 23:30, Cor Jansen <corr at mechamania.nl> wrote:
> What is the status of this white paper?

Afraid I've been too busy with client work to write it yet.

> I really would like to discus this.

As a spare time activity I've begun design work exploring what a next
gen scene graph that supports multiple graphics APIs that would
include OpenGL/GLES and Vulkan.  I have many sheets of white paper
with writing and diagrams on but none of it is in a form that can be
published and when I get a time slot I'll dive in a start
experimenting with the implementation side.

The general gist is I don't believe the OSG itself can be morphed to
support a radically new API like Vulkan without massively breaking the
existing OSG API.  We either retain the bulk of the existing OSG API,
stay focused on OpenGL/GLES and retain our existing user base or we
break the API in extensive ways to support Vulkan and accept that we
won't carry the majority of the existing community with us.

In my design work on a next gen scene graph I have sought ways of
making it compatible with existing OSG applications so users could bit
by bit move across when they feel the need.  In you'd want to move
across to Vulkan and still use the OSG one would need to replace
extensive parts of the OSG scene graph across to the next gen scene
graph. It may be even appropriate at some point to enable a build of
the OSG that doesn't have any OpenGL calls, so that the whole
GL/Vulkan calls are deferred to the next gen scene graph.

Exactly what this next gen scene graph would look like and the exact
mechanics of integration of the OSG is not something I can say yet -
original designs very often don't survive implementation.  For the OSG
community though I have the intention to try and make this integration
possible.  My clients are all OSG users so there is plenty of
motivation for me to make sure this path works out as well.  So I
won't be turning my back on the OSG and it's community.

I can't really say too much more at this point.  Vulkan hasn't been
released yet.  I haven't begun implementing the next gen scene graph
that wafting around my head and on bits of paper.  The only big
decisions I've made so far is that a new scene graph would be written
in C++11, use it's threading etc, support multiple graphics APIs and
be possible to integrate it with OSG and other applications and will
be open source.

When concrete progress happens I will keep the OSG community involved.


More information about the osg-users mailing list