[osg-users] Looking for big datasets to properly challenge OSG and VSG, Please help :-)

Robert Osfield robert.osfield at gmail.com
Wed Apr 3 07:01:16 PDT 2019


Hi All,

Over the years I've collected a few vis-sim test datasets that I've
been able to use for my own testing, but they aren't really big enough
to properly challenge modern computer systems.  Analysis performance
on a datasets that already rendering at 2000fps+ doesn't really tell
much about how a modern and representative dataset would perform, or
where the performance bottlenecks would be.  To properly optimize
software you need representative data to work with, which I why I'm
writing now, please help :-)

What I'm looking for is a collection of datasets that we can import in
the OSG via any of the support file formats.  Potentially we could
look at important formats not yet supported too.  Ideally the datasets
could be shared publicly with an open license, but I'm also happy to
sign NDA's if required.  Open datasts allow others to test as well.

The other side to creating representative tests if applying all the
rendering techniques that will be used in modern vis-sim
applications/games etc.  To achieve this will likely need to write
some companion test applications that implement things like shadows,
lights etc.  Such an effort is something that others can get involved
with as well.  I am envisaging having OSG and VSG test programs exist
side by side.  To start with we'll like have OSG based test programs
and then port these to VSG.

Such a collection of test programs would be good for performance
testing of both the OSG and VSG, and also provide a collection of
public materials for others to learn from - for learning both OSG
and/or VSG, or porting from OSG to VSG.

This is topic I've raised before and created a repo for it on
openscenegraph github repo:

     https://github.com/openscenegraph/SceneGraphTestBed

So far it has some FBX teapot models that Tom Hogarth created,
something we used when writing the osg2vsg utility:

     https://github.com/vsg-dev/osg2vsg

osg2vsg does exactly what it names implies - it loads OSG models,
using the OSG itself, so can load all OSG supported formats, and then
rendering this in the VSG/Vulkan or allows you to output to one of the
VSG native file formats (.vsgb and .vsgt which are equivalent to .osgb
and .osgt repetitively.)

osg2vsg depends upon the OSG, glsLang and the VSG:

    https://github.com/vsg-dev/VulkanSceneGraphPrototype

Once you've compiled the VSG, then osg2vsg you can do stuff like:

     osg2vsg dumptruck.osgt -o dumptruck.vsgb

Or just rendering with using VSG:

     osg2vsg dumpstruck.osgt

Or load from the generated .vsgb file:

    osg2vsg dumptruck.vsgb

There are a range of other command line options which I written up on
the osg2vsg/README.md up on github so have a look there.

--

As a starter what would be nice is to just gather a collection of OSG
loadable datasets and if these can be viewer directly with osgviiewer
then we'll be able to load them and rendering with the VSG using
osg2vsg.  Right now the VSG/osg2vsg is still only able to handle a
subset of OSG features so don't expect everything to work right away,
over time though this will improve.

Once we have some data the next step would be to create a step of OSG
animation.path files - you can do this by pressing 'z' to start the
recording, moving the camera position along the path you want then
press 'Z' to stop recording and save a saved_animation.path file.
These files then can be used in osgviewer and osg2vsg ie.

  osgviewer mymodel.flt -p saved_animation.path

  osg2vsg mymodel.flt -p saved_animation.path

The next step beyond this would be to write a set of test programs
that implement custom features like shadows/lighting/PBR etc.

--

I'd appreciate help with this, both on the completely open side
publishing data to SceneGraphTestBed as well as privately if you have
data that you can share data under NDA but can't share publicly.
Email me privately if you want to explore the later.

Sharing datasets could be an opportunity to promote your data and
projects to raise it's profile.  It also can help make sure future
versions of OSG and VSG work efficiently for them as we can use these
dataset as unit tests for performance and robustness.

Thanks in advance for any help you can provide,
Robert.


More information about the osg-users mailing list