JavaScript is not enabled in your browser
Objexx Engineering

OpenSceneGraph

OpenSceneGraph provides real-time 3D visualization for ObjexxSISAME. OpenSceneGraph is a powerful and high-performance platform for 3D technical visualization that is a great fit for ObjexxSISAME.


ObjexxSISAME GUI with OpenSceneGraph

OpenSceneGraph Windows Binaries

Recent Windows binary packages of OpenSceneGraph have not been available. Since building OpenSceneGraph takes some effort Objexx is providing them as a service to the OpenSceneGraph community.

OpenSceneGraph Windows Downloads

Here are the currently available packages showing their build dates. The AVX2 builds are for Haswell and newer generation CPUs and have the potential of better vectorization performance. It is best to use an AVX2 OSG build with an application built with AVX2 support to avoid AVX-SSE transition penalties. The Intel C++ build is compiled with /fp:fast=2 so it may give slightly reduced precision. The Intel C++ build is binary compatible with Visual C++ 2015. Only 64-bit binaries are provided at this time.

These were built against Qt 5.6 (osgQt is included) with the default OpenGL GL2 level and they include the following 3rd party libraries:

We hope to add more of the optional 3rd party libraries such as GDAL and Collada in future builds. Let us know if specific plugin support would be helpful.

Performance

We tested and profiled the different builds with our ObjexxSISAME application using a benchmark designed to make the OSG calls dominate the run time. Here's what we observed:

  • The AVX2 builds gave no benefit with either compiler. This is not surprising given that OSG, by necessity, depends heavily on non-contiguous data and indirection, limiting opportunities for vectorization.
  • The Intel C++ build (with /fp:fast=2) was not faster than the Visual C++ builds. This is a little surprising: we usually get some performance gains with Intel C++ even when vectorization is not significant.
  • Profiles when running on Intel iGPU were dominated by calls to osgUtil::RenderLeaf::render.
  • Profiles when running on nVidia dGPU were not giving consistent, meaningful results with Intel VTune. We will try nVidia's profiler next.

Our use of the OSG API is fairly basic/limited so our findings are not indicative of all aspects of OSG performance. We'll be experimenting with other build options and looking deeper into the profiling results in future OSG builds. But for now the builds all work fine and the Visual C++ (non-AVX2) release build should be best for most users.

Installation

These are compressed with 7-zip and can be installed by expanding them from the desired parent directory, for example:

  C:\>7z x OpenSceneGraph-3.4.0-VC2015-64-AVX2.7z

The installation directories can be renamed to something shorter if desired. They can be uninstalled by simply removing the OpenSceneGraph directory.

Support

Contact support@objexx.com with questions about these packages.