07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Volume rendering 243<br />

External links<br />

• The Visualization Toolkit – VTK (http:/ / www. vtk. org) is a free open source toolkit, which implements several<br />

CPU and GPU volume rendering methods in C++ using OpenGL, and can be used from python, tcl and java<br />

wrappers.<br />

• Linderdaum Engine (http:/ / www. linderdaum. com) is a free open source rendering engine with GPU raycasting<br />

capabilities.<br />

• Open Inventor by VSG (http:/ / www. vsg3d. com/ / vsg_prod_openinventor. php) is a commercial <strong>3D</strong> <strong>graphics</strong><br />

toolkit for developing scientific and industrial applications.<br />

• Avizo is a general-purpose commercial software application for scientific and industrial data visualization and<br />

analysis.<br />

Volumetric lighting<br />

Volumetric lighting is a technique used in<br />

<strong>3D</strong> computer <strong>graphics</strong> to add lighting effects<br />

to a rendered scene. It allows the viewer to<br />

see beams of light shining through the<br />

environment; seeing sunbeams streaming<br />

through an open window is an example of<br />

volumetric lighting, also known as<br />

crepuscular rays. The term seems to have<br />

been introduced from cinematography and is<br />

now widely applied to <strong>3D</strong> modelling and<br />

rendering especially in the field of <strong>3D</strong><br />

gaming.<br />

Forest scene from Big Buck Bunny, showing light rays through the canopy.<br />

In volumetric lighting, the light cone emitted by a light source is modeled as a transparent object and considered as a<br />

container of a "volume": as a result, light has the capability to give the effect of passing through an actual three<br />

dimensional medium (such as fog, dust, smoke, or steam) that is inside its volume, just like in the real world.<br />

How volumetric lighting works<br />

Volumetric lighting requires two components: a light space shadow map, and a depth buffer. Starting at the near clip<br />

plane of the camera, the whole scene is traced and sampling values are accumulated into the input buffer. For each<br />

sample, it is determined if the sample is lit by the source of light being processed or not, using the shadowmap as a<br />

comparison. Only lit samples will affect final pixel color.<br />

This basic technique works, but requires more optimization to function in real time. One way to optimize volumetric<br />

lighting effects is to render the lighting volume at a much coarser resolution than that which the <strong>graphics</strong> context is<br />

using. This creates some bad aliasing artifacts, but that is easily touched up with a blur.<br />

You can also use stencil buffer like with the shadow volume technique<br />

Another technique can also be used to provide usually satisfying, if inaccurate volumetric lighting effects. The<br />

algorithm functions by blurring luminous objects away from the center of the main light source. Generally, the<br />

transparency is progressively reduced with each blur step, especially in more luminous scenes. Note that this requires<br />

an on-screen source of light. [1]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!