Advantages


Deep-buffer rendering in Genesis provides unique advantages to the workflow process.  The renderer was built fundamentally around deep-buffering so that it can be heavily leveraged and operate efficiently.  There is no difference between the quality of output from the renderer and image quality used in the interactive process.  This ensures that you are working with output-quality images when using deep-buffering for interactive design.


Interactive Updates


One of the primary advantages to deep-buffering is that it allows you to modify your scene composition and see the results in seconds or less, even if an image initially took a significant amount of time to render.  This allows you to rapidly explore many variations of lighting and material combinations while viewing final-quality imagery throughout the entire process.  You can make near real-time changes to shaders as well as modify the color and intensity of lights.


Render Times


The time it takes to re-render an image after making a change is independent on the scene’s geometric complexity.  Render times only depend on the size of the image and the shader complexity.  This means that the return on investment for using deep-buffering grows with scene complexity.


‘Through the Image’ Selection


The rendered image that you are working with is aware of all objects that each pixel represents.  This allows you to pick and select objects directly through the fully rendered image with the mouse.   When selecting an object in this manner, this automatically exposes the selected object’s shade tree allowing you to rapidly access and make adjustments to the material properties of visible objects.  Working ‘through the image’ in this manner increases productivity, particularly on complex scenes.


Viewing Layers Independently


A unique aspect of deep-buffering is the ability to render the image you are viewing using only a portions of the shaders or the light in the scene.  This allows you to visualize the hidden dimensions of the scene that contribute to a final image.  For example:


1) You can view just the incident light being cast onto all the objects without their material properties modulating the light

2) You can view just the textured diffuse reflectance of a scene

3) You can view just the specularity appearing on the objects without any other material contributions


There is no limit to what you can view, as you can expose and visualize any node of any shade tree in the scene.  This allows you to expose any part of the shading pipeline.


To view a specific light in the scene, you simply drag it from the scene graph and drop it onto the image.  For example, the image below on the left shows an image that is currently being worked with, the image on the right is how it looks after dragging and dropping a specific light directly onto it:

Click on Images to see examples

When viewing layers independently, the image still undergoes live updates.  This allows you to make adjustments to the scene while viewing only specific properties of the scene.  For example in the image above where only the incident light is shown on the objects, you could make adjustments to the lighting color, intensity, or change the shadow parameters to create softer or more crisp shadows.  This makes it easier to see the effects of your changes by viewing them in isolation.


Layer Extraction


Because all the information of the rendering process is available in user controlled layers, it can also be extracted when rendering out final frames and animations.  This allows the renderer to produce user-controlled layers that can be used in coordination with third party compositing applications, putting the ultimate control of the final imagery in the hands of the compositor.  A single render pass can generate an unlimited number of layers of imagery, and this adds no cost to the rendering calculation, and only a slight overhead for writing out the frames.  For example, a single render pass could generate 5 frames which separate out all the different lights and the material properties into separate frames that can be combined in the compositor to generate the final image.  This gives the compositor the ability to lower the intensity of a particular light, or change its color without effecting the other lights.  In effect, many of the advantages of deep-buffer rendering can then be leveraged in the compositor for a second round of technical and aesthetic refinement.  The user interface for controlling layering and its ability to target any node in the shade trees allows any part of the shading pipeline to be captured into the output of the renderer.


Interactive Texturing


Textures for all shaders can be modified in close to real time.  You can change textures, as well as move textures around to change their placement while viewing the results on a final-quality image.  The application provides a live texture browser that allows you to pick a directory of useful textures.  Once this browser displays the textures you have selected, you can simply select any one of them and your object will immediately re-render in near real time.  This click-and-render workflow allows you to rapidly explore a large range of aesthetic options in very short amount of time.


Image-Space Filtering with Geometry Preservation


Another powerful feature that falls in place naturally with deep-buffer rendering is the ability to process specific layers of the shading pipeline with traditional image filters.  The primary advantage to doing this in the renderer as opposed to a compositing application is that the renderer can respect the underlying geometry and guarantee the full preservation of geometric detail.  This allows you to apply blur filters for example, where the blur radius can be set quite high and have a significant impact on the shader detail, but will have absolutely no impact on the geometric detail.   This is a huge win when using monti-carlo techniques which tend to generate noise due to sampling variance.  This filtering process can be applied to any shader in any shade tree, which limits the filters effect specifically to a particular shader.  However, filtering can also be used on blend shaders where the filter applies to the output from a subtree of shaders who have already produced a combined result.


For a more detailed example of image-space filtering in action, click on the image below.

Copyright © 1998-2010 Solar Digital, Inc. All rights reserved.

SOLAR DIGITAL is a registered trademark and service mark of Solar Digital, Inc.

Home        Unity       Products      Customers      ContactHome.htmlUnity.htmlProducts.htmlCustomers.htmlContact.htmlshapeimage_3_link_0shapeimage_3_link_1shapeimage_3_link_2shapeimage_3_link_3shapeimage_3_link_4