Other%20Rendering%20Techniques - PowerPoint PPT Presentation

About This Presentation
Title:

Other%20Rendering%20Techniques

Description:

First visible line algorithm. O(N2) complexity. All objects must be convex volumes ... Scan-line conversion. Each primitive is mapped to 2D and then converted to image ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 31
Provided by: cbo4
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Other%20Rendering%20Techniques


1
Other Rendering Techniques
  • Types of rendering
  • Wireframe techniques
  • Scan-line conversion
  • Reyes rendering
  • Ray tracing (done)
  • Shadows
  • Reflections
  • Depth of field, focus, etc.
  • Antialiasing

2
Line only techniques
  • Hidden-line removal
  • Line graphics
  • Wireframe images
  • Halo line images

3
Floating Horizon Algorithms
4
Roberts Algorithm
  • First visible line algorithm
  • O(N2) complexity
  • All objects must be convex volumes
  • Excessively complex

5
Warnock Algorithm
  • Spatial subdivision
  • Quad-trees

6
Appels Algorithm
  • Quantitative invisibility
  • When a line goes behind something, increment by 1
  • When it comes out, increment by -1

7
Haloed Lines
8
So much for wireframe
9
What are the ways to convert primitives to image?
  • Scan-line conversion
  • Ray tracing

Anything else?
10
Scan-line conversion
  • Each primitive is mapped to 2D and then converted
    to image
  • List priority algorithms
  • Z-buffer techniques
  • A-buffer techniques

11
Painters Algorithm
  • Sort back to front
  • Draw back to front
  • Thats all there is to it
  • Does this always work?

12
Z-buffer algorithms
  • Associate a z value with each pixel
  • Contains z for nearest point drawn so far
  • OpenGL, Direct3D, etc.
  • Where do we get the Z?

13
A-Buffer Algorithms
  • Create a list of polygons for each scan line
  • Determine x extents for each line
  • Sort in z order
  • Draw pixel for nearest line

14
Spanning Scan Line Algorithms
  • Create a list of polygons for each scan line
  • Determine x extents for each line
  • Determine spans
  • All end points and intersections partition spans
  • Draw front line for each span

15
List priority algorithms
  • Sort things in depth order
  • Painters algorithm paints back to front
  • We could just paint front if no overlaps
  • Newell-Newell-Sancha Algorithm
  • Provides way to sort polygons
  • Splits any polygons if there is a cyclical
    relationship

16
Doing things in a z-buffer world
  • Z-buffer the most common scan-line method
  • Whats good about it?
  • Whats bad about it?

17
Shadows?
  • Why does OpenGL not show shadows?

18
Drawing Shadows
  • Assume a light at (0,0,0). We want to know were
    the shadow projects on a plane defined by
    axbyczd0
  • An occluding point S(sx,sy,sz,1)
  • Anything along line through S would be
    (asx,asy,asz,1)
  • Line intersection with plane is
  • aasxabsyacszd0
  • a-d/(asxbsycsz)
  • Intersection with plane is -d(sx,sy,sz)/(asxbsy
    csz)

19
Using this equation
Similar approach exists For lights at infinity
  • -d(sx,sy,sz)/(asxbsycsz)

1. Translate so light is at origin 2. Put this
matrix on stack (using translated plane) 3. Draw
object we are casting shadow of in shadow color
???
20
How I got this working
  • I display the shadow into the stencil buffer
  • I then draw the polygon with alpha value that
    decreases brightness
  • See example program

21
Shadow Direction
Image from light 0 viewpoint
Image from light 1 viewpoint
What all can we do with this?
22
Lit Polygon Determination
Image from light 0 viewpoint
Image from light 1 viewpoint
Partition polygons into lit/not lit
sets Subdivide any that are partially lit
23
Shadow Texture
Image from light 0 viewpoint
Image from light 1 viewpoint
Create a texture map for each visible polygon
24
Shadow Map
Image from light 0 viewpoint
Depth map from light 0 viewpoint
The map partitions the space into shadowed/not
shadowed. For each point, determine which
partition we are in
25
Deep Shadow Maps
3D texture where each point is how much
illumination we receive
26
Shadow Volumes
  • Polygons cast polyhedra of shadow volumes
  • Intersect polyhedra and object space

27
Reflections/Transparency?
  • How?

28
Environment Maps
  • Uses vertex normals to generate texture
    coordinates
  • How can we use this to generate
  • Reflections
  • Transparency with refraction?

29
Depth of Field?
  • What?
  • Why?
  • How?

30
Motion Blur
  • What?
  • Why?
  • How?
Write a Comment
User Comments (0)
About PowerShow.com