CS348b2007

Physically Realistic Volume Rendering

Group Members

James Hegarty

Qiqi Wang

Overview

In this project we are planning on rendering a scene based on a physically accurate light scattering model for volumetric materials. Such materials can include fire, smoke, vapor, and clouds. Special effects such as rainbows can be also rendered with this model. In order to accurately model the distribution of volume materials in complex geometry, a physically based fluid calculation must be performed, resulting in an unstructured mesh. A ray tracing algorithm for unstructured meshes needs to be developed, and light reflection and scattering models from these volume materials needs to be built.

The following pictures are from www.ImageMontage.com , I believe they are taken at the Nevada fall in Yosemite. The waterfall and rainbow is the type of things we want to render.

PCD2125_IMG0034

PCD2125_IMG0061

PCD2125_IMG0112

Modeling of volume material distribution

In order to model the distribution of volume materials accurately, we will use the commercial flow solver Fluent. In the waterfall scene, we calculate the flow of air around the waterfall, from which we calculate the density of water drops in the air. The following pictures demonstrates the geometry, mesh and the velocity field computed by Fluent. The small volume in the middle of the step is used to model the water fall, and the rest of the volume is used to model the air. An hex / tetrahedral hybrid unstructured mesh is generated in the volume, and the flow field is calculated using incompressible Navier-Stokes equation with k-e turbulence model. We will add a scalar field in the calculation that is used to model the density of water drops in air. Our rainbow image will be rendered based on the calculated density field of the water drops.

geometry mesh velocity

Ray tracing through unstructured mesh

There is some work done on ray tracing algorithms for volume effects, but most of it is restricted to cartesian meshes, which limits its ability to model flow effects in complex geometry. We will base our volume rendering on a ray tracing algorithm for unstructured meshs such as the mesh shown above. We expect ray tracing of unstructured meshs to be much more expensive than ray tracing of a cartesian mesh, but it is potentially very rewarding. It allows us to render volume effects that is directly produced by the flow solvers.

Modeling of light scattering

We will use a physically-based model to simulate the scattering of light in volumes. Our model will cover scattering with opaque particles such as smoke, in addition to transparent particles such as water. In the case of transparent particles, light of different wavelengths has different refraction indices inside the particle, and internal reflection occurs, leading light that enters the water droplet from behind the observer to reflect back at the observer spread out horizontally. This effect is commonly known as a rainbow. Our model will not involve ray tracing of individual particles, because this would require a prohibitive amount of calculation time. Instead, we will make simplifying assumptions based on the light and camera angle and properties of the particle being rendered.

While PBRT does already include some models for volume rendering, they do not account for transparent particles and angle dependent effects, like we want to render. We also suspect that there may be the possibility of improving PBRT's efficiency in rendering our volumetric meshes.

Sources

Rainbows, Halos, and Glories by Robert Greenler

last edited 2007-06-13 18:52:54 by JamesHegarty