POV-Ray : Newsgroups : povray.binaries.images : Multi-pass rendering and compositing in POV-Ray : Multi-pass rendering and compositing in POV-Ray Server Time
30 Jul 2024 18:18:26 EDT (-0400)
  Multi-pass rendering and compositing in POV-Ray  
From: Robert McGregor
Date: 8 Mar 2011 23:05:01
Message: <web.4d76fc2e7b0cfa0f94d713cc0@news.povray.org>
After struggling with *REALLY* slow SSLT w/Radiosity renders for the last couple
of weeks I thought I'd wait until RC4 to try anything more with it. But I was
wrong; wrong-thinking about the entire issue, that is.

Christoph has provided us with this /amazing/ new feature, but subsurface with
radiosity almost seems like a brute force approach in its slowness (yes, due to
the many SSLT samples stacked upon many radiosity samples, with all the
mega-math, area lights, focal blur, etc., it's inevitably going to be slow).
Using radiosity my SSLT dragon scene took 17.5 hours to render; with standard
lighting it took about 45 minutes (and the scene really looks pretty awful
/without/ the radiosity). I'm a radiosity junkie, most scenes just look better
with it.

The guys from Mental Images and Autodesk can't be /that/ much smarter than we
are, right? So how do the high-end packages render stuff so fast?? Multiple
render passes composited on the fly, that's how!

I started thinking how cool it would be for POV-Ray to have all the benefits of
radiosity and global illumination right alongside the speed of standard ray
traced lighting (for say, subsurface and reflections) in a single shot, just
like Maya or 3DS Max using different "shaders;" to have the ability to render
multiple passes using different lighting models and composite them directly
within POV-Ray into a final seamless shot!

Some of you will recall that a couple of years ago I implemented a basic ambient
occlusion setup that adds additional realism to my shots (okay, that's "fake"
realism, but it's good enough for ILM, so...) via a multiple-render-pass
w/SDL-compositing approach. Well, I spent a few hours modifying my macros and
scene switches and set up two POV scenes in my file queue; one for rendering
multiple passes via animation frames, and one for compositing them via animation
frames. And this technique stays within IRTC and TC-RTC guidelines too :)

As a test I re-rendered my SSLT dragon using 4 separate render passes: beauty
(radiosity), ambient occlusion (radiosity), reflection (standard lighting), and
subsurface (standard lighting, and FAST). After all four frames were rendered
the second scene file auto-composited the various render passes using some
simple SDL macros over a few more animation frames. The entire process took only
50 minutes versus 17.5 hours! And the end result is virtually identical to the
"brute-force" render that took ~18 times longer. This method also provides the
flexibility to re-adjust lighting, reflections, etc. without re-rendering the
shot, just by changing a few parameters in the compositing macros. Take *that*
Pixar!

So, here's an example shot of the "blob with negative strength" from the
pvengine64 "Insert" menu, using five separate render passes. After I clean up my
code a bit I'll make it available; I'm pretty excited about this, so I'm also
planning to write a how-to for the wiki. Comments, thoughts, etc. regarding this
technique are greatly appreciated.

Cheers,
Rob

-------------------------------------------------
www.McGregorFineArt.com


Post a reply to this message


Attachments:
Download 'blobrenderpasses.png' (811 KB)

Preview of image 'blobrenderpasses.png'
blobrenderpasses.png


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.