Brazil Features
![]() | Brazil r/s for Rhino Wiki pages SplutterFish / Robert McNeel & Associates |
Brazil Rendering System feature list
Summary: This page discusses a number of advanced features that are available in Brazil r/s
Contents:
Technical Description
On the Splutterfish website you can read that Brazil is an Adaptive QMC Sampling, Global Illumination and Ray Tracer implementation of the Bucketed Rendering paradigm. The Splutterfish website will not tell you what that actually means. This wiki page aims to highlight several Brazil features (this is not a complete list, indeed… far from it) and describe them in layman terms. I will not shy away from the official jargon, but I promise I won't use terminology to confuse or impress you.
I might be able to describe what Brazil actually is and does and I might jujujuju even pull it off in less than a hundred pages, but what you need to know about Brazil is:
- It's a great rendering engine.
- It's not the only great rendering engine.
- It's tightly integrated with Rhino.
- It's not easy to master, but very few things worth doing are.
- There are very few things you cannot do with Brazil if you set your mind to it.
Everything else is hearsay. The only way to choose a rendering platform which will work best for you is to try it and see for yourself. Listen carefully to opinions and reviews, but make up your own mind in the end. Have a look at user galleries and be impressed by the expertise and workmanship you'll encounter, but do not belittle the artists by thinking that you too will be able to effortlessly make images like that on a rainy sunday afternoon. Software cannot be judged on feature lists alone.
An Example Image
This image was rendered in a recent (early 2007) beta version of Brazil for Rhino and it shows several advanced features that you will not find in simpler platforms such as the Rhino renderer or Flamingo:
|
I have highlighted five details in this image each of which represents an advanced feature:
Ray Tracing
| | Many render engines are based on the ray tracing method (as opposed to scanline or hardware renderers). The advantages of ray tracing is that it is a much more natural way to solve a rendering problem because it resembles the way in which photons behave in reality. However, a ray-tracer engine is not limited to realistic solutions, as will be clear later on. Brazil has one of the most advanced ray-trace engines on the market today, it is capable of simulating a wide range of effects such as reflection, refraction (transparency), dispersion (prismatic rainbow effects), sub-surface scattering (diffuse light transmitting materials such as wax or skin) and glossy reflections (blurry or brushed materials). The ray tracer is also capable of sampling different properties at different rates, meaning that you can compute a very rough indirect lighting pass (thus saving precious render time) while keeping the direct lighting at high accuracy (thus having a crisp image). The ray tracer is very flexible and can be adjusted if you want it to behave differently. See this page for the Brazil Ray Server options. |
Advanced lighting
| | Rhino supports a number of different light objects (point, spot, directional, linear and rectangular) and lights can have a number of properties such as colour, hotspot and shadow casting. Brazil adds about a hundred more. The sheer number of different properties lights can have is quite intimidating at first, but most of these settings are only needed in very specific cases. Among the light features added are decay (the natural, physically correct, darkening of light as a function of distance to the source), attenuation (physically incorrect, amplification of brightness as a function of distance to the source), focus control (rectangular, conical, cylindrical etc.), projections (instead of emitting a single colour, a brazil light can emit a picture or procedural texture) and exclusion lists (the lights can be made to ignore certain objects in the scene). In addition to these additional properties, Brazil will also display all focal cones and attenuation spheres for selected lights in the viewport, so you can see the affects of your settings in real-time. A more in-depth discussion on light properties and settings can be found here |
Toon and NPR
Depth of Field
| | Depth-of-Field (DOF) is a popular effect these days, especially in architectural stills and animations. It simulates the imperfect focusing properties of physical lens-systems such as biological eyes and cameras. DOF adds a measure of realism to a rendering by blurring out-of-focus areas. Also, it can be used to “mask” certain areas of the scene which may not have been modelled properly such as distant surroundings. The settings for DOF will be familiar to those of you who are familiar with photography; Focus Distance, Radius and F-Stop values determine the strength and domain of the DOF (the term depth-of-field refers to the amount of space (the depth or length) which is in focus). The DOF effect in Brazil also supports Bokeh abberations which is the effect over-exposed areas in an image have when they are out of focus. Since Brazil is a high dynamic range renderer (meaning you can get colours that are brighter than white, see below) such physically correct effects can be simulated with great accuracy. |
Procedural Textures
High Dynamic Range colours
Brazil is a High-Dynamic-Range engine, meaning that its colours are not limited to the Black~White range. You can in fact have colours that are brighter than white and even darker than black, even though the latter is a physically impossible property. You might wonder why it is so important to have “brighter-than-white” colours if the computer screen cannot display them. The answer is that colours in a rendering are often diluted by partial reflection or refraction. Take a look at the following scene with GI and partial reflection:
Colours can also be diluted through indirect lighting, as the following table shows. This scene is lit both directly (through a pointlight to the left which casts the predominant shadow) and indirectly:
Global Illumination
Global Illumination (GI) is a feature you will find in most modern rendering platforms and indeed in Brazil. GI uses both direct and indirect illumination to generate a realistic image. Direct lighting is the process where light objects cast light onto objects, thus creating bright areas on surfaces that face the lightsource, darker areas on surfaces that do not and shadows when surfaces cannot “see” the lightsource directly due to some obstruction. After a surface has been lit directly, it too emits photons (after all, we are able to see it) and some of those photons are captured by yet other surfaces. Some of these photons are bounced around again and some of those photons are finally caught by our eyes or a camera. I used the phrase “some of” quite a lot in the previous sentence, indicating that the effect of indirect illumination is relatively small compared to that of direct illumination. Yet, it is the details that sell an image and humans are very fussy about correct lighting since we are used to seeing so much of it in real life around us.
One more example of diffuse light scattering shows the leaking of colour as well as luminance in indirect illumination:























