38
Computer Graphics An Introduction

Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Embed Size (px)

Citation preview

Page 1: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Computer Graphics

An Introduction

Page 2: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

What’s this course all about?

22/04/23 Lecture 1 2

We will cover…

Graphics programming and algorithms

Graphics data structures

Colour

Applied geometry, modelling and rendering

Page 3: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Computer Graphics is about animation (films)

22/04/23 Lecture 1 3

Major driving force now

Page 4: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Games are very important in Computer Graphics

22/04/23 Lecture 1 4

Page 5: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Medical Imaging is another driving force

22/04/23 Lecture 1 5

Page 6: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Computer Aided Design too

22/04/23 Lecture 1 6

Page 7: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Scientific Visualisation

22/04/23 Lecture 1 7

To view below and above our visual range

Page 8: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Overview of the Course• Graphics Pipeline (Today)• Modelling

– Surface / Curve modelling

• (Local lighting effects) Illumination, lighting, shading, mirroring, shadowing

• Rasterization (creating the image using the 3D scene) • Ray tracing • Global illumination • Curves and Surfaces

22/04/23 Lecture 1 8

Page 9: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Graphics/Rendering Pipeline• Graphics processes generally execute

sequentially• Pipelining the process means dividing it

into stages • Especially when rendering in real-time,

different hardware resources are assigned for each stage

22/04/23 Lecture 1 9

Page 10: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Graphics / Rendering Pipeline

• There are three stages – Application Stage– Geometry Stage – Rasterization Stage

22/04/23 Lecture 1 10

Page 11: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Application stage• Entirely done in software by the CPU• Read Data

– the world geometry database,– User’s input by mice, trackballs, trackers, or sensing

gloves

• In response to the user’s input, the application stage change the view or scene

22/04/23 Lecture 1 11

Page 12: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Geometry Stage

22/04/23 Lecture 1 12

Model Transformation

Modeling: shapes

Shading: reflection and lighting

Transformation: viewing

Hidden Surface Elimination

Rasterization Stage

Page 13: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Rasterization Stage

22/04/23 Lecture 1 13

Rasterization and Sampling

Texture Mapping

Image Composition

Intensity and Colour Quantization

Geometry Stage

Framebuffer/Display

Page 14: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

An example thro’ the pipeline…

22/04/23 Lecture 1 14

The scene we are trying to represent:

Images courtesy of Picture Inc.

Page 15: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Geometry Pipeline

22/04/23 Lecture 1 15

Model Transformation

Loaded 3D Models

Shading: reflection and lighting

Transformation: viewing

Hidden Surface Elimination

Imaging

Pipeline

Page 16: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Preparing Shape Models

22/04/23 Lecture 1 16

Designed by polygons, parametric curves/surfaces, implicit surfaces and etc.

Defined in its own coordinate system

Page 17: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Model Transformation

22/04/23 Lecture 1 17

Objects put into the scene by applying translation, scaling and rotation

Linear transformation called homogeneous transformation is used

The location of all the vertices are updated by this transformation

Page 18: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Perspective Projection

22/04/23 Lecture 1 18

We want to create a picture of the scene viewed from the camera

We apply a perspective transformation to convert the 3D coordinates to 2D coordinates of the screen

Objects far away appear smaller, closer objects appear bigger

Page 19: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Hidden Surface Removal

22/04/23 Lecture 1 19

Objects occluded by other objects must not be drawn

Page 20: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Shading

22/04/23 Lecture 1 20

Now we need to decide the colour of each pixels taking into account the object’s colour, lighting condition and the camera position

Object

point light source

Page 21: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Shading : Constant Shading - Ambient

22/04/23 Lecture 1 21

Objects colours by its own colour

Page 22: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Shading – Flat Shading

22/04/23 Lecture 1 22

Objects coloured based on its own colour and the lighting condition

One colour for one face

Page 23: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Gouraud shading, no specular highlights

22/04/23 Lecture 1 23

Lighting calculation per vertex

Page 24: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Shapes by Polynomial Surfaces

22/04/23 Lecture 1 24

Page 25: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Specular highlights added

22/04/23 Lecture 1 25

Light perfectly reflected in a mirror-like way

Page 26: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Phong shading

22/04/23 Lecture 1 26

Page 27: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Next, the Imaging Pipeline

22/04/23 Lecture 1 27

Rasterization and Sampling

Texture Mapping

Image Composition

Intensity and Colour Quantization

Geometry

Framebuffer/Display

Pipeline

Page 28: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Rasterization• Converts the vertex information output by

the geometry pipeline into pixel information needed by the video display

• Aliasing: distortion artifacts produced when representing a high-resolution signal at a lower resolution.

• Anti-aliasing : technique to remove aliasing

22/04/23 Lecture 1 28

Page 29: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Anti-aliasing

22/04/23 Lecture 1 29

Aliased polygons(jagged edges) Anti-aliased polygons

Page 30: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

22/04/23 Lecture 1 30

How is anti-aliasing done? Each pixel is subdivided (sub-sampled) in n regions, and each sub-pixel has a color;Compute the average color value

Page 31: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Texture mapping

22/04/23 Lecture 1 31

Page 32: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Other covered topics: Reflections, shadows & Bump mapping

22/04/23 Lecture 1 32

Page 33: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Other covered topics: Global Illumination

22/04/23 Lecture 1 33

Page 34: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Polynomial Curves, Surfaces

Page 35: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Graphics Definitions

• Point– a location in space, 2D or 3D– sometimes denotes one pixel

• Line– straight path connecting two points– infinitesimal width, consistent density– beginning and end on points

22/04/23 Lecture 1 35

Page 36: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Graphics Definitions• Vertex– point in 3D

• Edge– line in 3D connecting two vertices

• Polygon/Face/Facet– arbitrary shape formed by connected vertices– fundamental unit of 3D computer graphics

• Mesh – set of connected polygons forming a surface (or object)– : 22/04/23 Lecture 1 36

Page 37: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Graphics Definitions

• Rendering : process of generating an image from the model

• Framebuffer : a video output device that drives a video display from a memory containing the color for every pixel

22/04/23 Lecture 1 37

Page 38: Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data

Summary• The course is about algorithms, not

applications• Lots of mathematics

• Graphics execution is a pipelined approach• Basic definitions presented• Some support resources indicated

22/04/23 Lecture 1 38