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

The notes are under revisions for OpenGL 4.x on JOGL

Please check out new PPT and sample programs in the Blackboard


Setting up programming | Sample programs | Homeworks and answers

1-2. Chapter 1 (1.1, 1.2, and 1.3)

Setting up OpenGL programming environment
Intro: display, object, model, image, primitive, graphics library, OpenGL programming, system
Hardware: raster display system and some basic terminologies

3-4. Chapter 1 (1.3 and 1.4)

OpenGL: OpenGL, related libraries (glut, glu, etc.), double buffering
Raster: scan-conversion, characters, clipping
Attributes: primitive attributes, antialiasing, animation, circle subdivision

5-6. Chapter 2 (basics: 2.3.3, 2.3.4, 2.3.5; 2.1 and 2.2)

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

7-8. Chapter 2 (2.3 and 2.4)

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

9-10. Chapter 3

Lighting: OpenGL color mode and interpolation, OpenGL lighting for a point
Shading: polygon shading methods, problems with interpolated shading, raytracing

11-12. Chapter 4

Blending: transparency, antialiasing, fog
Image: OpenGL images, framebuffer access
Texture mapping: OpenGL texture mapping, texture coordinates calculations

13-14. Chapter 5

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


Copyright @ 2008 by Prof. Jim X. Chen, Department of Computer Science, George mason University