Space partitions
Download
1 / 16

Mar 11 - PowerPoint PPT Presentation


  • 254 Views
  • Updated On :

Space Partitions Today’s Short Film Arnold 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Mar 11' - johana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Space partitions l.jpg

Space Partitions

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Today s short film l.jpg
Today’s Short Film

Arnold

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Announcement l.jpg
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

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Common operations in 3d l.jpg
Common Operations in 3D

  • Line/object intersection

    • Given a ray or line, which object will it intersect?

  • View frustum culling

  • Collision detection

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Sorting indexing in 3d l.jpg
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”

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Octree l.jpg
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).

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


K d tree l.jpg
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.

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Kd tree example l.jpg
Kd-tree Example

4

6

1

10

8

2

3

11

3

13

2

4

5

6

7

12

8

9

10

11

12

13

9

Figure Source: CS638 slides by Stephen Chenney, University of Wisconsin – Madison,

5

1

7

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Bsp trees l.jpg
BSP Trees

  • From the paper by Fuchs et al, “On visible surface generation by a priori tree structures” SIGGRAPH 80.

  • Binary Space Partition trees

    • A sequence of cuts that divide a region of space into two

  • Cutting planes can be of any orientation

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Drawing order from bsp trees l.jpg
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.

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Bsp example l.jpg
BSP Example

1

1

2

2

4

A

3

out

5

7

3

A

out

B

6

8

out

6

5

B

C

C

out

D

out

D

Figure Source: CS638 slides by Stephen Chenney, University of Wisconsin – Madison,

4

8

7

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Obb tree l.jpg
OBB Tree

  • OBB stands for Oriented Bounding Box.

  • OBB is a rectangular bounding box at an arbitrary orientation.

  • Asymptotically faster for close proximity situations.

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Slide13 l.jpg

Off Topics…

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Mouse interaction in assignment 1 l.jpg
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;

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Or you may use glh l.jpg
Or You May Use GLH

  • So you don’t have to reinvent the wheel.

  • OpenGL Helper Library http://home.earthlink.net/~eberkain/GLH.html

  • Used in some NVIDIA SDK Demos.

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


Example code l.jpg
Example Code

  • #include <glh_glut.h>

  • glut_simple_mouse_interactor camera, object, *current_interactor;

    current_interactor = &camera;

    glut_add_interactor(

    current_interactor);

CS6500 Adv. Computer Graphics

© Chun-Fa Chang, Spring 2003


ad