3D CLOCK by Eddie Hsu using OpenGL and GLUT
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