Computer Graphics
Introduction
Christoph Garth
What is Computer Graphics?
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Example: photorealistic rendering of scenes & models
Computer Graphics – Introduction 0.1
What is Computer Graphics?
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Example: nearly-photorealistic computer game
Computer Graphics – Introduction 0.2
What is Computer Graphics?
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Example: visual effects (VFX) in film production
Computer Graphics – Introduction 0.3
What is Computer Graphics?
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Example: technical drawing (CAD) and vector graphics.
Computer Graphics – Introduction 0.4
What is Computer Graphics?
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Example: Mathematically inspired computer graphics – Mandelbrot Set and Mandelbulb.
Computer Graphics – Introduction 0.5
Computer Graphics Areas
Modeling Animation Rendering
Modeling and Modeling and Description of Generation of Pixel Images
Description of Scenes Dynamic Scenes from Scene Descriptions
Computer Science Mathematics Physics
Foundations Foundations Foundations
Data Structures & Linear Algebra, Calculus, Physics of Light & Light
Algorithms Stochastics Signal Processing Transport
Computer Graphics – Introduction 0.6
Computer Graphics Areas
Jim Blinn
Pioneer of Computer Graphics
SIGGRAPH98 Keynote Address,
Computer Graphics 33(1), pp. 43-47
• „Modeling is figuring out the shape of it.“
• „Rendering is how to make a picture of it.“
• „Animation is figuring out how it moves with time.“
Computer Graphics – Introduction 0.7
(Photorealistic) Image Synthesis
Rendering Algorithm: Algorithm for Image Synthesis
Which operations are needed to generate a (photorealistic) image of a given scene?
• A photorealistic image is one that is (almost)
indistinguishable from a photograph.
• Aspects of photorealism are often (but not always!) a goal.
• Trade-off between realism and effort
• Physically-based rendering
get the physics right, photorealism automatically obtained, high effort
• Real-time rendering
„fake realism“ – if it looks ok, we may not care about physics accuracy (games and film)
Computer Graphics – Introduction 0.8
(Photorealistic) Image Synthesis
better physics simple lighting
~ 10x effort 1x effort
Example: skin rendering
Computer Graphics – Introduction 0.9
Real-Time Image Synthesis
Unreal Engine 4 - Realtime Photorealism
Computer Graphics – Introduction 0.10
Image Synthesis / Rendering
Inputs:
• Scene description
• Shape, geometry, and movement
of objects
• Appearance
• Color and texture
• Material properties
• Light Sources
• Intensity
• Color
• Direction
• Physics of light transport
Output: Pixel Image(s)
Computer Graphics – Introduction 0.11
Related Disciplines
NOT Computer Graphics:
Image Processing
• Pattern detection in digital images
• Signal processing for images (filtering, convolution, edge detection, …)
Computer Vision
• Computer-based „understanding“ of images
• Perceptual and interpretative processes of the human brain are translated to software.
• Often seen as a sub-area of Artificial Intelligence
Computer Graphics – Introduction 0.12
Related Disciplines
Human-Computer Interaction (HCI)
• User Interfaces (UI, graphical and non-graphical) and User Experience (UX)
• User- and task-focused software design
• Interaction modalities: Virtual and Augmented Reality (VR & AR)
Visualization
• Making data comprehensible through graphical depictions.
• Task-based translation of abstract, measured, or simulated data into images.
Computer Aided Geometric Design
• Representation (data structures) und processing (algorithms) of
arbitrary shapes and objects (free-form geometries).
Computer Graphics – Introduction 0.13
History of Computer Graphics
Foundation Era (1970s to mid-1980s)
• Evolution of specialized raster graphics hardware with limited
but increasing capabilities; dedicated, very expensive graphics
computers.
• Mostly scientific use and high-end applications (design).
• Development of fundamental algorithms and data structures
for photorealistic image synthesis, real-time rendering, and
modeling.
• Development of important rendering techniques (e.g. ray
tracing) and applications (e.g. CAD systems).
Tektronix 4014 computer terminal
Computer Graphics – Introduction 0.14
History of Image Synthesis – Wireframe
Computer Graphics – Introduction 0.15
History of Image Synthesis – Depth Cueing & Attenuation
Computer Graphics – Introduction 0.16
History of Image Synthesis – Color
Computer Graphics – Introduction 0.17
History of Image Synthesis – Hidden Line Removal
Computer Graphics – Introduction 0.18
History of Image Synthesis – Surface Shading
Computer Graphics – Introduction 0.19
History of Image Synthesis – Flat Shading
Computer Graphics – Introduction 0.20
History of Image Synthesis – Phong Shading
Computer Graphics – Introduction 0.21
History of Image Synthesis – Advanced Models & Illumination
Computer Graphics – Introduction 0.22
History of Image Synthesis – Texture Mapping
Computer Graphics – Introduction 0.23
History of Image Synthesis – Bump Mapping
24
Computer Graphics – Introduction 0.24
History of Image Synthesis – Reflection
Computer Graphics – Introduction 0.25
History of Computer Graphics
Commoditization of Graphics (from 1990s)
• Computer architectures and commodity graphics hardware
open up computer graphics to a much wider audience.
• Dedicated graphics hardware (graphics chips / cards) are
cheap and capable; fundmental algorithms are realized in Commodore Amiga 1000
hardware.
• Renaissance of new applications (games!).
Today
• Computer graphics underlies a multi-billion Euro business 3dfx Voodoo Graphics
(computer games and movies)
• Extremely capable hardware / graphics cards allow almost
real-time photorealism.
NVidia RTX 2080
Computer Graphics – Introduction 0.26
Doing Computer Graphics
One can distinguish different levels of computer graphics:
• Graphics research & development
• Development of new rendering techniques, algorithms, data structures.
• Custom software implementations; in-depth knowledge required.
• Graphics programming
• Using graphics libraries and middlewares to implement graphics applications
(e.g. games); medium-level knowledge required.
• End-user graphics
• Tools such Blender, 3D Studio Max or Maya provide comfortable access to modern
computer graphics methods without requiring in-depth knowledge.
Computer Graphics – Introduction 0.27
Graphics APIs and Middleware
A majority of modern computer graphics is hardware-accelerated (i.e. uses graphics hardware).
• Standardized application-programming interfaces (APIs) such as OpenGL, Vulkan (multi-
platform), DirectX (Windows), and Metal abstract from a specific hardware implementation.
These APIs can be used from many programming languages through so-called bindings (e.g.
PyOpenGL). Browser-based 3D graphics are enabled through the WebGL Javascript API.
• So-called middlewares further abstract and simplify frequent and repetitive tasks in specific
areas, e.g. in games development.
For example, Unreal Engine, Unity, and many other so-called engines provide a
comprehensive set of algorithms for all graphics requirements, e.g. model loading, rendering,
animation, etc. This makes it easy to develop games and applications.
Computer Graphics – Introduction 0.29
This Lecture
Foundations and Algorithms for Image Synthesis
• Given a model or scene description, which algorithms are suitable to render images
• under specific constraints, e.g. photorealistic vs. fast
• Essential techniques ranging from model representation and data structures to light
transport simulation and graphics hardware.
The two fundamental approaches to Image Synthesis
• Rasterization and Ray Tracing
Goals:
• Be able to converse with other fluently about computer graphics concepts.
• Apply computer graphics to computer science problems with confidence.
Computer Graphics – Introduction 0.30
Table of Contents (roughly)
Basic Concepts
2D Raster Graphics
Light Transport
Materials & Surfaces
Ray Tracing
Global Illumination
Geometric Models
Coordinate Systems & Transformations
Rasterization Pipelines
Sampling and Anti-Aliasing
Textures & Mapping
Procedural Modeling
Animation
Computer Graphics – Introduction 0.31
Literature
Web:
• scratchapixel.com (foundations and algorithms)
• Wikipedia (many excellent articles and descriptions)
• Google – many pages written by computer graphics enthusiasts
Books:
• Foley, Van Dam, Feiner, Hughes:
Computer Graphics: Principles and Practice, Addison-Wesley, 3rd edition
• Pharr & Humphries
Physically-Based Rendering, Morgan Kaufmann, 2nd edition
• Bender, Brill
Computergrafik: ein anwendungsorientiertes Lehrbuch. Hanser-Verlag
• Shirley, Ashikhmin, Marschner:
Fundamentals of Computer Graphics. CRC Press, 3rd edition
Computer Graphics – Introduction 0.32