I am developing a 3-dimensional surface and materials modelling package implemented on programmable graphics hardware. My aim is to use the Cg language to develop techniques for real time light reflections, refractions and shadows.
This picture is of a demo that included a dynamic water feature with real time reflections and refractions. The demo also contained real time shadows and bump mapping. The program used a total of 5 Cg shaders to render the scene.
The water surface was created using refraction and reflection texture maps. I found that this method gave better results than an environmental cube map. A Cg vertex shader was written to calculate the reflection and refraction vectors from the eye vector. A fragment shader was then written to perform the texture lookups.
The Fresnel effect was also incorporated for further realism.
Dynamic volumetric shadows were implemented using a Cg shader. This allowed the vector calculations to be performed on the vertex processing unit which can perform these calculations far quicker than a CPU.
Feel free to contact me for further information, or visit my web site at http://web.aanet.com.au/jwk/Thesis.htm