Computer graphics is a branch of computer science that deals with the creation of visual images using a computer. The fundamental process in computer graphics is the conversion of a mathematical model of the desired image into a collection of hardware operations on a graphics workstation that produce the desired image. This conversion process is known as rendering.
Math model ---------> Hardware model Rendering
These notes will focus on the mathematical modeling and rendering aspects of computer graphics. The hardware models used in computer graphics are fairly simple and fixed by computer manufacturers. These hardware models will be briefly reviewed in the next section.
On the other hands, the mathematical models used are under the control of the programmer and can tend to be very complex. One goal of these notes is to develop a simple, but powerful collection of mathematical data structures that will allows us to representation a rich variety of visual images. While this may seem to be a simple task, consider the problem of representing a coffee cup. Most data structures in computer science are used to represent discrete objects such a lists, trees and graphs. A coffee cup is smooth, continuous object whose visual appearance is characterized by its geometric shape and color. These notes will discuss methods for representing both geoemtric shape and color.
The other goal of these notes is to design algorithms that, given a mathematical model of the desired image, produce a collection of graphics hardware commands that approximate the image (rendering). The rendering agorithms will necessarily depend on the type of data structure used to represent the image. A typical rendering algorithm converts a complicated, continuous shape into a larger collection collection of simpler, discrete objects (such as blocks) that can be directly drawn on the graphical display of a computer.
The complexity of the rendering process also depends on the accuracy desired in the final image. In photorealistic rendering, one simulates optics to produce an image that matches (or closely approximates) a real world image. Such optical simulations are extremely expensive and are usually not interactive. Most interactive rendering algorithms satisfy a lower standard of accuracy, ``suspension of disbelief''. Under this standard, non-obvious, inacurraies in the final image are acceptable. For many types of synthetic images that have no physical realization, this standard is the only one available.