1 / 30

Other Rendering Techniques

Other Rendering Techniques. Types of rendering Wireframe techniques Scan-line conversion Reyes rendering Ray tracing (done) Shadows Reflections Depth of field, focus, etc. Antialiasing. Line only techniques. Hidden-line removal Line graphics Wireframe images “Halo” line images.

liko
Download Presentation

Other Rendering Techniques

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Robert’s Algorithm • First visible line algorithm • O(N2) complexity • All objects must be convex volumes • Excessively complex

  5. Warnock Algorithm • Spatial subdivision • Quad-trees

  6. Appel’s 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 • That’s 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 • Painter’s 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 • What’s good about it? • What’s 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 ax+by+cz+d=0 • An occluding point S=(sx,sy,sz,1) • Anything along line through S would be: (asx,asy,asz,1) • Line intersection with plane is: • aasx+absy+acsz+d=0 • a=-d/(asx+bsy+csz) • Intersection with plane is: -d(sx,sy,sz)/(asx+bsy+csz)

  19. Similar approach exists For lights at infinity Using this equation • -d(sx,sy,sz)/(asx+bsy+csz) 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?

More Related