Solidworks Vulkan ray tracing

Solidworks demos viewport ray tracing with Vulkan

4912 0

Dassault Systèmes is working with AMD on a new graphics engine for Solidworks, designed to bring enhanced visual fidelity, GPU-accelerated ray tracing, and better performance for large assemblies to the Solidworks viewport.

‘Project Romulan’ uses ‘Vulkan’, a new graphics API designed to take better advantage of modern GPUs than OpenGL, the API currently used in Solidworks 2021 and most other CAD software.

According to Rob Jamieson, senior partner alliance manager, AMD workstation graphics, Vulkan removes a lot of the restrictions of OpenGL, enabling higher performance, larger models with [visual] effects. “It exposes new technologies that you can’t get at with OpenGL today, such as ray tracing which gives really high quality ambient occlusion,” he says.

In a technology demonstration at 3DEXPERIENCE World today, Dassault Systèmes and AMD showed a prototype graphics engine running on top of Solidworks, using the soon-to-be released AMD ‘Navi21’ Pro GPU with hardware ray tracing.

Siddharth Palaniappan, director of graphics and advanced visualisation at Dassault Systèmes showed the technology in action, moving a huge 5,000 part ‘Resemin Bolter 77D’ drilling rig assembly around on screen, incredibly smoothy, with no loss of detail or visual fidelity.

The demonstration showed how a combination of GPU-accelerated ray tracing and denoising could be used to calculate “accurate ambient occlusions” with the resulting soft shadows overlaid on top of the model to get “much better photorealistic image quality in real time.”

This is an upgrade on the existing Ambient Occlusion capabilities in Solidworks RealView, which uses an approximation of AO, instead of tracing paths of light.


What we think

Solidworks has really upped its graphics engine game in recent years. Solidworks 2020 (and Solidworks 2019 beta) saw the introduction of a new OpenGL 4.5 graphics engine called RenderPipeline, which significantly improved 3D performance of large assemblies (see this DEVELOP3D article for more info).

Previously, when a large assembly moved on screen, it was sometimes temporarily simplified, reducing some of the more complex parts to blocks in order to maintain high frame rates.

In our opinion, RenderPipeline gave Solidworks a significant advantage over competitive CAD tools, many of which continue to be CPU limited, so can only use a fraction of the power that’s available in most modern GPUs.

The good news is Dassault Systèmes is not resting on its laurels. With the help of AMD, it’s now taking the first steps of moving to the more modern Vulkan graphics API, a far from simple undertaking.

While this already promises to deliver even better 3D performance for large assemblies, and better quality graphics in the viewport through ray traced ambient occlusion, it also sets things up nicely for the future.

As described in this DEVELOP3D article, it could, in theory, allow Dassault Systèmes to bring a full ray tracing capability into the Solidworks viewport, closing the gap with dedicated design viz tools like Solidworks Visualise or Luxion KeyShot.

Finally, it’s important to emphasise that ‘Project Romulan’ is a technology demonstration, so there are no guarantees when or if it will make its way into a commercial release of Solidworks. However, we would be very surprised if we didn’t see something materialise within the next couple of years.

Solidworks Vulkan ray tracing
Ray tracing and denoising are used to calculate “accurate ambient occlusions” with the resulting soft shadows overlaid on top of the model