40
Institute for Visualization and Perception Research IV P R 1 © Copyright 2000 Haim Levkowitz Raster graphics alg’s for drawing 2D primitives Points of view Application programmer's Package implementor's Scan-converted clipped primitives Hello Hello

Institute for Visualization and Perception Research 1 Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Embed Size (px)

DESCRIPTION

Institute for Visualization and Perception Research 3 © Copyright 2000 Haim Levkowitz Implications of disp-sys architecture … Output & input pipelines … Displays with frame buffers & display controllers … Displays with frame buffers only … Hardcopy devices...

Citation preview

Page 1: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 1

© Copyright 2000 Haim Levkowitz

Raster graphics alg’s for drawing 2D primitives• Points of view

• Application programmer's

• Package implementor's

• Scan-converted clipped primitives

Hello

Hello

Page 2: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 2

© Copyright 2000 Haim Levkowitz

Overview …

• Implications of display-system architecture …

• Output pipeline ...

Page 3: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 3

© Copyright 2000 Haim Levkowitz

Implications of disp-sys architecture …• Output & input pipelines …• Displays with frame buffers & display

controllers …• Displays with frame buffers only …• Hardcopy devices ...

Page 4: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 4

© Copyright 2000 Haim Levkowitz

Output & input pipelines• Output• Input

Application model

Application program Package

Output primitivesOutput attributesCanvas controlcopyPixel

Input device controlInput device measures

Output pipline

Input pipline

Page 5: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 5

© Copyright 2000 Haim Levkowitz

Output

• Primitive-generation function: What to generate

• Attribute functions: How to generate• copyPixel: How to modify image• Canvas-control functions: Where

Page 6: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 6

© Copyright 2000 Haim Levkowitz

Input

• User interaction (display) --> measure values

• ==> modify model or image

Page 7: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 7

© Copyright 2000 Haim Levkowitz

Displays with frame buffers & display controllers …

Package Frame bufferDC

PrimitivesAttributescopyPixel to frame buffercopyPixel from frame buffer

Canvas 1

Canvas 2

Canvas 3

RAM for canvas storage

Display haradware

Page 8: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 8

© Copyright 2000 Haim Levkowitz

Displays with frame buffers only …

PackageScan-

conversion modules

PrimitivesAttributes

CRT

Canvas 1

Canvas 2

Canvas 3

RAM for canvas storage

Screen canvas (Frame buffer)

Video RAM

Page 9: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 9

© Copyright 2000 Haim Levkowitz

Hardcopy devices …• One scan line at a time

• Package: generate complete bitmap• Scan out 1 line at a time

• Entire frame (page)• Raster Image Processor (RIP): built-in scan-conversion

HW• PostScript engine: interpret program

• Device independent• ==> Primitives + attributes

Page 10: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 10

© Copyright 2000 Haim Levkowitz

Output Pipeline …• Clip primitives then scan-convert

• ==> Fewer to scan-convert• Scissoring: Scan-covert then clip

• Write only visible pixels• Temp. canvas, copy only clip rectangle

• Wastes time & space• Easy to implement• Often for text

• Incremental methods: minimize number of calculations

Page 11: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 11

© Copyright 2000 Haim Levkowitz

Scan Converting Primitives

• primitives

Page 12: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 12

© Copyright 2000 Haim Levkowitz

Clipping

• Overview – Hearn & Baker Ch. 6

Page 13: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 13

© Copyright 2000 Haim Levkowitz

Page 14: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 14

© Copyright 2000 Haim Levkowitz

Page 15: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 15

© Copyright 2000 Haim Levkowitz

Page 16: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 16

© Copyright 2000 Haim Levkowitz

Page 17: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 17

© Copyright 2000 Haim Levkowitz

• Clipping endpoints …• Cases for clipping lines …• Solving simultaneous equations …• Cohen-Sutherland Algorithm …• Parametric Line-Clipping Algorithm ...

Page 18: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 18

© Copyright 2000 Haim Levkowitz

Clipping endpoints

• x min x x max

• y min y y max

Page 19: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 19

© Copyright 2000 Haim Levkowitz

Cases for clipping lines …

A

E

F

I

J

I'G

H

D

D'

CH'

G'

B

A

E

F

I

J

I'G

H

D

D'

CH'

G'

B

D'

G'

H'

Page 20: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 20

© Copyright 2000 Haim Levkowitz

Solving Simultaneous Equations …• Both endpoints inside ==> trivially accept• One inside, one outside ==> find

intersection point• Both outside: may / may not intersect• Brute force: line equation + clip rectangle

edges equation

Page 21: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 21

© Copyright 2000 Haim Levkowitz

Cohen-Sutherland Algorithm …

• 1. Check endpoints: trivially accept?• 2. Region checks: trivially reject?• 3. Divide into 2 segments s.t. one can be

trivially rejected• Iterative clip• Trivially accept? / reject?

• Example …

1001

0001

0101

0000

0100 0110

0010

10101000

above below right left

Page 22: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 22

© Copyright 2000 Haim Levkowitz

Cohen-Sutherland (cont.)

1001

0001

0101

0000

0100 0110

0010

10101000

above below right left

Page 23: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 23

© Copyright 2000 Haim Levkowitz

Cohen-Sutherland example

I

H

GF

E

A

BC

D1001

0001

0101

0000

0100 0110

0010

10101000

above below right left

Page 24: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 24

© Copyright 2000 Haim Levkowitz

Parametric Line-Clipping -- overview

• Example ...

Inside of clip rectangle

Outside of clip rectangle

Edge Ei

Ni

Pi(t) – PEi

Ni • [Pi(t) – PEi] < 0

Ni • [Pi(t) – PEi] = 0Ni • [Pi(t) – PEi] > 0

PEi

P0

P1

Page 25: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 25

© Copyright 2000 Haim Levkowitz

Parametric Line-Clipping example

N1 N2 < 90 degrees

q > 90 degrees

PE

PLP0

Line 2

Line 1

Line 3

t = 0

t = 0

Clip rectangle

P0

P0

t = 0

P1

t = 1

P1

t = 1P1

t = 1

PE

PE

PEPL

PL

PL

Page 26: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 26

© Copyright 2000 Haim Levkowitz

Parametric Line-Clipping -- theory in detail

• http://www.siggraph.org/education/materials/HyperGraph/scanline/clipping/lbth.htm

Page 27: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 27

© Copyright 2000 Haim Levkowitz

Parametric Line-Clipping -- The algorithm

• http://www.siggraph.org/education/materials/HyperGraph/scanline/clipping/lbalg.htm

Page 28: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 28

© Copyright 2000 Haim Levkowitz

Parametric Line-Clipping – detailed example

• http://www.siggraph.org/education/materials/HyperGraph/scanline/clipping/lbex.htm

Page 29: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 29

© Copyright 2000 Haim Levkowitz

Clipping circles and ellipses• Accept / reject against square extent• If intersects, divide into quadrants, repeat

accept / reject• Divide into octants if necessary• Compute intersection of edge-circle analytically

• Simultaneous equations• Scan convert resulting arcs• Fast scan conversion ==> scissoring faster• Filled: clip spans then fill

Page 30: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 30

© Copyright 2000 Haim Levkowitz

Clipping Polygons

• General …• Sutherland-Hodgman Algorithm …

• Four cases …

Page 31: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 31

© Copyright 2000 Haim Levkowitz

Page 32: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 32

© Copyright 2000 Haim Levkowitz

General

Multiple components Simple convex case

Concave case w/many exterior edges

Clip rectangle

Page 33: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 33

© Copyright 2000 Haim Levkowitz

Sutherland-Hodgman AlgorithmClip rectangle Right clip boundary Top clip boundary

Left clip boundary

Bottom clip boundary• Four cases ...

Page 34: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 34

© Copyright 2000 Haim Levkowitz

Four cases

Inside Outside

Clip boundaryp: output

Inside Outside

S

Sp

i: output

Inside Outside

S

p

Inside Outside

Sp

i:1st outputp: 2nd output

No output

Page 35: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 35

© Copyright 2000 Haim Levkowitz

Page 36: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 36

© Copyright 2000 Haim Levkowitz

Page 37: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 37

© Copyright 2000 Haim Levkowitz

Page 38: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 38

© Copyright 2000 Haim Levkowitz

Antialiasing

• Increasing resolution …• Area sampling …

• Weighted• Unweighted

• Other

Page 39: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 39

© Copyright 2000 Haim Levkowitz

Increasing Resolution

• Best, but• Limitations

• Jaggies / staircasing• Aliasing / antialiasing

Page 40: Institute for Visualization and Perception Research 1  Copyright 2000 Haim Levkowitz Raster graphics algs for drawing 2D primitives Points of view Application

Institute for Visualization and Perception ResearchI VPR 40

© Copyright 2000 Haim Levkowitz

Area sampling

• Area represented by pixel• Unweighted area sampling

• All pixels equal• Weighted area sampling

• Some contribute more than others• Based on weight function