01 Introduction
01 Introduction
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.
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Computer Graphics is concerned with the mathematical and algorithmic foundations for
the generation of images on a computer.
Data Structures & Linear Algebra, Calculus, Physics of Light & Light
Algorithms Stochastics Signal Processing Transport
Jim Blinn
Pioneer of Computer Graphics
• Real-time rendering
„fake realism“ – if it looks ok, we may not care about physics accuracy (games and film)
Inputs:
• Scene description
• Shape, geometry, and movement
of objects
• Appearance
• Color and texture
• Material properties
• Light Sources
• Intensity
• Color
• Direction
• Physics of light transport
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
Visualization
• Making data comprehensible through graphical depictions.
• Task-based translation of abstract, measured, or simulated data into images.
24
• 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.
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.
• Essential techniques ranging from model representation and data structures to light
transport simulation and graphics hardware.
Goals:
• Be able to converse with other fluently about computer graphics concepts.
• Apply computer graphics to computer science problems with confidence.
Basic Concepts
2D Raster Graphics
Light Transport
Ray Tracing
Global Illumination
Geometric Models
Rasterization Pipelines
Procedural Modeling
Animation
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
• Bender, Brill
Computergrafik: ein anwendungsorientiertes Lehrbuch. Hanser-Verlag