Course Notes to
Foundation
of 3D Graphics Programming
Using JOGL and Java3D
Chen, Jim X., Chen, Chunyang
2nd ed., 2008, XVI, 400 p. 141 illus., 40 in color., Hardcover
ISBN: 978-1-84800-283-8
Setting up OpenGL programming environment
Intro: display, object, model, image, primitive, graphics library, OpenGL programming, system
Hardware: raster display system and some basic terminologies
OpenGL: OpenGL, related libraries (glut, glu, etc.), double buffering
Raster: scan-conversion, characters, clipping
Attributes: primitive attributes, antialiasing, animation, circle subdivision
3D models: OpenGL primitives, hidden-surface removal, back-face culling, cone, cylinder, sphere, collision detection
2D transform: 2D translate, scale, rotate, homogeneous coordinates, composition of transformation
3D transform: 3D translate, scale, rotate, 3D composition of transformation, OpenGL implementation, examples
Viewing: 2D viweing, 3D viewing methods, OpenGL viewing methods, implementation, and programming
Lighting: OpenGL color mode and interpolation, OpenGL lighting for a point
Shading: polygon shading methods, problems with interpolated shading, raytracing
Blending: transparency, antialiasing, fog
Image: OpenGL images, framebuffer access
Texture mapping: OpenGL texture mapping, texture coordinates calculations
Optional materials: choose from the following
Advanced rendering: bump mapping, displacement mapping, environment mapping
Cg programming in JOGL: vertex and fragment programming
Curves: understand cubic curve lines
Surfaces: bi-cubic curve surfaces
Buffers and Tests: OpenGL buffers and tests
Java3D: Programming in Java3D, a Scenegraph strucure on Java platform
Color: olor theory and human color perception characteristics
Computer color: more on RGB and CMY
Display list: immediate mode and display list for better efficiency