|
|
Weekly Plan
- Week 1: Adjusting meeting time and schedule
Every week on Wednesday 5:00 PM
- Week 2: Proposal for goals and topics
Objective: To enhance implementation skill using graphics language and a haptic device
download
- Week 3: Background study (Differential Geometry)
Chapter 10 & 19 from
Gerald Farin: Curves and Surfaces for CAGD, 5th edition Morgan Kaufmann Publishers, ISBN = "1-55860-737-4"
- Week 4: Background study (Paper: The Platonic Spheroids)
J. Peters, L. Kobbelt, 'The Platonic Spheroids', CS Purdue TR--97-052
- Week 5: Specifying goals
Take a part in the surgical simulation project
Read project proposal to get familiar with it and to find idea to add on it
- Week 6: Shadow survey 1
Shadow is an important factor to provide users with realistic simulation
How to implement shadow? Reference Book: Real-time Rendering
- Week 7: Shadow survey 2
Run and complie simple version of surgical simulation program based on CGAL
Shadow implementation example 1 (from http://nehe.gamedev.net) shadows on curved surfaces
2 (from http://www.opengl.org) shadows on a planar surface
3 (from http://www.paulsprojects.net) shadow mapping
- Week 8: Shadow technology
- Projected planar shadow
Not appropriate because we have curved surfaces to make a shadow on
- Shadow volume: Stencil buffered shadow volume [1]
1. Exclusive-Or
2. Depth-pass (Z-pass)
Image from [2]
Image from [3]
- Render front face of shadow volume. If depth test passes, increment stencil value, else does nothing. Disable draw to frame and depth buffer.
- Render back face of shadow volume. If depth test passes, decrement stencil value, else does nothing. Disable draw to frame and depth buffer.
3. Depth-fail (Z-fail, Carmack's Reverse)
- Render back face of shadow volume. If depth test failes, increment stencil value, else does nothing. Disable draw to frame and depth buffer.
- Render front face of shadow volume. If depth test failes, decrement stencil value, else does nothing. Disable draw to frame and depth buffer.
- Shadow map
- Week 9: Shadow implementation 1
To understand Halfedge data structures CGAL
- Week 10: Spring Break
- Week 11: Shadow implementation 2
Stencil buffered depth-pass shadow volume technique
- Render all the objects using only ambient lighting and any other surface-shading attribute. Rendering should not depend on any particular light source. Make sure depth buffer is written.
- Starting with a light source, clear the stencil buffer and calculate the silhouette of all the occluders with respect to the light source.
- Extrude the silhouette away from the light source to a finite or infinite distance to form the shadow volumes and generate the capping if depth-fail technique was used. (Infinite shadow volume extrusion is not really compulsory)
- Render the shadow volumes using the selected technique. Depth-pass or depth-fail.
- Using the updated stencil buffer, do a lighting pass to shade (make it a tone darker) the fragments that corresponds to non-zero stencil values.
- Repeat step 2 to 5 for all the lights in the scene.
- Week 12: Paper presentation at SurfLab seminar
Paper link
"As-Rigid-As-Possible Shape Manipulation", Igarashi et al., SIGGRAPH2005.
- Week 13: Shadow implementation 3
- Week 14: Shadow implementation 4
How it works
Drawing front shadow volume faces
Drawing back shadow volume faces
(Increase the value in the stencil buffer)
(Decrease the value in the stencil buffer)
Drawing front and back shadow volume faces
Drawing back shadow volume faces
(Red area has the value bigger than zero in the stencil buffer)
- Week 15: Demonstration
Environment: One spotlight, multiple occluding objects and multiple shadowed objects.
Implementation: Read the input file of "off" file format for the occluding and shadowed objects.
- Enhance the depth perception
Without shadow
With shadow
- Other results
Manipulating the occluding object
Transform the shadowed object
Transform the light
- Other object file
Manipulating the occluding object
Transform the shadowed object
Transform the light
- Multiple occluding objects
- References
- The Shadow Volume: General introduction from wikipedia
- The Theory of Stencil Shadow Volumes: Specific explanation of concept
- The Mechanics of Robust Stencil Shadows: Algorithm overview
|