0% found this document useful (0 votes)
11 views

01 Introduction

Uploaded by

Benoni Tang
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

01 Introduction

Uploaded by

Benoni Tang
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

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

You might also like