V-Ray 3.0 Progressive Rendering

With this scene I wanted to create a haven for a record lover – a comfortable place they could sit and revel in their music...

With this scene I wanted to create a haven for a record lover – a comfortable place they could sit and revel in their music...

With the release of V-Ray 3.0 nearing ever closer, Paul Hatton checks out the impressive capabilities of the all-new Progressive Rendering inside V-Ray 3.0, showcasing the Beta version

Introduction

Ever since gaining access to the V-Ray 3.0 beta, I have been impressed by their Progressive Rendering Production rendering option. It's a new feature in 3.0 which allows you to render and see your image progressively appear before you. Now you might ask "Isn't that just the same as V-Ray RT?" In a way yes it is the same. It is built on the same path-tracing technology as V-Ray RT but this is a production renderer which is compatible with all of the V-Ray production features.

1. Set the renderer to V-Ray 3.0

It's important to note that this feature was only introduced to V-Ray 3.0, so if you have a version prior to that then you won't be able to make use of this feature – yet! However, you can of course head over to the V-Ray website where you can sign up for the beta version. In the render set-up dialogue, scroll down to assign renderer and set it to V-Ray 3.0.

We begin by making sure that the renderer is set to V-Ray 3.0 to ensure that the Progressive Rendering option is available to us

We begin by making sure that the renderer is set to V-Ray 3.0 to ensure that the Progressive Rendering option is available to us

2. Set the image sampler to progressive

Now we need to activate the Progressive Rendering and we do that in the Image Sampler roll-out. When I first saw it there I thought it was a bit of a strange place to have it, but having thought about it, it does make sense. The Image Sampler is essentially a process that V-Ray goes through to sample your image and clean it up. You tell V-Ray how many subdivisions you want it to go up to and it just ticks along until it hits that number. So for a Progressive Rendering solution, we essentially set the max subdivisions to a very high number!

Here you can see the roll-out options you get once you have set the Image Sampler to Progressive. You will notice that it gives you a new customized roll-out with specific settings

Here you can see the roll-out options you get once you have set the Image Sampler to Progressive. You will notice that it gives you a new customized roll-out with specific settings

3. Render mask

This step is not strictly only to do with Progressive Rendering but I thought it would be helpful to point out all the same. It is a new feature in V-Ray 3.0 as well, so again you may not have come across it yet. This essentially allows you to only render parts of the image based on a grayscale mask or on selected objects. I've been after this tool for a long time now so I'm really pleased it's now here! No more awkward usage of the marquee select region render tool. Now we can be much more accurate with our re-renders.

Here we have selected the foreground record and as you can see the rendering has picked out that object specifically

Here we have selected the foreground record and as you can see the rendering has picked out that object specifically

4. Anti-aliasing filter

This is another feature that is not strictly limited only to the Progressive Rendering option. It is key to image sampling though, so it's well worth covering. It enables you to specify whether you want to sharpen or blur your image based on a specific algorithm. You can obviously do this in post if you would like, but V-Ray gives you the option, too. Avoid using the Progressive sampler with sharpening image filters (Catmull-Rom, Mitchell-Netravali) as this may slow down the rendering and additional image samples will be required to resolve sharpening filters properly.

Use the drop-down to specify the anti-aliasing filter and then the size variable to set how much it affects the image

Use the drop-down to specify the anti-aliasing filter and then the size variable to set how much it affects the image

5. Min and max subdivisions

This is the key part of the progressive rendering option, so listen up! The image sampling tool is responsible for refining your rendering to make sure all of your geometry is as accurately represented on the screen as possible. By giving you a minimum and maximum subdivisions, V-Ray is essentially setting up an adaptive solution. It starts at the minimum number of subdivisions and uses that amount if it believes it to be sufficient. It then progressively moves up to the maximum subdivisions if it determines they are required. More on how it determines this in the next step...

Here you can see two rendered images: the left one shows a great result with 100 subdivisions and the right one is the result of only 2 subdivisions

Here you can see two rendered images: the left one shows a great result with 100 subdivisions and the right one is the result of only 2 subdivisions

6. Noise threshold

This setting is your desired noise level in the image. The lower you make this number – assuming the max render time is high enough – the less noise that there will be in the final image. This defaults to 0, which means that the render will sample uniformly until either the max subdivisions value is reached or the Render time limit is reached. More on that in the next step...

Here you see two more rendered images: the left one shows a great result with 0 noise and the right image shows a terrible result with a noise level of 1,000

7. Max render time

This is the maximum amount of time in minutes that the render will be allowed to run for. The majority of the time you will probably just want to leave the render until you are happy with the quality, but if you want to set a time limit then it's good that you can do that. It's important to note though that this time does not include any global illumination pre-passes, like the light cache or irradiance map. If you want to ensure that the render carries on until the maximum subdivisions are reached, then you will need to set this value to 0.

The render time seems to defeat the purpose of making it progressive but it's good to have the option all the same

The render time seems to defeat the purpose of making it progressive but it's good to have the option all the same

8. Ray bundle size

This option is useful for distributed rendering to control how much of the work is handed to each machine. To utilize more of the processors of your render servers, you will need to use higher values. Lower values will obviously do the opposite and limit the rendering to your machine. It defaults to 16.

The ray bundle size can easily be set by either using the spinner or by entering the value manually

The ray bundle size can easily be set by either using the spinner or by entering the value manually

9. Show adaptive mask

When rendering progressively it is really helpful to be able to see which pixels still remain to be sampled. V-Ray shows this as a mask and it's as simple as turning the check box on and off. It's not rocket science! Sometimes it can be difficult to really tell the progress so this little tool helps.

This highlights in red all of the pixels which remain to be sampled

This highlights in red all of the pixels which remain to be sampled

10. Feature compatibility

As I previously mentioned, this is a production rendering option. It is compatible with all of the V-Ray features, which is incredible – in comparison to the V-Ray RT option. Most of the time V-Ray RT could only ever be used during the development of a piece of work, especially if you were making use of some of the more complicated features within V-Ray. It even supports features like V-Ray Fog. Amazing!

One of these features it is compatible with is the render elements. Here you can see the Wire Color element is accessible in the same way you would normally use it

One of these features it is compatible with is the render elements. Here you can see the Wire Color element is accessible in the same way you would normally use it

Pro tip: Controlling memory consumption

One of the downsides to the Progressive Rendering option is that more data needs to be kept in memory, especially when you are making use of other features such as render elements. It isn't a reason to avoid rendering progressively, but it is something to keep in mind to ensure that you don't run out of memory!

If you are having problems rendering using the progressive option then it might be worth investigating your memory consumption to see if that is the cause

If you are having problems rendering using the progressive option then it might be worth investigating your memory consumption to see if that is the cause

Related links

Sign up for V-Ray 3.0 Beta
Find out about Chaos Group, the makers of V-Ray
Visit Paul Hatton's website