Date post: | 18-Jan-2018 |
Category: |
Documents |
Upload: | martin-matthews |
View: | 220 times |
Download: | 0 times |
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
Institute for Visualization and Perception ResearchI VPR 2
© Copyright 2000 Haim Levkowitz
Overview …
• Implications of display-system architecture …
• Output pipeline ...
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 ...
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
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
Institute for Visualization and Perception ResearchI VPR 6
© Copyright 2000 Haim Levkowitz
Input
• User interaction (display) --> measure values
• ==> modify model or image
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
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
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
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
Institute for Visualization and Perception ResearchI VPR 11
© Copyright 2000 Haim Levkowitz
Scan Converting Primitives
• primitives
Institute for Visualization and Perception ResearchI VPR 12
© Copyright 2000 Haim Levkowitz
Clipping
• Overview – Hearn & Baker Ch. 6
Institute for Visualization and Perception ResearchI VPR 13
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 14
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 15
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 16
© Copyright 2000 Haim Levkowitz
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 ...
Institute for Visualization and Perception ResearchI VPR 18
© Copyright 2000 Haim Levkowitz
Clipping endpoints
• x min x x max
• y min y y max
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'
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
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
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
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
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
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
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
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
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
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
Institute for Visualization and Perception ResearchI VPR 30
© Copyright 2000 Haim Levkowitz
Clipping Polygons
• General …• Sutherland-Hodgman Algorithm …
• Four cases …
Institute for Visualization and Perception ResearchI VPR 31
© Copyright 2000 Haim Levkowitz
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
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 ...
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
Institute for Visualization and Perception ResearchI VPR 35
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 36
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 37
© Copyright 2000 Haim Levkowitz
Institute for Visualization and Perception ResearchI VPR 38
© Copyright 2000 Haim Levkowitz
Antialiasing
• Increasing resolution …• Area sampling …
• Weighted• Unweighted
• Other
Institute for Visualization and Perception ResearchI VPR 39
© Copyright 2000 Haim Levkowitz
Increasing Resolution
• Best, but• Limitations
• Jaggies / staircasing• Aliasing / antialiasing
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