[an error occurred while processing this directive]

Setting up and rendering illumination in Brazil r/s.

Part 1. Brazil tools review


Brazil Exposure / Color Clamping

Pic. 6 Exposure / Dynamic Range Controls

We have already discussed exposure control above. The other parameters of this tabbed page pertain to color clamping.

Brazil uses internal extended precision digital format to render colors. It means that color values are represented by floating point figures and by values beyond the RGB range. On the other hand, imaging in Brazil VFB (like in 3D Max VFB) uses the RGB model. Thus if the image is not rendered in HDRI format, you should control the conversion of internal color representation into the RGB model. Brazil Color Clamping offers several instruments to do it.

Clamp Color Range for Render Effects is used together with Render Effects, this option enables the standard mode of clamping the color range used in 3ds max instead of the clamping algorithm used in Brazil. It's recommended when a rendered image contains artifacts.

Luminance Compression – compression ratio of color values. True digital color value will be divided by this ratio. Color compression allows to narrow a wide color range, for example to the RGB range with its 255 color intensity grades. This compression helps eliminate hot spots in rendered images to a certain degree.

Sampling – this parameter will come in handy if you use an HDR image to light the scene for example. It limits the maximum luminance value per one ray. It allows to exclude separate bright pixels of the HDR image from calculation, which illumination intensity may reach very high values and cannot be eliminated by blurring.

Brazil: Ray Server

Pic. 7 Ray Server Parameters

The theory of ray tracing near ideal reflection/refraction angles has been already discussed above. So I hope that the information below will not be difficult to understand.

The Ray tracing Depth Control group provides criteria to complete ray tracing.

Reflected – ray tracing will be completed after the ray is reflected from surfaces a specified here number of times.

Refracted – the same thing but with respect to refractions for transparent surfaces.

Total – total number of maximum reflections and refractions. If Total is less than the actual sum of values specified in Reflected and Refracted, random figures come into play – the actual number of reflections and refractions will be random for various surface points, but their total will not exceed the Total value.

Auto Cutoff – sets raytracing exit by the value of the returned color. If the color value is less than the Auto Cutoff value, raytracing in this direction is cut off. There are color boxes and texture slots on the right, which help directly specify the color returned by raytracing at the end of the procedure.

The Options group allows to calculate various additional effects, such as blurred reflections and refractions (Glossy), self-reflections, etc. Enabled Glossy in Ray Server just allows to calculate this effect, blur settings are actually provided in material parameters.

Ray tracing Acceleration is a very important group of parameters. Actually all illumination calculations in brazil, from antialiasing to photon maps, are connected with tracing a certain ray type and calculating their cross points with surfaces. One can literally say that not less than 90% (in fact, may be even more) calculation time is spent on calculating cross point coordinates of the rays. That's why accelerating these calculations has a direct effect on the overall brazil performance.

There are a lot of methods to accelerate crossing tests, currently brazil uses so called voxels. The entire scene is subdivided into 3D cells of a specified size (width x height x depth). Each cell contains descriptions of polygons located within its boundaries, and the entire voxel grid is a database with polygon locations.

When calculating cross points, real tests are substituted for searching polygons along the ray in the database, and the real crossing tests are carried out for these polygons only. The fewer polygons are within one voxel, the faster ray tracing will be. But increasing voxel quantity requires much RAM, so it's not always possible to reach the limit when one voxel contains one polygon. Voxels can also be subdivided so that their parts contain fewer polygons. Subdivision depth and subdivision criterion can be specified in settings.

Pic. 8 Ray tracing Acceleration Settings

Mode>Single Grid – the voxel grid. The list also contains another acceleration method – Manual Hybrid, based on creating polygon databases by objects. It's not recommended by developers.

Max Size – here you can specify the maximum number of grid voxels. For example, 25 means that the voxel grid cannot be larger than 25 voxels wide, high and deep. The real number of voxels in the grid will depend on the number of polygons in the scene and the Max Polys value.

Max Depth – maximum subdivision depth of a voxel, if it still contains more polygons than specified in Max Polys. Be careful with this parameter, because increasing the max depth requires much RAM.

Max Polys – polygon counter, criterion to determine the real number of voxels and their subdivision depth. The less the value is (minimum value cannot be less than one polygon), the fewer crossing tests will be done. However small Max Polys values do not always result in overall calculation performance gain, because the program may happen to spend much processing time on building the voxel system. You should always find the optimum ratio between the time for setting up the voxel grid and the time for ray tracing.

Balance – this parameter controls the way the voxel grid will be built. With high balance values (about 1), the grid size will be given preference over the voxel subdivision depth when building the grid, that is grids with more voxels will be built, which will not be subdivided (or almost not subdivided). With low Balance values (about 0.5 and lower), the preference during grid building will be given to subdividing voxels. In this case there will be created grids with fewer voxels, but almost each voxel will most likely be subdivided as far as Max Depth allows it. Both methods accelerate calculations, the real effect will depend on a given scene.

In Ray tracing Acceleration settings there are three use-proven presets for different situations. You cannot adjust your own settings, you can take advantage of these presets.

Low RAM – settings for cases when there is not enough free memory to render a scene. It's not a rare occasion in case of high-polygon scenes. If your scene makes your operating system freeze or results in an abnormal termination of rendering, try these parameters. Though rendering will be real slow.

Moderate – average memory capacity, average render time.

Max Speed – if there is enough memory to render a scene, use this set of parameters, it will provide high render speeds. This set of parameters may serve as a starting point for your experiments with rendering speed.


Igor Sivakov (igsiv@mail.ru)

December 2, 2004

[an error occurred while processing this directive]