3D CLOCK by Eddie Hsu using OpenGL and GLUT

 

Text Box:  

3dclock.zip

 

3D Clock is a clock that gives you a 3D feeling with the perspective

viewing, the lighting, and the 3D looking skin.  The minute and hour hand

is formed with shadows of a spear in the center cast by two lights revolving

around the spear.

 

System Requirements:

3D accelerated card with 64MB+

 

 

 

 

 

Implementation Includes

 

smooth shading, planar projection shadows, setting and combining window regions, alpha blending,

texture mapping, stencil buffer test, animation, timer, lighting and materials, quadric primitives, and perspective.

 

Accomplishments / Learnings

 

created a 3D looking skin window by setting window regions through interfacing windows.h with glut

glutTimerFunc(), glutIdleFunc(NULL) and glutVisibilityFunc() callbacks to use the

            CPU only when necessary

planar projection shadows with alpha blending using the stencil buffer to eliminate

            zfighting artifacts and double blending

reflections by drawing objects up-side down using alpha blending

ground lighting by alpha blending a lightmap texture

 

Aside from the learnings above, through researching methologies on implementations of several parts of the

project, some techniques I've read heavily about are: shadow volumes, shadow mapping, bump mapping,

light mapping, anti-aliasing, and soft shadow techniques.

 

References     

 

Kilgard, Mark. “GDC Tutorial: Advanced OpenGL Game Development, Reflections, Shadows,

Transparency, and Fog.” Game Developers Conference 2000. NVidia.

 

Chanma, Keshav. "Light Mapping – Theory and Implementation."

http://www.flipcode.com/articles/article_lightmapping.shtml 

last accessed: March 6, 2004

 

Blythe, David. "Advanced Graphics Programming Techniques Using OpenGL Siggraph

99' Course." 1999.

http://www.opengl.org/resources/tutorials/sig99/advanced99/notes/notes.html

last accessed: March 7, 2004