CS594 - Project 2
Byungil Jeong
- Programming Environment
- OS - linux
- Using OPENGL-2.0, GLSL, GLEW, GLUT, ImageMagick, MilkShape,
bob's OBJ library
- Modeling Environment
- Theme - a Pond in a hotel garden
- Sky using geo-sphere, each building wall is a single
surface, extruding floor surface downward to make the pond
- A rock in the pond with 120 triangles
- Creating textures for sky, front/back walls,
side walls, floor, pond floor, pond sides, and rock.

- Bump Mapping
- Using bump mapping shader
- Automatic generation of tangential vector from normal vector
for irregular surfaces

- Drawing Water
- The basic idea for drawing water came from Christian's
shader demo - Realistic Water using Bump Mapping tutorial
- Reflection : draw whole scene upside down, clipping above
water surface, store it as the reflection texture and then map it onto
water surface
- Refraction : draw whole scene as it is, store it as the
refraction texture and then map it onto water surface - multitexturing
- Clip below water when the camera is above water and clip
above water when the camera is below water. The scene clipped is drawn
on the water surface as the refraction texture.
- Using DuDv map for the scene on the water surface to be seen
refracted

- Fog Effect
- I implemented blue color linear fog in the bump map shader
which draws walls, floor, rocks, pond floor and pond walls.
- It calculates how long is the under water light path between
object surfaces and the camera to get the fog value.
- Fog is drawn in the refraction texture eventually rendered
on the water surface.

- It also works when the camera is located unter the water.

- The scene is somewhat dark. I think this makes sense because
part of the light from the objects is reflected on the water surface.
- Light Reflection
- Add fresnelTerm as described in Realistic Water using Bump
Mapping tutorial for specular lighting on the water surface
- One point light source is located on top of the front wall.

- Animation of Water Surface
- I implemented simple animation for the water surface by
adding offsets to the texture coordinate of DuDv map and normal map and
keep increasing the offsets.

Links to Source codes
proj2.tar.gz
Please refer to README.txt in proj2/pond about user interaction
last revision 3/6/06