57
Computer Graphics Bing-Yu Chen National Taiwan University

Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics

Bing-Yu ChenNational Taiwan University

Page 2: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Introduction

What is Computer Graphics ? The Graphics ProcessColor ModelsTriangle MeshesThe Rendering Pipeline

2

Page 3: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

What is Computer Graphics ?Definition

the pictorial synthesis of real or imaginary objects from their computer-based models

descriptions images

descriptions Computer Graphics

images Computer VisionPattern Recognition

Image Processing

OUTPUT

INP

UT

Page 4: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

What is Computer Graphics ?

Computer Graphics deals with all aspects of creating images with a computer

hardwaresoftwareapplications

Page 5: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Example

Page 6: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

What is Computer Graphics ?Application

The object is an artist’s rendition of the sun for an animation to be shown in a domed environment (planetarium)

SoftwareMaya for modeling and rendering but Maya is built on top of OpenGL

HardwarePC with graphics cards for modeling and rendering

Page 7: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

What is Computer Graphics ?

modeling rendering

animation

Page 8: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

ApplicationsMoviesInteractive entertainmentIndustrial designArchitectureCulture heritage

Page 9: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Animation Production Pipeline

story text treatment storyboard

voice storyreal look and feel

Page 10: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Animation Production Pipeline

layout animation

shading/lighting

modeling/articulation

rendering final touch

Page 11: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The Advantages ofInteractive Graphics

One of the most natural means of communicating with a computerA picture is worth then thousand wordsA moving picture is worth than thousand static ones

movie, motion dynamics

Graphical User Interface

Page 12: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The Graphics Process

LightingInformation

TextureInformation

RenderingImage

Storage &Display

3DGeometric

Models

3DAnimationDefinition

Page 13: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Basic Graphics System

Input devices

Output device

Image formed in FB

Page 14: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Synthetic Camera Model

camera

image plane/view plane

projector

p

projection of p

objects/modelsview frustrum/view volume

lighting

14

Page 15: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Elements of Image FormationObjectsViewerLight source(s)

Attributes that govern how light interacts with the materials in the sceneNote the independence of the objects, viewer, and light source(s)

Page 16: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

AdvantagesSeparation of objects, viewer, light sourcesTwo-dimensional graphics is a special case of three-dimensional graphicsLeads to simple software API

Specify objects, lights, camera, attributesLet implementation determine image

Leads to fast hardware implementation

Page 17: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Light

Light is the part of the electromagnetic spectrum that causes a reaction in our visual systemsGenerally these are wavelengths in the range of about 350-750 nm (nanometers)Long wavelengths appear as reds and short wavelengths as blues

Page 18: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Luminance and Color ImagesLuminance

Monochromatic Values are gray levelsAnalogous to working with black and white film or television

ColorHas perceptional attributes of hue, saturation, and lightnessDo we have to match every frequency in visible spectrum? No!

Page 19: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Three-Color TheoryHuman visual system has two types of sensors

Rods: monochromatic, night visionCones

Color sensitiveThree types of coneOnly three values (the tristimulus

values) are sent to the brain

Need only match these three valuesNeed only three primary colors

Page 20: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Additive and Subtractive ColorAdditive color

Form a color by adding amounts of three primaries

CRTs, projection systems, positive filmPrimaries are Red (R), Green (G), Blue (B)

Subtractive colorForm a color by filtering white light with Cyan (C), Magenta (M), and Yellow (Y) filters

Light-material interactionsPrintingNegative film

Page 21: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The RGB Color Model – for CRT

Black=(0,0,0)

Red=(1,0,0)

Green=(0,1,0)

White=(1,1,1)

Yellow=(1,1,0)

Cyan=(0,1,1)Blue=(0,0,1)

Magenta=(1,0,1)

Page 22: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Color DepthCan choose number of bits for each of r, gand b

More bits per component means more colors can be distinguished, but image files will be larger8 bits (1 byte) per component: 24-bit color, millions of colors

If r = g = b, color is a shade of gray, so grayscale can be represented by a single value

8 bits permits 256 grays

Page 23: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The CMY Color Model – for hardcopy

Black=(0,0,0)

Red=(1,0,0)Yellow=(1,1,0)

Magenta=(1,0,1)

Blue=(0,0,1)Cyan=(0,1,1)

Green=(0,1,0)

White=(1,1,1)

Page 24: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Undercolor Removal: CMYK System

Real inks do not correspond to ideal subtractive primariesCombining three inks for black is undesirablePrinters use four process colors, cyan, magenta, yellow and blackCMYK gamut is not the same as RGB

Implications for using images prepared for print (CMYK) on the Web (RGB)

Page 25: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The CMYK Color Model – for hardcopy

C = G+B = W-RM = R+B = W-GY = R+G = W-B

K = min(C,M,Y)C C-KM M-KY Y-K

Page 26: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The HSV Color Model – for user-oriented

Alternative way of specifying colorHue (roughly, dominant wavelength)Saturation (purity)Value (brightness)Model HSV as a cylinder: H angle, Sdistance from axis, V distance along axisBasis of popular style of color picker

Page 27: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The HSV Color Model – for user-oriented

H : hueS : saturationV : value

(or B for blight)Magenta

Black

Red

Green

White

Yellow

Cyan

Blue

H S

V

0.0

1.0 0°

120°

240°

Page 28: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Color Models in VideoLargely derive from older analog methods of coding color for TV. Luminance is separated from color information.YIQ is used to transmit TV signals in North America and Japan. This coding also makes its way into VHS video tape coding in these countries since video tape technologies also use YIQ.In Europe, video tape uses the PAL or SECAM codings, which are based on TV that uses a matrix transform called YUV.Digital video mostly uses a matrix transform called YCbCr that is closely related to YUV.

Page 29: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The YUV Color Model – for PAL video

Can be useful to separate brightness and color information, especially for video.Y is for luminance and U and V are for chrominance which are stored as two color difference values B-Y and R-Y.

0.299 0.587 0.1140.299 0.587 0.8860.701 0.587 0.114

Y RU GV B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Page 30: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The YUV Color Model – for PAL video

For dealing with composite video, it turns out to be convenient to contain U and V within the range −1/3 to +4/3. So U and V are rescaled:

The chrominance signal =the composite signal C:

0.492111( )0.877283( )

U B YV R Y= −= −

cos( ) sin( )C U t V tω ω= ⋅ + ⋅

Page 31: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The YIQ Color Model – for NTSC color-TV

Y : luminanceI and Q : chromaticity

(rotated version of U and V)

0.299 0.587 0.1140.596 0.275 0.3210.212 0.528 0.311

Y RI GQ B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦

0.492111( ) cos33 0.877283( ) sin 330.492111( ) sin 33 0.877283( ) cos33

I R Y B YQ R Y B Y= − ⋅ − − ⋅

= − ⋅ + − ⋅

Page 32: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The YCbCr Color Model – for digital video

0.299 0.587 0.114 00.168 0.332 0.5 0.50.5 0.418 0.082 0.5

b

r

Y RC GC B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − − +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

(( ) /1.772) 0.5(( ) /1.402) 0.5

b

r

C B YC R Y

= − += − +

65.481 128.553 24.966 1637.797 74.203 112 128112 93.786 18.214 128

b

r

Y RC GC B

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − − +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

scal

ed t

o [0

-255

]

Page 33: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Pinhole Camera

Use trigonometry to find projection of a point

These are equations of simple perspectivexp= -x/z/d yp= -y/z/d zp= d

Page 34: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Basics of Rendering

Pipeline Based RenderingObjects in the scene are rendered in a sequence of steps that form the Rendering Pipeline.

Ray-TracingA series of rays are projected thru the view plane and the view plane is colored based on the object that the ray strikes

34

Page 35: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Ray Tracing and Geometric Optics

One way to form an image is to follow rays of light from apoint source determine which rays enter the lens of the camera. However, each ray of light may have multiple interactions with objects before being absorbed or going to infinity.

Page 36: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Global vs. Local LightingCannot compute color or shade of each object independently

Some objects are blocked from lightLight can reflect from object to objectSome objects might be translucent

Page 37: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Why not ray tracing?Ray tracing seems more physically based so why don’t we use it to design a graphics system?Possible and is actually simple for simple objects such as polygons and quadrics with simple point sourcesIn principle, can produce global lighting effects such as shadows and multiple reflections but is slow and not well-suited for interactive applications

Page 38: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Pipeline Rendering

Transform

Illuminate

Transform

Clip

Project

Rasterize

Model & CameraParameters

RenderingPipeline

Framebuffer Display

38

Page 39: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Definitions of Triangle Meshes{f1} : { v1 , v2 , v3 }{f2} : { v3 , v2 , v4 }…

connectivity

geometry{v1} : (x,y,z){v2} : (x,y,z)…

face attributes{f1} : “skin material”{f2} : “brown hair”…

[Hoppe 99’] 39

Page 40: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Definitions of Triangle Meshes

{v2,f1} : (nx,ny,nz) (u,v){v2,f2} : (nx,ny,nz) (u,v)…

corner attributes

{f1} : { v1 , v2 , v3 }{f2} : { v3 , v2 , v4 }…

connectivity

geometry{v1} : (x,y,z){v2} : (x,y,z)…

face attributes{f1} : “skin material”{f2} : “brown hair”…

[Hoppe 99’] 40

Page 41: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Definitions of Triangle Meshesface

edge

differentmaterial properties

(face attributes)

differentnormal vectors(corner attributes)

vertexboundary

wedgecorner

Page 42: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Rendering: Transformations

So far, discussion has been in screen spaceBut model is stored in model space(a.k.a. object space or world space)Three sets of geometric transformations:

Modeling transformsViewing transformsProjection transforms

42

Page 43: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

The Rendering PipelineScene graph

Object geometry

LightingCalculations

Clipping

ModelingTransforms

ViewingTransform

ProjectionTransform

Rasterization43

Page 44: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

APPENDIX:

History of Computer Graphics

Page 45: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1950-1960

Computer graphics goes back to the earliest days of computing

Strip chartsPen plottersSimple displays using A/D converters to go from computer to calligraphic CRT

Cost of refresh for CRT too high Computers slow, expensive, unreliable

Page 46: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1960-1970

Wireframe graphicsProject SketchpadDisplay ProcessorsStorage tube

Page 47: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Project Sketchpad

Ivan Sutherland’s PhD thesis at MITRecognized the potential of man-machine interaction Loop

Display somethingUser moves light penComputer generates new display

Sutherland also created many of the now common algorithms for computer graphics

Page 48: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Display ProcessorRather than have host computer try to refresh display use a special purpose computer called a display processor (DPU)

Graphics stored in display list (display file) on display processorHost compiles display list and sends to DPU

Page 49: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Direct View Storage Tube

Created by TektronixDid not require constant refreshStandard interface to computers

Allowed for standard softwarePlot3D in Fortran

Relatively inexpensiveOpened door to use of computer graphics for CAD community

Page 50: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1970-1980

Raster GraphicsBeginning of graphics standards

IFIPSGKS: European effort

Becomes ISO 2D standardCore: North American effort

3D but fails to become ISO standard

Workstations and PCs

Page 51: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Raster Graphics

Image produced as an array (the raster) of picture elements (pixels) in the frame buffer

Page 52: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Raster Graphics

Allow us to go from lines and wireframes to filled polygons

Page 53: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

PCs and Workstations

Although we no longer make the distinction between workstations and PCs historically they evolved from different roots

Early workstations characterized byNetworked connection: client-serverHigh-level of interactivity

Early PCs included frame buffer as part of user memory

Page 54: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1980-1990

Realism comes to computer graphics

smooth shading environmentalmapping

bump mapping

Page 55: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1980-1990

Special purpose hardwareSilicon Graphics geometry engine

VLSI implementation of graphics pipline

Industry-based standardsPHIGSRenderMan

Networked graphics: X Window SystemHuman-Computer Interface (HCI)

Page 56: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 1990-2000

OpenGL APICompletely computer-generated feature-length movies (Toy Story) are successfulNew hardware capabilities

Texture mappingBlendingAccumulation, stencil buffer

Page 57: Computer Graphics - 國立臺灣大學robin/courses/3... · What is Computer Graphics ? The Graphics Process Color Models Triangle Meshes ... so why don’t we use it to design a

Computer Graphics: 2000-

PhotorealismGraphics cards for PCs dominate market

Nvidia, ATI, 3DLabs

Game boxes and game players determine direction of marketComputer graphics routine in movie industry: Maya, Lightwave