Revision 5 as of 2007-05-22 04:10:52

    AndersHagvall/FinalProject

Final Project

Collaborators

Jawed Karim

Anders Hagvall

Project Proposal

Overview

The idea behind this project is to reproduce the effect of looking through hot air. The speed of light is varying according to the density of the medium it's traveling in, and this can vary a lot even in the same medium. We are looking to find a way to reproduce this physical effect, with the trail of the jet engine exhaust below as our model image.

Physical Sense

With air, the density is determined by several factors, such as the barometric density, water vapor, its temperature and the local existance of other substances, such as gasoline behind an engine. What happens when we are looking through air with locally varying density is that the refraction index change with the density of the air. The physically correct way to model this would be to numerically assign a density to small volumes of air, and then intersect and update the direction of each ray according to these densities. Behind an aircraft exhaust, we would have to simulate the effect of the jet engine shooting out a density flow, that spreads throughout the scene with time, changing the density of each air volume.

Approach

The physically correct model for this is both complex and will probably generate huge rendering times, so our first approach will be to see if we can reproduce the same phenomenon using noise effects and common graphics methods. Our first try will be to investigate the possibility of treating the hot air as a solid primitive. To this primitive, we want to use a generated smoke texture as a map to determine a refraction index to use for the intersection of the ray. The same thing will be done to refract the ray out to the "regular" air again. By doing this, we will loose accuracy in treating the primitive as a solid, and therefore only perform two intersections, and it will be up to the texture map to reproduce the correllation between neighbouring air volumes having similar density. To accomplish this, we will try to use a texture of generated smoke. Smoke could be random, but there is a big difference between smoke and random noise. We hope that this will create the proper effect.

As for now, it is tough to divide the project into distinguishable areas approperiate for each of us to be responsible for. When we see how our first approach turn out, it will be easier to develop the scope of the project into a final state, and also split it into several paths. As for now, we just have too little of an understanding how well this turns out to work, so we want to wait a couple of days with that decision.

In case it turns out to work fine there are lots of things we could extend the project with to make it more versatile. We could work on making our method independent on the camera position if that is a problem, comparing different maps generated of different physical correctness and also fully implement the physical simulation and compare the results. Maybe we could procedurally generate the aircraft trail from a point in space, an aircraft velocity and a type of engine, or extend the idea to work in an animated simulation over time.

For the scene geometry we plan on approximating the scene background as far away enough to be just a textured plane. For the aircraft we plan on parsing a 3d-model in some format into pbrt and use the triangle mesh for the simulation. For the purpose of showing the physical effect of the project, a fully detailed texturing of the aircraft is not necessary, but in case time will be on our favour, implementing glowing jet engines, cockpit and other more detailed aircraft features would be cool.

References

http://en.wikipedia.org/wiki/Air_density

Recent