An overview of computer graphics, including its history, applications, and the basic concepts and principles involved in creating visual images on a computer screen.
Introduction to Computer Graphics
Key concepts, terminology, and foundational techniques
| Aspect | Description |
|---|---|
| Definition | The creation, manipulation, and representation of visual content using computers. |
| Goal | Transform data (geometric, textual, or procedural) into images that can be displayed on screens, printed, or used in virtual environments. |
| Fields of Application | Video games, scientific visualization, animation, UI design, CAD, medical imaging, virtual/augmented reality, film production, data analytics. |
| Stage | Primary Tasks | Typical Data Structures |
|---|---|---|
| Application | Scene setup, input handling, physics, animation | Scene graph, object hierarchies |
| Geometry Processing | Transform vertices (model → world → view → projection), clipping | Vertex buffers, index buffers |
| Rasterization | Convert primitives to fragments (pixels) | Framebuffer, depth buffer |
| Fragment Processing | Apply textures, lighting, per‑pixel operations | Shader programs, samplers |
| Output Merging | Blend fragments, write final color/depth | Color buffer, stencil buffer |
Modern GPUs use a highly parallel version of this pipeline, with programmable shaders at the geometry and fragment stages.
| Topic | Relevance |
|---|---|
| Vectors & Matrices | Represent points, directions, transformations (translation, rotation, scaling). |
| Homogeneous Coordinates | Enable perspective projection and concatenation of transforms. |
| Linear Algebra | Basis for vertex shading, normal transformations, skinning. |
| Coordinate Spaces | Model, World, View (Camera), Clip, Normalized Device Coordinates (NDC), Screen. |
| Interpolation | Barycentric coordinates for per‑pixel attribute interpolation. |
| Geometry | Dot product (angles, lighting), cross product (normals), plane equations. |