Quick summary: strategies for dealing with radiosity
- You can set individual radiosity properties such as the Rays Per Evalution, Min and Max Pixel Spacing etc for each object. An effective strategy is to set a low radiosity setting as whole, identify problem areas and increase the radiosity setting only for objects associated with that area.
- You can use object radiosity properties even in non-interpolated mode, although you are limited only to the Rays Per Evalution setting.
- Use radiosity flag to view the distribution of sampling points. This is particularly useful when dealing with bake to cache mode.
- Even for still image, you can add sampling points to certain area by moving the camera nearer to that area in the next frame and using Bake Radiosity Scene command to cache the sampling points.
- Don’t be afraid to experiment with Rays Per Evalution . For some outdoor scene, a value of 100 may be sufficient. In some complex low level lighting situation, you may need to crank up the value to 4000 or 5000.
- For non-interpolated mode, in general you can get better speed to quality ratio by using low Rays Per Evalution (8-16) with high number of anti aliasing pass (30-60).
Radiosity flags tells you exactly where the sampling points are. It can found just above RenderQ in the render tab.
Now The Details:
Interpolated vs Non-Interpolated mode
- In non-interpolated mode, every pixels is sampled for radiosity
- In interpolated mode, Lightwave uses an internal algorithm to select sampling points based on the camera view. Each of these points represents a cell which is blended with neighbouring cells to produce smooth surface gradients
- Basically, non-interpolated is the same as interpolated mode with Max Pixel Spacing of 1.
Rays Per Evaluation (RPE)
- Higher Rays Per Evaluation gives a more accurate and thus predictable result on each sampling point.
- Lower Rays Per Evaluation means that adjacent sampling points may give wildly different results.
- Inaccurate radiosity calculation or adjacent pixels or sampling points gives rise to noise in non-interpolated mode and splotches when in interpolated mode
- Outdoor lighting where the background luminance is relatively high and even requires much lower Rays Per Evaluation compared to indoor or night scene.
- Adaptive anti aliasing can be used to even up the noise in non-interpolated mode but does not help with splotches as it operate at sub pixel level .
Min and Max Pixel Spacing
- Min and Max Pixel Spacing controls the density of the sampling point.
- It has no effect on the quality of radiosity solution for each sampling point.
Secondary radiosity bounce
- Think of secondary bounce as an extra layer of radiosity that is added to the primary layer.
- The level of radiosity is typically much lower than the primary bounce but it still requires a high number of Rays Per Evaluation to get accurate solution.
- If you have more than 4 bounce, the subsequent layers may slightly even out the inaccuracy of the primary radiosity layer.
- A multiplier generates radiosity solution at a lower resolution which is then scaled up and overlayed over the full resolution render.
- Too low a multiplier may result in problems in tight corners and areas that are not sufficiently resolved in the low resolution solution
Splotches – how to get rid of them.
- Applies only in Interpolated mode
- Use higher Rays Per Evaluation More accurate solution will even out the differences of radiosity solution between sampling points
- Increase the density sampling points by decreasing both Min and Max Pixel Spacing. Sampling points that are nearer together will give less variable radiosity solution results and when it does it will look more like a pattern or noise rather than splotches.
Animation Flicker – how to get rid of them
- Applies only in interpolated mode.
- Flicker happens when the 3D location of the sampling point changes between frames. This means adjacent animation frames have different number of samples, different location and even different cells’ size.
- You cannot eliminate flicker by increasing Rays Per Evaluation You can reduce them significantly by using really high Rays Per Evaluation (1000 and above) but due to the shifting of sampling points, the ficker is always there – just a matter of keeping it at an acceptable level.
- A more elegant solution is to bake scene radiosity to cache to fix the location of samples in 3D spaces. However, Lightwave need to save the sampling points for all frames in the animation and use them to calculate each frame. The number of samples can get really large, increase render time and crash the system. If you use this method, try to increase the Min and Max Pixel Spacing depending on the size of the areas covered by the animation sequence.
- If you uncheck the Animation option, radiosity solution is calculated and stored with the sample locations. So, you basically calculate the radiosity solution only once for the entire sequence. This speed up the rendering significantly but can lead to high memory usage and crash the system. If you animate the any object and light in the scene, the radiosity solution is not correct anymore.
- If you use the Animation option, the cache only save the 3D location of the sampling point but radiosity solution is calculated for each frame. In this case, the rendering time is longer and there may still be some flicker as the radiosity solution is not guaranteed to be the same for every frame.
Noise – how to get rid of them
- Applies only in non-interpolated mode
- Applies both for still or animation noise between frames
- Use higher Number of Rays. More accurate solution will result in less differences between each adjoining pixels
- Use adaptive anti aliasing. For each new pass of adaptive anti aliasing, a new solution is calculated and blended with the previous result for a smoother and less variable solution. Recommended value of adaptive anti aliasing is 0.01 or less.