Top Banner
CST 494/598 Computer Graphics Anshuman Razdan [email protected] i3dea.asu.edu/razdan
65

CST 494/598 Computer Graphics Anshuman Razdan [email protected] i3dea.asu.edu/razdan.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

CST 494/598Computer Graphics

Anshuman [email protected]

i3dea.asu.edu/razdan

Page 2: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 2

Disclaimer

These slides can only be used as study material for the class 470 at ASUThe slides cannot be distributed or used for another purposeThe slides may contain errorsThe slides do not contain all the information necessary to succeed in class; additional material from the book must to be studiedThe slides are based on a lecture from Prof. Purgathofer from the Vienna University of Technology

Page 3: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.
Page 4: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 4

Color and Gray Scale

color information: RGBcolor codes directly in frame buffer

1024 x 1024 x 24 bit/color 3 Mbyte storage

color (lookup) tables

less storage

easy change of color table(e.g., for color coding)

gray scalecalculated from RGB

e.g. intensity = 0.5 [min(r,g,b) + max(r,g,b)]

red green blue Farbe 0 0 0 black 0 0 1 blue 0 1 0 green 0 1 1 cyan 1 0 0 red 1 0 1 magenta 1 1 0 yellowyellow 1 1 1 white

Page 5: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 5

Color Lookup Table

i

j

r i

j

g i

j

b

i

j

xxxx r g b

instead of:

now: selected colors addressed by table index

Page 6: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 6

Line Attributes (1)

type solid, dashed, dotted,…

pixel mask (raster line algorithms)

width Bresenham + additional vertical (horizontal) spans

width dependent on line slope

line caps

Page 7: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 7

Line Attributes (2)width

thick lines as filled rectangles joining two segments: miter round bevel

pen and brush options shape, size, pattern pixel mask simulation of brush strokes

color

Page 8: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 8

Area-Fill Attributes (1)

fill styleshollow with color border

filled with solid color

filled with specific pattern or design (e.g., hatch,…)

Page 9: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 9

Area-Fill Attributes (2)

fill optionsedge type, width, color

pattern specificationthrough pattern tables

tiling (pattern reference point)

4 00 4

startposition

pixel startposition

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

4 00 4

Page 10: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 10

Area-Fill Attributes (3)

combination of fill pattern with background colors

soft fillcombination of colors

antialiasing at object borders

simulation of semitransparent brushes

example: linear soft-fill

pattern back- ground

and

or

xor

replace

F...foreground colorB...background color

BttFP )1(

Page 11: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 11

Scan-Line Polygon-Fill Algorithm

interior pixels along a scan line passing through a polygon area

Page 12: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 12

Scan-L. Fill: Intersecting Vertices

intersection points along scan lines that intersect poly-gon vertices. y: odd number of intersectionsy’: even number of intersections (bad) can be paired for correct interior pixel spans

Page 13: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 13

Scan-L. Fill: Incremental Update

incremental update of intersection point

kk

kk

xxyy

m

1

1

11 kk yy

mxx kk

11

yx

xx kk 1

slope of polygon boundary line: m

(for 2 successive scanlines)

Page 14: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 14

Scan-L. Fill: Sorted Edge Table

sort all edges on smallest y-valueedge entry: [max y-value, x-intercept, inverse slope]

active-edge list for each scan linecontains all edges crossed by that scan lineincremental update

consecutive intersection pairs (spans) filled

Page 15: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 15

Sorted Edge Table: Example

a polygon and its sorted edge table, with edge DC shortened by 1 unit

Page 16: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 16

Scan-Line Fill: Active-Edge List

active-edge list for -DC’ - DE - AE - AB

Page 17: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 17

Inside-Outside Tests

Page 18: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 18

Flood-Fill Algorithm

pixel filling of areaareas with no single color boundary

start from interior point

“flood” internal region

4-connected, 8-connected areas

reduce stack size by eliminating several recursive calls

Page 19: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 19

Flood-Fill: Definition of Boundary

area must be distinguishable from boundaries

example: area definedwithin multiple colorboundaries

Page 20: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 20

Flood-Fill: Connectedness

Definition: 4-connected means, that a connection is only valid in these 4 directions

Definition: 8-connected means, that a connection is only valid in these 8 directions

Page 21: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 21

Example for 4- and 8-connected

a 4-connected area an 8-connected areaa 4-connected area has an 8-connected border

an 8-connected area has a 4-connected border

Page 22: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 22

Simple Flood-Fill Algorithm

Page 23: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 23

Bad Behaviour of Simple Flood-Fill

12

43

recursionsequence

Page 24: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 24

Span Flood-Fill Algorithm

floodFill4 produces too high stacks (recursion!)

solution: incremental horizontal fill (left to right)

recursive vertical fill (first up then down)

Page 25: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 25

Good Behaviour of Span Flood-Fill

1

2

recursionsequence

Page 26: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 26

Span Flood-Fill Example

x

Page 27: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 27

Span Flood-Fill Example

s2

1 2 3

s1

Page 28: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 28

Span Flood-Fill Example

s5 s4

4 5 6 7 8 9 10 11

1 2 3 s2

s1

s3

Page 29: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 29

Span Flood-Fill Example

s5

12 13 14 s4

4 5 6 7 8 9 10 11

s3 1 2 3 s2

s1

Page 30: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 30

Span Flood-Fill Example

12 13 14 s4

4 5 6 7 8 9 10 11

s3 1 2 3 s2

s1

16 17 1815

Page 31: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 31

Span Flood-Fill Example

15 16 17 18

12 13 14 19

4 5 6 7 8 9 10 11

s3 1 2 3 s2

s1

Page 32: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 32

Span Flood-Fill Example

12 13 14

s4 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

s3 s1

15 16 17 18

19

Page 33: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 33

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

s3 s1

15 16 17 18

19

Page 34: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 34

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

24 25 s1

s3

15 16 17 18

19

Page 35: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 35

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

24 25 s1=s5

26 27 28 29 30

s4 s3

15 16 17 18

19

Page 36: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 36

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

24 25 31 32 33

26 27 28 29 30

s4 s3

15 16 17 18

19

Page 37: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 37

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

24 25 31 32 33

26 27 28 29 30

34 35 s3

15 16 17 18

19

Page 38: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 38

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 s2

24 25 31 32 33

26 27 28 29 30

34 35 36 37

15 16 17 18

19

Page 39: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 39

Span Flood-Fill Example

12 13 14

23 4 5 6 7 8 9 10 11

20 21 22 1 2 3 38

24 25 31 32 33

26 27 28 29 30

34 35 36 37

15 16 17 18

19

Page 40: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 40

text attributesfont (e.g. Courier, Arial, Times, Roman, …)

styles (regular, bold, italic, underline,…)

size (32 point, 1 point = 1/72 inch)

proportionally sized vs. fixed space fonts

string attributesorientation

alignment (left, center, right, justify)

Character Attributes

vertical

horizontal

slanted

Displayed primitives generated by the raster algorithms discussed in Chapter 3 have a jagged, or stairstep, appearance.

Displayed primitives generated by the raster algorithms

discussed in Chapter 3 have a jagged, or

stairstep, appearance.

Displayed primitives generated by the raster algorithms

discussed in Chapter 3 have a jagged, or

stairstep, appearance.

Displayed primitives generated by the raster algorithms discussed in Chapter 3 have a jagged, or stairstep, appearance.

Page 41: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 41

Antialiasing

what is aliasing?

what is the reason for aliasing?

what can we do against it?

Page 42: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 42

What is Aliasing?

not enough resolution

not enough colors

not enough images / sec

geometric errors

numeric errors

errors that are caused by the discretization of analog data to digital data

Page 43: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 43

Aliasing: Staircase Effect

Page 44: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 44

Various Aliasing Effects

Page 45: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 45

Aliasing from too few Colors

artificial color borders can appear

Page 46: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 46

Aliasing in Animations

jumping images"worming“

backwards rotating wheels

t

Page 47: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 47

Backwards Rotating Wheels

Page 48: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 48

Solutions against Aliasing?

1. improve the deviceshigher resolution

more color levels

faster image sequence

2. improve the imagespostprocessing

antialiasing !

expensiveor

incompatible

software

Page 49: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 49

Shannon Sampling Theorem

a signal can only be reconstructed without information loss if the sampling frequency is at least twice the highest frequency of the signal

this border frequency is called "Nyquist Limit"

Page 50: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 50

Shannon Sampling Theorem

Nyquistsamplinginterval

sampling rate

original signal

reconstructed signal

Page 51: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 51

Antialiasing: Nyquist Sampling Frequency

a signal can only be reconstructed without information loss if the sampling frequency is at least twice the highest frequency of the signal

maxcycle /1x with2

fx

x cycles

i.e. sampling interval one-half cycle interval

max2 ff s Nyquist sampling frequency:

Page 52: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 52

supersampling straight-line segments

subpixel weighting masks

area sampling straight-line segments

filtering techniques

compensating for line-intensity differences

antialiasing area boundaries(adjusting boundary pixel positions)

adjusting boundary pixel intensity

Antialiasing Strategies

Page 53: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 53

Antialiasing: Supersampling Lines

00 00 1100 22 2233 11 00

00 00 4411 66 8888 55 00

3 = max. intensity...0 = min. intensity

9 = max. intensity...0 = min. intensity

thin line line of finite width

Page 54: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 54

Antialiasing

Page 55: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 55

Antialiasing: Area Sampling Lines

calculate the pixel coverage exactly

can be done with incremental schemes

00%% 00%% 4343

1515 7171 8484

9090 5252 33%%

Page 56: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 56

Antialiasing: Pixel Weighting Masks

relative weights for a grid of 3x3 subpixels

more weight for center subpixels

must be divided by sum of weights

subpixel grids can also include some neighboring pixels

Page 57: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 57

Antialiasing: Filtering Techniques

box filter cone filter Gaussian filter

continuous overlapping weighting functions to calculate the antialiased values with integrals

Page 58: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 58

Antialiasing: Compensating for Intensity Differences

unequal line lengths displayed with the same number of pixels in each line/row have different intensities

proper antialiasing compensates for that!

Page 59: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 59

Antialiasing

Page 60: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 60

Antialiasing Area Boundaries (1)

adjusting pixel intensities along an area boundary

alternative 1:supersampling

Page 61: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 61

Antialiasing Area Boundaries (2)

alternative 2: like midpoint line algorithm

p´ = y ymid = [m(xk + 1) + b] (yk + 0.5)

p´<0 y closer to yk

p´>0 y closer to yk+1

p = p´+ (1m) :p<1m closer to yk

p>1m closer to yk+1

( and p [0,1] )

yymid

Note: We add (1-m) so that the decision parameter p = area covered by polygon!

Page 62: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 62

Antialiasing Area Boundaries (3)

p = p´+(1-m) = [m(xk + 1) + b] (yk + 0.5) + (1 m)= mxk + b yk + 0.5

=

xk xk+1

yk

yk+ 0.5p for next pixel= overlap areafor current pixel

p = p´-m+1 = p´+(1-m)

mp´-m

Page 63: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 63

Antialiasing Examples

Page 64: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 64

Antialiasing Examples

Page 65: CST 494/598 Computer Graphics Anshuman Razdan razdan@asu.edu i3dea.asu.edu/razdan.

A Razdan and Peter Wonka 65

Summary: Attributes of Primitives

color and greyscale

line attributes

area fill attributes

character attributes

antialiasingaliasing effects

reasons for aliasing

antialiasing strategies