Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,

Similar presentations


Presentation on theme: "CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,"— Presentation transcript:

1 CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica Hodgins V2005-06-1.1

2 2 Today Clipping Clipping to view volume Clipping arbitrary polygons Hidden Surface Removal Z-Buffer BSP Trees Others

3 3 Clipping Stuff outside view volume should not be drawn Too close: obscures view

4 4 Clipping Stuff outside view volume should not be drawn Too close: obscures view Too far: Complexity Z-buffer problems Too high/low/right/left: Memory errors Broken algorithms Complexity

5 5 Clipping Line to Line/Plane Line segment to be clipped Line/plane that clips it

6 6 Clipping Line to Line/Plane Line segment to be clipped Line/plane that clips it

7 7 Clipping Line to Line/Plane Segment may be on one side Lines may be parallel

8 8 Polygon Clip to Convex Domain Convex domain defined by collection of planes (or lines or hyper-planes) Planes have outward pointing normals Clip against each plane in turn Check for early/trivial rejection

9 9 Polygon Clip to Convex Domain

10 10 Polygon Clip to Convex Domain

11 11 Polygon Clip to Convex Domain Sutherland-Hodgman algorithm Basically edge walking Clipping done often... should be efficient Liang-Barsky parametric space algorithm See text for clipping in 4D homogenized coordiantes

12 12 General Polygon Clipping

13 13 Weiler Algorithm Double edges General Polygon Clipping

14 14 Hidden Surface Removal True 3D to 2D projection would put every thing overlapping into the view plane. We need to determine what’s in front and display only that.

15 15 Z-Buffers Add extra depth channel to image Write Z values when writing pixels Test Z values before writing

16 16 Z-Buffers Benefits Easy to implement Works for most any geometric primitive Parallel operation in hardware Limitations Quantization and aliasing artifacts Overfill Transparency does not work well

17 17 Z-Buffers Transparency requires partial sorting:

18 18 Z-Buffers Recall depth-value distortions. It’s a feature... More resolution near viewer Best use of limited precision

19 19 A-Buffers Store sorted list of “fragments” at each pixel Draw all opaque stuff first then transparent Stuff behind full opacity gets ignored Nice for antialiasing...

20 20 Scan-line Algorithm Assume polygons don’t intersect Each time an edge is crossed determine who’s on top

21 21 Painter’s Algorithm Sort Polygons Front-to-Back Draw in order Back-to-Front works also, but wasteful How to sort quickly? Intersecting polygons? Cycles?

22 22 BSP-Trees Binary Space Partition Trees Split space along planes Allows fast queries of some spatial relations Simple construction algorithm Select a plane as sub-tree root Everything on one side to one child Everything on the other side to other child Use random polygon for splitting plane

23 23 BSP-Trees

24 24 BSP-Trees

25 25 BSP-Trees

26 26 BSP-Trees

27 27 BSP-Trees

28 28 BSP-Trees + + - - + + - - + + - - + + + + + + + + + + + +

29 29 Visibility Traversal Variation of in-order-traversal Child one Sub-tree root Child two Select “child one” based on location of viewpoint Child one on same side of sub-tree root as viewpoint

30 30 BSP-Trees

31 31 BSP-Trees

32 32 Suggested Reading Fundamentals of Computer Graphics by Pete Shirley Chapter 7 Clipping in chapter 11.1 and 11.2


Download ppt "CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,"

Similar presentations


Ads by Google