Download presentation
Presentation is loading. Please wait.
Published byMyra Cole Modified over 9 years ago
2
COMPUTER GRAPHICS CS 482 – FALL 2015 NOVEMBER 10, 2015 VISIBILITY CULLING HIDDEN SURFACES ANTIALIASING HALFTONING
3
CULLING CS 482 – FALL 2015 FRUSTUM CULLING NOVEMBER 10, 2015: VISIBILITYPAGE 244 FOR EACH WINDOW EDGE, CLIP EACH POLYGON EDGE AGAINST IT, REPLACING THE POLYGON EDGE WITH ITS CLIPPED VERSION. A B CD E F G H CLIPPING AGAINST THE LEFT SIDE: EDGE AB EDGE KB EDGE FG EDGE FL EDGE GH EDGE MH EDGE HA EDGE HN K N M L CLIPPING AGAINST THE RIGHT SIDE: EDGE BC EDGE BP EDGE CD EDGE QD EDGE DE EDGE DR EDGE EF EDGE SF B CD E F H K N M L S R Q P CLIPPING AGAINST THE BOTTOM: EDGE DR EDGE DV EDGE MH EDGE WH B D F H K N M LS R Q P V W CLIPPING AGAINST THE TOP: EDGE KB EDGE KX EDGE BP EDGE YP B D H K N Q P VW XY FINAL CLIPPED POLYGON D H K N Q P VW XY TO REDUCE UNNECESSARY GRAPHICS PROCESSING, IT IS OFTEN BENEFICIAL TO ELIMINATE THOSE POLYGONS (OR PARTS OF POLYGONS) THAT ARE OUTSIDE OF THE VIEWING FRUSTUM. SUTHERLAND-HODGMAN POLYGON CLIPPING ALGORITHM
4
CULLING CS 482 – FALL 2015 DEGENERATE EDGES NOVEMBER 10, 2015: VISIBILITYPAGE 245 A MAJOR PROBLEM WITH THIS ALGORITHM IS THE FACT THAT IT ALWAYS PRODUCES A SINGLE POLYGON, SOMETIMES WITH “DEGENERATE” EDGES. DEGENERATEEDGESDEGENERATEEDGES
5
CULLING CS 482 – FALL 2015 WEILER-ATHERTON POLYGON CLIPPING ALGORITHM NOVEMBER 10, 2015: VISIBILITYPAGE 246 1.DETERMINE ALL INTERSECTIONS BETWEEN POLYGON EDGES AND CLIPPING WINDOW EDGES, MARKING EACH AS EITHER ENTERING OR EXITING THE CLIPPING WINDOW. P 13 P1P1 P2P2 P3P3 P4P4 P5P5 P6P6 P7P7 P8P8 P9P9 P 10 P 11 P 12 W1W1 W2W2 W3W3 W4W4 I1I1I1I1 I1I1I1I1 I2I2I2I2 I2I2I2I2 I3I3I3I3 I3I3I3I3 I4I4I4I4 I4I4I4I4 I5I5I5I5 I5I5I5I5 I6I6I6I6 I6I6I6I6 I7I7I7I7 I7I7I7I7 I8I8I8I8 I8I8I8I8 I9I9I9I9 I9I9I9I9 I 10 P 1 P 2 P 3 P 4 I 1 P 5 I 2 P 6 P 7 I 3 I 4 P 8 I 5 I 6 P 9 I 7 I 8 P 10 P 11 I 9 P 12 I 10 P 13 P 1 P 2 P 3 P 4 I 1 P 5 I 2 P 6 P 7 I 3 I 4 P 8 I 5 I 6 P 9 I 7 I 8 P 10 P 11 I 9 P 12 I 10 P 13 W 1 I 9 I 8 W 2 I 7 I 6 I 1 I 2 W 3 I 3 W 4 I 4 I 5 I 10 W 1 I 9 I 8 W 2 I 7 I 6 I 1 I 2 W 3 I 3 W 4 I 4 I 5 I 10 TRAVERSA LS: P 12 W1W1 I9I9 I 10 I7I7 W2W2 I7I7 I8I8 P5P5 W3W3 I1I1 I2I2 I4I4 I5I5 I6I6 I3I3 (I 1, P 5, I 2, W 3, I 3, I 4, I 5, I 6, I 1 ) (I 7, I 8, W 2, I 7 ) (I 9, P 12, I 10, W 1, I 9 ) 2.LIST VERTICES FOR BOTH POLYGON AND CLIPPING WINDOW (INCLUDING ALL INTERSECTIONS) IN CLOCKWISE ORDER. 3.STARTING AT AN ENTERING INTERSECTION IN THE POLYGON VERTEX LIST, TRAVERSE POLYGON LIST (WITH WRAPAROUND) UNTIL ANOTHER INTERSECTION IS ENCOUNTERED, SWITCH TO CLIPPING WINDOW VERTEX LIST, SWITCHING BACK TO POLYGON VERTEX LIST WHEN ANOTHER INTERSECTION POINT IS FOUND. CONTINUE UNTIL ORIGINAL INTERSECTION POINT IS FOUND AGAIN. 4.IF ALL VERTICES HAVE NOT BEEN TRAVERSED, REPEAT STEP #3 WITH AN UNTRAVERSED ENTERING INTERSECTION.
6
CULLING CS 482 – FALL 2015 Z-BUFFERING NOVEMBER 10, 2015: VISIBILITYPAGE 247 WHEN RENDERING A POLYHEDRAL OBJECT, THE ORDER IN WHICH THE FACES ARE RENDERED COULD DAMAGE THE FINAL IMAGE. DRAWING BOTTOM, BACK, RIGHT, LEFT, FRONT, AND TOP, IN THAT ORDER Z-BUFFERING IS A SIMPLE (I.E., EASY TO PROGRAM, BUT VERY INEFFICIENT) METHOD FOR ADDRESSING THIS PROBLEM. THIS ALGORITHM MAINTAINS A DEPTH BUFFER THAT STORES THE Z-COORDINATE OF EVERY PIXEL IN THE IMAGE SPACE. FOR EACH POLYGON IN THE IMAGE, ITS AFFECTED PIXELS ARE DETERMINED AND THE DEPTH BUFFER VALUE CORRESPONDING TO EACH PIXEL IS UPDATED IF THE Z-COORDINATE FOR THE OBJECT IS CLOSER TO THE VIEWER THAN THE CURRENT BUFFER VALUE. DRAWING LEFT, FRONT, TOP, RIGHT, BACK, AND BOTTOM, IN THAT ORDER
7
CULLING CS 482 – FALL 2015 BACKFACE CULLING NOVEMBER 10, 2015: VISIBILITYPAGE 248 BY DETERMINING EACH POLYGON’S NORMAL VECTOR (THE ONE POINTING OUT OF THE POLYHEDRON) AND THE VECTOR FROM THE SURFACE TO THE VIEWER, IT CAN EASILY BE DETERMINED (VIA THE DOT PRODUCT) WHETHER THE POLYGON IS FACING THE VIEWER OR FACING AWAY FROM THE VIEWER. IF THE POLYGONAL FACE IS POINTED AWAY FROM THE VIEWER, THEN THE POLYGON NEED NOT BE RENDERED AT ALL. (NOTE: THIS IS ONLY GUARANTEED TO WORK IF THE POLYHEDRON IS CONVEX!) NO HIDDEN SURFAC E REMOVA L BACKFA CE CULLING ONLY BACKFACE CULLING, FOLLOWE D BY Z- BUFFER
8
HIDDEN SURFACES CS 482 – FALL 2015 OBJECT-SPACE AND IMAGE-SPACE APPROACHES NOVEMBER 10, 2015: VISIBILITYPAGE 249 DETERMINING WHICH SURFACES ARE VISIBLE IN A 3-D ENVIRONMENT CAN BE QUITE DIFFICULT. OBJECT SPACE ALGORITHMS TRY TO WORK IT OUT BY COMPARING EVERY PAIR OF OBJECTS IN THE ENVIRONMENT, YIELDING n 2 TIME COMPLEXITY FOR n OBJECTS. IMAGE SPACE ALGORITHMS TRY AN ALTERNATIVE APPROACH: COMPARING EVERY OBJECT WITH EVERY PIXEL ON THE SCREEN, YIELDING nN TIME COMPLEXITY, WHERE N IS THE NUMBER OF PIXELS (E.G., Z-BUFFER ALGORITHM). THAT OFTEN MAKES THE IMAGE SPACE ALGORITHMS MORE TIME INTENSIVE, BUT THEY ALSO LEND THEMSELVES BETTER TO SPACE COHERENCE ARGUMENTS THAT CAN GREATLY INCREASE THE ALGORITHM’S EFFICIENCY.
9
HIDDEN SURFACES CS 482 – FALL 2015 SPANNING SCANLINE ALGORITHM NOVEMBER 10, 2015: VISIBILITYPAGE 250 THIS IMAGE SPACE ALGORITHM DETERMINES WHICH POLYGONS AFFECT EACH SCAN LINE, AND THE PARTICULAR RANGES WITHIN THE SCAN LINE THAT ARE AFFECTED BY EACH POLYGON. ALSO DETERMINE ALL POLYGON INTERSECTIONS ON THAT SCANLINE. SPANS SCANLINE SPANS EACH RESULTING “SPAN” OF THE SCAN LINE HAS A SET OF ACTIVE EDGES. BY DOING A DEPTH TEST AT EACH SPAN’S MIDPOINT, THE VISIBLE SURFACE IS DETERMINED.
10
HIDDEN SURFACES CS 482 – FALL 2015 PAINTER’S ALGORITHM NOVEMBER 10, 2015: VISIBILITYPAGE 251 ONE SIMPLE APPROACH TO SOLVING THE VISIBLE SURFACE PROBLEM IS TO ORDER THE OBJECTS IN THE IMAGE SPACE ACCORDING TO THEIR DEPTHS, AND TO RENDER THE DEEPEST OBJECTS FIRST. IT MIGHT BE NECESSARY TO SPLIT THE OBJECTS IN ORDER TO DEAL WITH CYCLICAL OVERLAP (I.E., OBJECTS THAT ARE IN FRONT OF EACH OTHER).
11
ANTIALIASING CS 482 – FALL 2015 ALIASING NOVEMBER 10, 2015: VISIBILITYPAGE 252
12
ANTIALIASING CS 482 – FALL 2015 ALIASING PROBLEMS NOVEMBER 10, 2015: VISIBILITYPAGE 253 DISINTEGRATING TEXTURES LOSS OF DETAILJAGGED PROFILES
13
ANTIALIASING CS 482 – FALL 2015 PREFILTERING NOVEMBER 10, 2015: VISIBILITYPAGE 254 PREFILTERING USES THE PRECISE RATIO OF EACH COLOR TO CREATE A BLEND FOR THE PIXEL.
14
ANTIALIASING CS 482 – FALL 2015 POSTFILTERING NOVEMBER 10, 2015: VISIBILITYPAGE 255 BY “SUPERSAMPLING” THE PIXELS AND USING PROPORTIONAL BLENDS OF THE SUBPIXEL COLORS, THE ALIASING PROBLEM IS ADDRESSED IN A REASONABLY EFFECTIVE MANNER. Antialiased Not Antialiased
15
HALFTONING CS 482 – FALL 2015 CONVERTING GRAYSCALE TO MONOCHROME NOVEMBER 10, 2015: VISIBILITYPAGE 256 DITHERING 4X4 BLOCKS ARE APPROXIMATED WITH THE PSEUDORANDOM PATTERNS BELOW ERROR DIFFUSION A PIXEL IS COLORED EITHER BLACK OR WHITE BASED UPON ITS SHADE OF GRAY; THEN THE ERROR IS DISTRIBUTED EVENLY TO ALL OF THAT PIXEL’S NEIGHBORING PIXELS DIGITAL HALFTONING EXTREME PIXEL VALUES ARE ASSIGNED BLACK OR WHITE; GRAY PIXEL VALUES PLAY “RUSSIAN ROULETTE” WITH A WEIGHTED NUMBER OF “LOADED” CHAMBERS ORIGINAL IMAGE GOAL: RENDER AN IMAGE WITH MULTIPLE SHADES OF GRAY ON A PLATFORM CAPABLE OF ONLY PURE BLACK AND WHITE
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.