Archive Pages

This section contains archived materials. The material posted here is no longer being maintained.

Computer Graphics Taxonomy (2001)

Jacquelyn Ford Morie

Note: Please give feedback on the Taxonomy to Jacquelyn Ford Morie (Morie_at_siggraph_dot_org).


This project will define a relational taxonomy of Computer Graphics concepts, covering not only the breadth of topics pertaining to Computer Graphics Imaging (CGI) but also considerable depth within in each of the topic areas inventoried.
The taxonomy includes basic and advanced CG concepts that are pertinent across many disciplines, from art to engineering.

The taxonomy, as presented here, is a first draft at what is hoped to become a comprehensive taxonomy, especially in terms of depth.
CGI is a multi-faceted disciplineóbased as it is on diverse areas such as mathematics, engineering, physics, art and design, just to mention a few more notable ones.
The primary goal of this taxonomy project will be to solicit and include a wide range of additional input from experts in CGI, as well as ACM SIGGRAPH Education Committee (ASEC) members, so the taxonomy can be as complete as possible.

Within the taxonomy many topics have pointers to related areas or subjects that are essential to most uses of that topic but which are outside the scope of this taxonomy.
Much more input is requested in completing the range of these internal and external topic pointers.

The end goal of this project is to provide a tool for educators and CGI practitioners alike to facilitate their usage and understanding of a wide range of CGI topics. One of the ultimate uses of this taxonomy project, besides the educational ones listed below, will be to serve as the framework for the SIGGRAPH Education Committee's Digital Library project (ASEC Digital Library). This NSF-funded project, headed up by Scott Owen, will be the repository for an online, accessible common body of educational materials for CGI and Visualization: this CGI Taxonomy will provide the searchable database index for a large part of the ASEC Digital Library.

It is important to note that this project represents only one approach for organizing these concepts into a coherent whole. We acknowledge that there are many, many ways of organizing these concepts. This specific organization is presented, not as a primary or ultimate organization, but as a working framework that educators can use to see how topics relate and fit together, and as an index for the ASEC Digital Library. As an evolving index, topics will continue to be added. Other uses of this taxonomy will depend on the specific goals of the educators using this information, but some suggestions are noted within the GOALS section that follows.


The goals of this project include (for teachers, students as well as life-long learners):

  • Compiling a comprehensive and relational listing of the concepts of CGI in one document that can serve as a index to a wide range of curricular and reference materials
  • Providing a tool for educators to plan their future courses/curricula, as well as evaluate what they are covering in their current classes
  • Presenting related topics that supplement or enhance the computer graphics concepts, especially in professional contexts
  • Allowing educators and learners to see what concepts they might want to learn more about within a given area
  • Enabling a dialog between educators and prospective employers in many fields to determine essential background training needed to support specific job skills



Phase 1: Initial Draft of Taxonomy

Phase 2: Seek advice and input from a variety of experts in CGI on the following:

  • Inclusion of additional topics (ensure completeness)
  • Correctness of topic placement
  • Specification of related concepts outside the taxonomy
  • Relational pointers within the taxonomy


Phase 3: Solicit advice from ASEC members for the above list.

  • Place reviewed taxonomy on web site for Phase 4.
  • Taxonomy at this stage is also ready to be used as the framework for the Digital Library Project.


Phase 4: Request for educators to ìwrapî curriculum around the taxonomy, for specific curricula (art, science, math, animation, etc.)

  • On a per-class basis specify each section (both depth and breadth) from taxonomy that is covered.
  • Request for any additional ìrelated competenciesî for sections
  • Specific resources or reference materials
    (articles, papers, books, videos) for each topic


Phase 5: Present final Project at SIGGRAPH 2001.
(panel/course/workshop or other Conference venue)


Phase 1:  Initial Draft Presented to ASEC April 2000
Phase 2:  Initial Review and Feedback from Experts July 2000
Phase 3:  ASEC Review & Discussion
Taxonomy ready for Digital Library Database
Post Taxonomy on ASEC web site; Announce at SIGGRAPH
Phase 4:  Descriptive Article in CG/Call for Input Fall 2001
  Collection of Data from Web posting Fall/Winter 2002
Phase 5:  Compilation of Results Spring 2002
  Presentation of Results
(to committee and at Conference)

I. Hardware

A. Input


  1. Bit-based
    1. Switches
    2. Punched tape
    3. Magnetic tape
  2. Alpha-numeric (keyboards)
  3. Valuator Dials
  4. Light Pens
  5. 2D Data Capture
    1. Tablets
    2. Scanners
    3. Video Boards
  6. 3D Data Capture
    1. 3D Positional
      1. Point-Based
      2. Joint Angle Based (Armatures, Monkeys)
      3. Sketch-Based
    2. Video Capture Methods
      1. Grid Projections
      2. Others
    3. Laser Methods
      1. Cyberscan (need generic name)
      2. LIDAR (dopler-assisted)
  7. 4D Data Capture
    1. Motion Trackers
    2. Waldos
      1. Motion Amplification
      2. Distance MotionTransfer
  8. Audio Input: Sound, Speech Synthesizors
  9. Haptic Input Methods

B. Output

  1. Softcopy (monitors/displays)
    1. Vector
      1. Phosphors
      2. Mechanics
        Movement of electron guns, refresh mechanisms
      3. DLP (Display List Processor)
    2. Raster (CRTs) *Video Technology
      1. Phosphors
      2. Mechanics
        Shadow masks, electron gun scaning, interlaced vs. non-interlaced
      3. Lookup Tables * See also Frame Buffers, Sec. 1 E-1
    3. Flat Panel Technologies
      1. Gas Plasma
      2. LCD
      3. LEDs
      4. LEP
    4. Head Mounted Displays
    5. Night-Vision Displays
      1. Acoustic-reflected
      2. Infrared
    6. Volume Display Technologies
      1. Laser Displays
      2. Holographic Displays
      3. Doped Crystal Displays
  2. Hardcopy
    1. Printers, Plotters
    2. *PostScript
    3. Film Recorders
    4. 2D Cutting Tools
  3. Sound
    1. MIDI/WAV
    2. Other File Formats
  4. 3D Output
    1. 3D Photographic
    2. Additive Rapid Prototyping
      1. Stereolithography
      2. Sintering
      3. LOM (Laminated)
    3. Subtractive Rapid Prototyping
      1. Numerical Milling Machines
      2. Robotic Motion

C. Processors

  1. Function
  2. Speed
  3. Architecture
    1. Standard
    2. RISC-Based
    3. Parallel Architectures
    4. Neural Hardware

D. Memory and Storage

  1. Comparisons of Memory (RAM)and Storage
  2. Online
  3. Offline
  4. Nearline

E. Special-Purpose Graphics Hardware

  1. Frame Buffers
    1. Image buffers
    2. Z-buffers
    3. Alpha-buffers
  2. Accelerators
  3. DDRs, PARs (Digital disk or personal animation recorders), frame recorders
  4. Parallel Processors, Math Co-Processors
  5. Graphic or Rendering Hardware Pipelines

II. Software


B. Operating Systems

C. Programming Languages

  1. Low Level
    1. Machine Language *Binary, Octal & Hexadecimal Number Systems
    2. Assemblers
  2. High Level
    1. Interpreted
    2. Compiled
  3. Application Software
  4. Interfaces * Human Factors
    1. GUIs
    2. APIs
    3. Gesture Recognition Interfaces

III. Geometry

A. Coordinate Systems

  1. 2D, 3D Cartesian
    1. Right and Left Handed Cartesian Axes Systems
    2. Polar Coordinates
    3. Hyperbolic Coordinates
    4. Homogeneous Coordinates
    5. Spherical Coordinates
  2. Global, Local
  3. UVW (texture or parameter) Coordinate Space

B. Objects

  1. Points and Vertices
  2. Lines
  3. Curves
    1. Quadratic Curves
    2. Cubic Curves
      1. Splines
        1. General Concepts, History
        2. CVs and Construction of
        3. Continuity
        4. Uses of splines in CG
      2. Approximating
        1. B-Splines
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
      3. Interpolating
        1. Catmull-Rom
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
      4. Tangent-based and Others
        1. Bezier
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        2. Hermite
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        3. Kochanek-Bartels
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        4. Beta
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        5. Cardinal
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
      5. Rational vs. Non-Rational
      6. Uniform vs. Non-Uniform
        1. Knot s & spacing
        2. NURBS
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        3. Hierarchical NURBS
          1. Description
          2. Properties
          3. Mathematics
          4. Advantages, Disadvantages in usage
        4. Higher degree curves
  4. Primitives
    1. 2D Polygonal
      1. Vertex Connectivity
      2. Normals * See also Rendering, Sec. B, 1&2
        1. True
        2. Interpolated
      3. Backfaces and Culling
      4. Concave
      5. Convex
    2. 3D Polygonal Primitives
      1. Spheres, Cubes, Cones, Cylinders, Torii
  5. Surface Models
    1. Polygonal Meshes
      1. Specifying Connectivity (Edge-Vertex Schemes)
        1. Edge List
        2. Winged Edge Representations
      2. Other Schemes
      3. Sub-division Surfaces
    2. Surfaces of Transformation
      1. Rotation
      2. Translation (Extrusion)
      3. Scaling
      4. Lofting, Skinning, Cross-sectional Modeling
    3. Functional Surfaces
      1. Explicit Functions
        1. Parametric Bi-Cubic Spline Patches
          1. Coons Patches
          2. Hermite
          3. Bezier
          4. B-Spline
        2. Quadric Forms
          1. Quadrics
          2. Super Quadrics
      2. Implicit Functions
      3. Subdivision Surfaces
  6. Solid Models
    1. Solids of Transformation
      1. Rotation (Revolution)
      2. Translation (Extrusion)
      3. Scaling
      4. Lofting, Skinning, Cross-sectional Modeling
    2. Constructive Solid Geometry
      1. Primitives
      2. Attributes
      3. Boolean Operations
      4. Representational Tree Structure
    3. Boundary Representations
    4. Decomposition Models
      1. Voxels
      2. Octree, Quadtree Data Structures
    5. Volumetric Surfaces (density functions)* See also Implicit Surfaces, Sec. III B 5 c (2)
  7. Generative Processes
    1. Fractals
    2. Particles * See also Simulations, Sec. VI, G & H
    3. L-Systems
    4. Genetic Algorithms

C. Levels of Detail in Models

D. Automatic Data Extraction Methods

IV. Display

A. Pixels

  1. Internal Representation
  2. Screen Representation
  3. Storage >* See also Graphic File Formats, Sec. XI, A

B. Spatial systems for CGI

  1. Object Space
  2. World Space
  3. Viewports /Camera Space
  4. Screen Space
  5. Raster Space
  6. Parameter Space (uvw, stu)

C. 3D Camera

D. Visibility Algorithms

  1. Visible Surface
  2. Hidden Line
  3. Depth Buffer
  4. Scan Line
  5. Priority List
    1. Space Sub-division
    2. Ray Tracing

E. Clipping

  1. 2D
    1. Cohen-Sutherland
    2. Liang-Barsky
    3. Cyrus-Beck-Liang-Barsky
    4. Nichol-Lee Nichol
  2. 3D
    1. a) Hither and Yon

F. Projections

  1. Perspective
  2. Orthogonal
  3. Others

V. Transformations

A. Geometric Transformations

  1. Matrix Representation
  2. Affine Transformations
    1. Translate
    2. Scale (reflection)
    3. Rotate
    4. Shear (skew)
  3. Non-Affine Transformations
  4. Structure-Deforming Transformations
    1. Taper
    2. Twist
    3. Bend
  5. Isotropic and Anisotropic

Ordering Transformations

  1. Gimbel Lock
  2. Euler Angles
  3. Quaternions

VI. Animation

A. Definition and General Comparisons to Traditional Animation * 12 Principles of Trad. Animation

B. Scripted Systems

C. Key Framing

  1. Time vs. Space Curves
  2. Inbetween interpolation
    1. Linear, Quadratic, Cubic*See also section XXX on curves
    2. Ease-in, Ease-out
      1. Relationship to acceleration. deceleration
    3. Continuity *See also section XXX on curves
      1. Manipulation
    4. Cycles
    5. Dependencies

D. Rotoscoping (as used for Animation)

E. Kinematics

F. Inverse Kinematics

G. Simulation* Physics * Finite analysis

  1. Collisons, Avoidances
  2. Behavior
  3. Dynamics
  4. Particle System Simulations

H. Other Procedural Animation Techniques* Control Systems

  1. Artificial Life
  2. Automonmous Agents
  3. Emergent Behaviors

I. Motion Capture

  1. Standard
  2. Realtime
  3. Marker-based
  4. Surface_based See also Modeling
  5. Video & other markerless systems
  6. Automatic vs hand post processing

VII. Resolutions

A. Aliasing

  1. Spatial
  2. Temporal
  3. Color/Tonal*See also sections VIII, esp.E
    1. Color Artifacts
    2. Mach Bands

B. Anti-Aliasing

  1. Sampling Theory (brief)* See also section X:D Image Processing
  2. Super-Sampling
    1. Gupta-Sproul Techniques
    2. Resolution independence methods )* See also section

VIII. Color

A. Visual Perception of* Color Design Principles

  1. Electromagnetic Spectrum
  2. Theories of Human Visual Perception* Subjective perception phenomena

B. Models

  1. Subtractive
    1. RYB (paint)
    2. CYMK
  2. Additive
    1. RGB
  3. Relationship of Additive and Subtractive

C. Color Spaces/Specifications

  1. CIE
  2. YIQ
  3. Pantone
  4. HSV/HSB/HLS etc.

D. Filters, dyes and other related concepts

E. Color Resolution

  1. Color Depth
  2. Quantization
    1. Log vs. linear schemes
    2. Extension Schemes
    3. LUTS

IX. Rendering

A. Basic Concepts

  1. Goal of Rendering
  2. Lighting Components
    1. Ambient
    2. Diffuse
    3. Specular
    4. Types of light sources
      1. point, spot, directional, area, sun, etc.

B. Lighting Models

  1. Basic Lighting Models
    1. Flat, Constant, Faceted, Lambert
    2. Gouraud
    3. Phong
  2. Advanced Shading Models
    1. Blinn
    2. Torrence-Sparrow
    3. Cook-Torrence
  3. Global Illumination Models
    1. Ray Tracing
      1. Optical Ray Tracing
      2. Backwards Ray Tracing
      3. Cone Tracing
      4. Distributed Ray Tracing
      5. Adaptive Ray Tracing
      6. Photon Maps
      7. Other Ray Tracing Techniques
    2. Radiosity
      1. Basic Approach (Classical Radiosity)
      2. Higher Order Radiosity
      3. Iteration techniques
      4. Form Factors
        1. Analytic
        2. Numeric
      5. Participating Media
      6. Hierarchical Radiosity
    3. Hybrid Approaches
  4. Image-based Rendering
  5. Volume Rendering
  6. Other Rendering Techniques
  7. Rendering Tools and Interfaces

C. Texture Mapping

  1. Texture Space
  2. Uses of
    1. Basic 2D Texture
    2. Bump Mapping
    3. Reflection Mapping
    4. 2D Procedural Maps
    5. 3D (Solid) Texture Maps
    6. Displacement Mapping
    7. Shadow Mappings
  3. Existance and Alpha Mapping

D. Increasing Realism

  1. Motion Blur
  2. Atmospheric Perspective (Attenuation)
  3. Depth of Field
  4. Caustics
  5. Reproducing Film Artifacts

E. Improving Images* See also section VIII: E

  1. Dithering
  2. Super-Sampling
  3. Jittering

X. 2D Techniques

A. Image Processing* Signal Processing

  1. Signals and Sampling
    1. Analog
    2. Discrete
  2. Spatial vs Frequency Domain
  3. Image Manipulation
    1. Convolution
    2. Pixel Point Processes
      1. Contrast and Brightness Modification
      2. Gamma Correction
      3. Combination Functions
        1. +, -, x, /, AND, OR, XOR
    3. Spatial (Pixel Group) Filters
      1. High Pass, Low Pass
      2. Boundary/Edge Detectors
        1. Shift and Difference
        2. Gradient
        3. Laplacian
      3. Geometric Operations
        1. Transforms
        2. Scaling
    4. d) Fourier Transforms
      1. Uses
      2. Basic
      3. FFT
    5. Wavelets

B. Compositing

  1. Basic Concepts * See also section X.A.3.
  2. Matte Channels (2 bit)
  3. Alpha Channels (2bit and higher)
  4. Green Screen Techniques
  5. Pixel Arithmetic* See also section X.A.3.b
    1. Basic Concepts
    2. Pre-Multiplied Alpha
    3. Global, Local Alpha
    4. Correlated, Non-Correlated Edge
  6. Tracking (2D, 3D)
  7. Rotoscoping

C. Morphing

  1. 2D Techniques
  2. 3D Techniques

XI. Graphic File Formats

A. 2D Formats

  1. Resolution dependent
  2. Resolution independent formats

B. 3D formats

  1. Geometry* See Geometry, section III
  2. Scene Descriptions

C. Animation Files

  1. 2D
    1. Delta Frame Data
    2. Per Frame Data
  2. 3D
    1. Implicit (motion or script)
    2. Explicit (geometry per frame)

D. Compression Techniques

  1. RLE, Scan Line Coherence
  3. Fractal
  4. Wavelet Compression