ParaView and VTK add GPU-accelerated ray tracing with NVIDIA RTX

July 31, 2019
OpenFoam motorbike rendered with OptiX in ParaView

One of the many cool new features to look forward to in the upcoming ParaView 5.7 and VTK 9.0 releases is the seamless support for hardware-accelerated ray tracing using OptiX, a component of the NVIDIA RTX platform. 

ParaView accelerated by the latest-generation GPUs, especially with the RT Cores devoted to ray tracing found on NVIDIA’s Turing GPUs, brings a wide range of benefits to scientific visualization. Far beyond making pretty pictures for publication and outreach, the resulting photo-realism can in some cases be used for direct comparisons between simulation output and observations. 

In others, the visual cues obtained by the physically based rendering process, including shadows, ambient occlusion, or even depth-of-field effects, can help to better understand the spatial relationship of the objects in the scene. This visual fidelity comes with a significant computational cost, but modern GPUs make it possible to perform this process in real time. 

To explore these features, simply download the upcoming ParaView 5.7.0 release candidate 2 (or later) from paraview.org and launch it. Make sure you set the “–enable-streaming” command line flag to allow the visuals to improve over time while maintaining a high degree of interactivity.

Then set up your visualization pipeline as you typically do in ParaView. In the properties menu, select the “Enable Ray Tracing” check box (typically at the very bottom) as well as the “OptiX Path Tracer” backend. If the default value for progressive passes is a bit too low, make sure you set it to some value above 4. 

From here on you’re ready to explore the RTX backend, provided you’re on a Pascal generation or newer GPU. Make sure you use the Light Inspector to set the proper light sources, including area lights for soft shadows. Experiment with materials from the provided list of pre-set materials, or define them with your own materials library. With the Material Definition Language (MDL) [https://developer.nvidia.com/mdl-sdk] being an integral part of RTX, you can now choose from an almost infinite collection of materials. And with the Adjust Camera panel, you can set the camera properties, including focal point and depth of field.


The iconic OpenFoam Motorbike, rendered with the OptiX path tracer in ParaView. Realistic materials, shadows and depth of field help to guide the viewer to the interesting part of the visualization — the turbulence around the front wheel — while providing context to convey spatial relationships.

To get more details, check out the recording of the ParaView/OptiX webinar [https://info.nvidia.com/ray-tracing-for-scientific-visualization-reg-page.html?ncid=em-ded-n1-84042]. Also, note that the renderer is integrated at the VTK level, and all these features are available within VTK as well. And, like all the other VTK or ParaView features, RTX rendering is exposed via the C++ API, as well as via Python. 

The above focuses on just one of the new features in the latest release of ParaView and VTK. For all the other new and improved features of ParaView 5.7, including the improved plugin for the IndeX volume renderer [https://www.nvidia.com/en-us/data-center/index-paraview-plugin/], check out the release notes. 

Let us know what you’re doing with the RTX backend in ParaView and VTK and share with #RenderedInParaView.

4 comments to ParaView and VTK add GPU-accelerated ray tracing with NVIDIA RTX

    1. Yes it is a background image. Change “Background” (advanced) type at the bottom of the “View” section of the “Properties” tab from “Single color” to “Image”, then click “Load” to import an image file. For best results use a 360 panoramic projection image to avoid seams.

  1. Could this (GPU-accelerated ray tracing with NVIDIA RTX) work if only pvserver has a NVIDIA RTX capable GPU device? So Paraview client GUI is running on a linux box that does not have a NVIDIA RTX capable GPU device and paraview client/server connection is on. The pvserver says: Client connected. VisRTX 0.1.6, using devices: 0: Tesla V100-SXM2-32GB (Total: 34.1 GB, Available: 33.8 GB). pvserver is using EGL. My paraview release is 5.8.0

Leave a Reply to sebastienbarreCancel reply