Download presentation
Presentation is loading. Please wait.
1
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Space Partitions
2
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Today’s Short Film Arnold
3
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Announcement Proxy Settings for accessing SIGGRAPH papers online. Two paper presentations each on March 18 & 25. –3/18: Portal paper and BSP paper. –Read the papers before class. Volunteers wanted for paper presentations on April 8
4
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Common Operations in 3D Line/object intersection –Given a ray or line, which object will it intersect? View frustum culling Collision detection
5
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Sorting/Indexing in 3D Sequential search is too slow for large models. How about storing them in a 3D array? –Size will be overwhelming Think “hierarchy”
6
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Octree Divide the space in halves in X/Y/Z. –Always split in the middle. –You may also consider them as splitting in X, then in Y, then in Z. If too many objects are in a partition, divide them again (recursively).
7
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 K-D Tree More flexible than octree: –Not always splitted in the middle. –Split in X, then in Y, then in Z, or any order.
8
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Kd-tree Example 1 1 23 2 3 4567 4 5 6 7 8910111213 8 9 10 11 12 13 Figure Source: CS638 slides by Stephen Chenney, University of Wisconsin – Madison,
9
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 BSP Trees From the paper by Fuchs et al, “On visible surface generation by a priori tree structures” SIGGRAPH 80.On visible surface generation by a priori tree structures Binary Space Partition trees –A sequence of cuts that divide a region of space into two Cutting planes can be of any orientation
10
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Drawing Order from BSP Trees BSP tress can be used to order polygons from back to front, or visa-versa –Descend tree with viewpoint –Things on the same side of a splitting plane as the viewpoint are always in front of things on the far side Can draw from back to front –Gives the correct order for rendering transparent objects with a z-buffer, and by far the best way to do it Can draw front to back too.
11
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 BSP Example 1 4 2 375 BAout8 D 6 C 1 2 3 4 56 7 8 A B C D Figure Source: CS638 slides by Stephen Chenney, University of Wisconsin – Madison,
12
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 OBB Tree OBB stands for Oriented Bounding Box. OBB is a rectangular bounding box at an arbitrary orientation. Asymptotically faster for close proximity situations.
13
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Off Topics…
14
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Mouse Interaction in Assignment 1 You may write your own like this: x -= mouse_ref_x; y -= mouse_ref_y; xf = (float) x/width; yf = (float) y/height; angle = 90* xf; M = rotation3D(axis_Y, angle); angle = 90* yf; M = rotation3D(axis_X, angle) * M;
15
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Or You May Use GLH So you don’t have to reinvent the wheel. OpenGL Helper Library http://home.earthlink.net/~eberkain/GLH.html http://home.earthlink.net/~eberkain/GLH.html Used in some NVIDIA SDK Demos.
16
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Example Code #include glut_simple_mouse_interactor camera, object, *current_interactor; current_interactor = &camera; glut_add_interactor( current_interactor);
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.