3D Computer Graphics: A Mathematical Introduction with OpenGL
This introduction to 3D computer graphics emphasises fundamentals and the mathematics underlying computer graphics while also covering programming techniques using OpenGL, a platform-independent graphics programming environment. Topics include transformations and viewing, lighting and shading, ray tracing, radiosity, texture mapping and color theory, and aspects of animation, including quaternions, orientation, and inverse kinematics.The book is aimed at the advanced undergraduate or introductory graduate level, and can also be used for self-study. The minimal prerequisites, basic knowledge of calculus and vectors, are reviewed in an appendix. Novice OpenGL programmers may also want to consult an OpenGL programming guide.
Transformations and Viewing
Lighting Illumination and Shading
Averaging and Interpolation
Other editions - View all
3-space affine transformation algorithm ambient axis B-spline curve Bezier curve Bezier patches bilinear blending functions buffer calculate called Catmull-Rom color commands computer graphics control points Cook-Torrance cross product curve q(w cylinder defined degree three Bezier diffuse direction discussed dot product double environment map equal Equation example Exercise Figure VII float form factors formula geometric Gouraud homogeneous coordinates illumination intersection testing jittered joint angles knot positions light source line segment linear interpolation linear transformation method mipmap multiple nonzero normal vector numbers object OpenGL orientation partial derivatives Phong lighting Phong lighting model pixel plane point at infinity polygons polynomial projection properties quadrilateral quaternions radiosity ray tracing recursive reflection rendering represent rotation routines scalar scene shading shown in Figure specified specular specular reflection sphere splines subpixel supersampling surface normal texture coordinates texture map Theorem three Bezier curve triangle unit vector values vertex vertices viewer weighted average zero