The New Volumetric Rendering is Beautiful (Also Happy Halloween)

So this isn’t really a support post but I just wanted to say how impressive the volumetric rendering is now, the effort you guys put into visual effects like PBR & SSAO is really impressive and has helped me make some really beautiful visualizations of data for my group.

I’m still trying to figure out how to enable SSAO for translucent objects but otherwise things are looking really nice.

I’ve also been exploring some of the more complex features of VTK and now that I understand more about interaction callbacks I made a quick animation in the spirit of the season.

Happy Halloween guys.


Thanks for the kind words, and love that animation!


haha very nice usage or callbacks there !

As for this question I don’t think the current implementation of SSAO supports translucent surfaces. I am not sure how relevant SSAO would be relevant for translucents surfaces. Also supporting it would be a bit tricky for cases like the one below because you’d have multiple depth value per pixel

Happy halloween !

I think you’re right, originally I was thinking of using dual rendering with the translucent actor either being fully opaque or transparent, extracting the SSAO from both & scaling them by the actor opacity but that’d only really work for simple convex objects and scenes. In this case it’d probably look like the image below (just a mock-up I did in PS), not really much of an improvement.


I imagine you’d need to have a new SSAO layer and depth map for every new region a pixel’s ray path could go through which could get incredibly complex.

yep that could indeed work. It may be possible to keep it simple but I would worry about the perfomance of such an approach when having lots of translucent objects. Feel free to experiment though :slightly_smiling_face:

Super cool!! Coul you share the data to make the original graphics? Would love to toy with this

So the original data comes from one of the example datasets hosted on the Kitware data repo, you can browse all the files in your web browser here or use the following Python code to grab the exact file I used. There’s also a really interesting chest CT scan on there that I’d recommend checking out too.

data_url = ""
data_file = "head_and_neck_ct.vtk"

if not Path(data_file).exists():
    print(f"Downloading {data_file}...")

    # Download the data
    import urllib.request
    urllib.request.urlretrieve(data_url, data_file)

    print("Download complete")

I used the same light setup as seen in this example code however changed some of the illumination parameters and removed the dithering.

1 Like