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