MeVis Path Tracer

Images/mevispathtracer.jpg

Introduction

The MeVis Path Tracer offers a state-of-the-art Monte Carlo Path Tracing framework running on CUDA GPUs. It supports high-quality physically based rendering of:

  • Volumes
  • Triangle Meshes
  • Lines
  • Spheres
  • Volume Slices
  • Volume Instances
  • Volume Iso Surfaces
  • Tag/Mask Volume + Per Tag Shading
  • Clipping planes

It supports lighting and shadowing via:

  • Area Lights (Rectangles and discs)
  • Background Light (Image based lighting from a sphere or cubemap)

There are various BRDF materials that can be selected for shading:

  • Matte BRDF
  • Microfacet Blinn/Fresnel BRDF
  • Principled BRDF

and for low gradient values in volumes, we also support:

  • Isotropic Phase Function
  • HenyeyGreenstein Phase Function

The camera model allows to apply an depth of field effect. It supports both perspective and orthographic cameras, taken from the Open Inventor scene. To integrate with other OpenGL content, it can render the first hit depth to the depth buffer.

Credits

The MeVis Path Tracer is a completely refactored fork of the "ExposureRender" framework by Thomas Kroes, whom we want to thank for the great paper and for open sourcing the renderer:

https://github.com/ThomasKroes/exposure-render "An interactive photo-realistic volume rendering framework", T. Kroes, F. H. Post, C. P. Botha

The framework uses various third party libraries, as listed in the MeVisLab "About" screen. It contains a MLPathTracer DLL which does not depend on Open Inventor and SoPathTracer which implements the Open Inventor bindings.

Requirements

The first iteration is based on CUDA and only works on NVidia GPUs. We are looking into porting it to a cross platform environment like OpenCL or AMD HCC, but since this means a substantial extra effort, we will consider carefully.

Screenshots

The following screenshots demonstrate the various features of the MeVis Path Tracer, including volume instancing, meshes, clipping planes, image based lighting and depth of field:

Images/heartMasked.jpg Images/heartMaskedDof.jpg Images/head5.jpg Images/liver1.jpg Images/liverclip.jpg Images/motor5.jpg Images/motorCloseup4.jpg Images/stagClip1.jpg Images/stagPlane1.jpg Images/tensorLines.jpg

Modules

The SoPathTracer is the main renderer of the framework and should always appear on the right in your scene. It collects the current Open Inventor camera and clipping planes and uses them when rendering.

There are various extensions that can be used:

Have a look at the example networks of the modules to learn how to use them.