18
Large-Scale Polygon Rendering

Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Embed Size (px)

Citation preview

Page 1: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Large-Scale Polygon Rendering

Page 2: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Solutions Decimation Visibility Culling Parallel Rendering Others

Page 3: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Surface DecimationUse a smaller number of triangles to represent the same surface -> preserve the topology

Removing vertices

Contracting edges

Etc.

Page 4: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Visibility Culling

Do not display polygons that are not visible to the eyes

188,000 triangles1 million triangles

Page 5: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Parallel Rendering

Page 6: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

3D Rendering Pipeline

Transformation Clipping

(modeling, viewing, projection)

Lighting Screen Projection Scan conversion

Z-buffer Shading Geometry Processing

Rasterization

Page 7: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Parallel Rendering

G

R

display

sequential

G

R

G

R

G

R

G

R

G

R

G

R

display

fully parallel

Page 8: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Parallel Rendering (2) Geometry processing: parallelized

by assigning each processor a subset of primitives (polygons)

Rasterization: parallelized by assigning each processor a portion of pixel calculations

Page 9: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Parallel Rendering (3)

What is rendering anyway?

Calculate the effect of each primitive on each pixel

During transformation, a primitive can go anywhere onthe screen

Rendering can be seen as sorting primitives to the screen

Page 10: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Parallel Rendering (4)

Rendering as a sorting process

Page 11: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sorting primitives

Where to sort?

Sorting can pretty muchhappy anywhere

Where/When to sort willaffect the structure of theparallel rendering system

G

R

G

R

G

R

G

R

G

R

G

R

display

Page 12: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-First Parallel Rendering

Page 13: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-First Parallel Rendering

Distribute the primitives early in the rendering pipeline

P1 P2

P3 P4

1. Subdivide the screen2. “Pre-transform” the primitives3. Distribute the primitives4. Each processor render its own primitives5. No communication needed afterwards

P1: P2: P3: P4:

Page 14: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-Middle Parallel Rendering

Page 15: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-Middle Parallel Rendering

Distribute the primitives in the middle of pipeline

P1: P2: P3: P4:

P1 P2

P3 P4

1. Arbitrary assignment

2. Geometry processing

3. Sorting

P1: P2: P3: P4:

Rasterization

Page 16: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-Last Parallel Rendering

Page 17: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-Last Parallel Rendering

P1 P2

P3 P4

Distribute the primitives in the end of pipeline

P1: P2: P3: P4:

G

R

G

R

G

R

G

R

1. Arbitrary assignment

2. Geometry processing

3. Rasterization

Page 18: Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others

Sort-Last Parallel Rendering

P1 P2 P3 P4

P1 P2

P3 P4

P1 P2 P3 P4

Sort images with z

Compositing/z-buffer