Splutterfish Brazil r/s
Jun 1, 2004 12:00 PM, By S. D. Katz
Renderer's optics reach closer to the photographic ideal
Photorealism. Note the word “photo.” This is short for “what computer graphics aspire to.” Photography is in the CG genes, encoded in the geometric optics that are the basis of all 3D rendering applications. Until fairly recently, however, CG software has not obeyed the rules of photometry or calculated the behavior of light consistently.
Enter Splutterfish's Brazil, one of the most formidable of the boutique render applications (for 3ds Max) whose architecture simulates photometrics and optics with far greater fidelity.
Brazil has largely achieved the goal of providing a comprehensive photographic system in a rendering solution that incorporates all the latest rendering technologies. These include global illumination, subsurface scattering, lens mapping, area lights, depth of field, support for HDRI (for more on HDRI see page 85), a skin shader, and chromatic light effects. All are available with a wide selection of parameters for each category. The above features are available from competing products, but the overall level of control is not necessarily comparable. It would take many more pages than are available here to cover all of Brazil's features, so I'll concentrate on the photographic and photometric ones.
Through a Lens Darkly
Brazil was designed with accurate photographic behavior as a goal, unlike many other apps that are adding these behaviors piecemeal. Brazil is one of the few renderers that calculates optical phenomena through a lens rather than as a 2D cheat. For instance, in most 3D apps, depth of field is accomplished with a convolution filter that blurs the rendered image at the end of the rendering pipeline. This compromise is based on a z-buffer and does not take partial occlusion into account, thereby producing inferior results. Brazil mimics depth of field based on circle of confusion calculations, so that focal bugs are based on optics, not luminance (as is the case with depth-of-field postproduction filters). These may be subtle differences, but they make a difference.
Brazil offers lights that are substitutes for similar lights in 3ds Max but with greater functionality and far greater control. Brazil lights include Omni, Spot, Directional, Rectangle Area, and Disc Area. The last two, Rectangle and Disc, have no equivalent in Max and behave like heavily diffused sources or bounce cards. These are essentially area lights.
The first thing to understand about how the Brazil lighting system works is to know that IES files are supported. This is a file format used by lighting manufacturers that contains the photometric performance data of their lighting instruments. This is used by architects to preview lighting designs in buildings before construction begins. You can import an IES file into Brazil, or create your own Brazil light based on a long list of parameters. These parameters are more or less based on the photometric information found in an IES file.
Most CGI lights have controls for color, brightness (intensity), fall-off, and distribution, as well as projector capability for projecting images, however, these are usually presented in an arbitrary system. Brazil delivers a photometrically correct system. Take color, for example. Instead of presenting RGB values from a color picker, Brazil has separate Illuminant and Filter color controls. Think of the Illuminant as the bulb and the Filter as a gel. Illuminant color is expressed in degrees Kelvin, the common bulb manufacturer's way of describing a lamp's light energy.
The idea is that the eye adapts to local color. For example, daylight and artificial light have different light spectra. However, a white card viewed in each of these situations is perceived by humans as white. In a sense, the eye “white balances” for changes in the overall lighting condition. This means our perception of individual colors such as red or blue is context sensitive. Cinematographers deal with this every day. By taking this into account, Brazil is working in a language understood by photographers and lighting designers.
For years it irritated me that light intensity in most 3D software was expressed as a percentage or multiplier number. Brazil offers three user-selectable units of measurement: lumens, candela, and lux. This is the common terminology of lighting manufacturers in their published instrument specifications. However, lux is a metric standard, and I would also like to see foot-candles provided. On my older light meters, foot-candles are the only measurement provided. (By the way, one foot-candle is equivalent to 10.76lux.)
Brazil's precision is also evident in the Hotspot, Falloff, and Focus controls. In most 3D softwares, these aspects of a light's appearance are adjusted numerically or in the user interface. This is done by controlling the size relationship between an inner light cone and an outer light cone, with a third control for the softness in the transition between cones. Brazil provides a much more useful approach, with linear, cubic, and custom control of curves. Points can be added to create complex light pattern profiles. There is also a wide range of display options for the above-mentioned light cones, distance attenuation range indicators, and other representations of lights and cameras.
In keeping with the rest of Brazil's real-world approach, the Brazil camera adds controls not available in the 3ds Max default camera.
One of the areas of expanded capability is lens projection. Brazil offers specialty mapping with Environ Mapper, Orthographic, and Panorama modes. There is also perspective mapping, the view most 3D apps offer as a traditional camera view.
However, this common type of projection is linear. Real lenses are not linear in short focal lengths but exhibit curvature of field. Brazil offers Spherical projection to emulate this wide angle lens distortion. Spherical projection is represented in the viewport by a blue plane perpendicular to the optical axis of the camera. When the focal length of the lens is changed, the degree of curvature in the spherical plane changes. This is a great interface innovation.
There are also iconic representations of near and far clipping planes, near and far environment effects (such as fog), and depth of field. Any icon can be made visible or invisible in the viewport. One of the more whimsical features offers the user a selection of camera icons shaped like familiar motion picture and video cameras. You can also create and load your own 3D icon.
Brazil provides control over the focal length, filmgate, and f/stop. Filmgate is not a commonly used term, and refers to what is usually called the camera aperture. There are a number of default camera systems, but an artist can also enter custom values. While Brazil faithfully adheres to geometric optics and photometry, users can override this and enter arbitrary values for effects calculated from camera settings (f/stop and focal length), such as depth of field.
Is all of this scrupulousness of value? Yes, for two reasons. First, visual effect artists integrate CG elements with live-action footage all the time, so real and virtual lighting must be matched. It makes sense that they are based on the same science and methodologies. Second, even without the issue of effects integration, many CG artists have a background or experience in photography. Why have lots of independent and inconsistent virtual lighting systems for each software app? Brazil's approach is common sense and common practice.
Having said that, Brazil is a 1.0 product and still needs refinement. Tutorials would be helpful. There are sample projects available online with relatively perfunctory descriptions. These need to be supplemented with more detailed explanations and helpful hints.
The manual is also a bit skimpy, and while useful in learning what each tool does, there need to be more examples of the features in action. Also, there is no quick start or comprehensive introductory tutorial. It might be useful to base these on common real-world lighting setups, such as a classic three-point lighting setup and a backlit table top or seamless light setup. To be fair, the online support is quite good and there is an active and generous user community.
Spherical lens matching is useful for all-CG work, but does not really solve the problem of integrating digital scenes with live action. That's because real lenses don't precisely conform to the mathematical spherical model. For one thing, today's lenses use spherical and asperic elements. Mental Ray provides lens mapping settings based on real lenses, such as Zeiss Super Speeds or the 24mm Distagon. Matching virtual and real lenses is a major issue when designing set extensions and digital matte paintings.
Brazil can output HDRI and 16-bit files, but it would also be nice to simulate film response curves in software. Right now the output from most renderers is linear, which is why highlights tend to bloom in a way that resembles digital photography.
Splutterfish has been meticulous in providing a photographically based rendering system. However, there are limits to software emulated photographic systems — a completely accurate photometric model cannot be calculated with the current level of processing and rendering power available in a practical production environment. That level of technology is years away. For now, Brazil is a photographer-friendly tool that also happens to make great images. At $200 per processor, it's a real bargain.
Continue the discussion on “Crosstalk” the Millimeter Forum.