Eyeon:Manual/Fusion 6/3D/OpenGl and Software Rendering

From VFXPedia

Jump to: navigation, search
OpenGl and Software Rendering

[ Main Manual Page ]


Renderer 3D

In order to generate a 2D image from a 3D scene, the scene must first be rendered using a Renderer 3D tool.

The renderer uses one of the cameras in the scene to produce a 3D image. If no camera is found, a default perspective style view is used. This default view rarely provides a useful angle and it cannot be adjusted, so most 3D scenes include at least one camera.

The image produced by the renderer can be any resolution, up to Fusion's 32,000 x 32,000 pixel limit. The Renderer 3D tool is equivalent to other creator tools, such as the Background, Fast Noise or Text tools. As such, it provides the usual options for fields processing, color depth, and pixel aspect.

Fusion provides two different types of renderer by default; a GPU accelerated OpenGL renderer which produces results almost identical to those shown in the interactive 3D views, and a software renderer which is slower but supports more advanced rendering techniques such as soft shadows or extremely large textures.

Software Renderer

The Software Renderer is the default renderer and is generally used to produce the final output. The software renderer is not dependent on the capabilities of the graphics card, ensuring that the results of the render are always the same whatever the configuration of the machine used to render.

Image:f6_swrender_softshadows.png

The software render is required to produce soft shadows. This feature is not supported by the OpenGL renderer.

The software renderer can easily handle textures much larger than the graphics card's maximum texture size. It is recommended for maximum quality when working with large images as textures.

As the computer systems used as render slaves in network render farms frequently have either weak graphics cards, or no graphics cards at all, the software renderer is generally preferred when rendering a composite through the render farm.

OpenGL Renderer

The OpenGL Renderer relies on the GPU and memory on the graphics card of the workstation to produce the image. The textures and geometry are uploaded through the systems bus to the graphics card, and OpenGL shaders are used to produce the image. This can be orders of magnitude faster than the software renderer, but limits the OpenGL renders to the capabilities of the graphics card.

With the introduction of very fast GPU's and performance optimized shader languages like NVidia's CG language the OpenGL renderer has become much more flexible. This speed makes techniques like super-sampling and depth of fieldpossible when they would have previously been much too slow for production use. As a result, the OpenGL renderer in Fusion 6 is much more appropriate for final renderings.

Note that the GL Renderer in Fusion 6 now respects the color depth option in the radioactive tab of the Renderer3D tool. This can cause slowdowns on certain graphics cards when rendering to int16 or float32. See the GL Renderer slow in int16/float32 FAQ for more information.

Image:f6_oglrender_dof.png

Displaying and rendering textures larger than the graphics card's maximum texture size is very difficult for OpenGL, either failing entirely, or slowing the rendering immensely. Most OpenGL-accelerated cards available at the time this chapter was written allowed a maximum texture size of 2048x2048 or 4096x4096, depending on how much memory was installed on the graphics card.

Textures larger than this maximum cannot be displayed directly by OpenGL. Fusion will resize images larger than the maximum to half the maximum texture size of the graphics card to ensure the image can be displayed in the views and rendered by the OpenGL renderer.

Contact the graphic cards vendor to determine the maximum supported texture, or use freely available utilities such as the OpenGL extension viewer found at www.realtech-vr.com.

A common gotcha with GL Renderer in Fusion 6


The contents of this page are copyright by eyeon Software.