Download presentation
Presentation is loading. Please wait.
1
© 2003 University of Wisconsin
Last Time Form Factors Progressive Radiosity 01/31/03 © 2003 University of Wisconsin
2
© 2003 University of Wisconsin
Today Sub-structuring Adaptive Meshing Hierarchical Radiosity Importance 01/31/03 © 2003 University of Wisconsin
3
The Effect of Patch Size
There is a trade-off in patch size: large patches give faster solution, small patches give better results Doubling the patch resolution increases computation by 16x 4x in each patch, but N2 computation, so 16x Effect of large patches is most obvious in receiving: patch size indicates largest resolvable illumination feature Particularly important in what case? Large patches are not so bad for emitting What impact will large vs. small patches have? 01/31/03 © 2003 University of Wisconsin
4
© 2003 University of Wisconsin
Substructuring Best of both worlds (almost): Break each patch into smaller elements for the purposes of receiving energy Use original, large patches for shooting Divide each patch, Pi into mi elements, denoted pq for 1q<mi. Radiosity for element pq is: Element radiosity Element emission Element-patch form factor Patch radiosity 01/31/03 © 2003 University of Wisconsin
5
Substructuring (more)
Patch radiosity is area weighted radiosity of elements: Substituting, and assuming elements of a patch have equal exitance and reflectance: Like solving without elements, but using area averaged form factor 01/31/03 © 2003 University of Wisconsin
6
Solution Structure (Gathering)
Find element to patch form factors (MN) of them Use same old form factor methods Combine to form patch to patch form factors (NN) of them, using area weighted average on previous slide Solve for patch radiosities No worse than regular Gauss-Seidel Compute element radiosities A final gather step to the elements The result is not the same as solving with elements, but close 01/31/03 © 2003 University of Wisconsin
7
Substructuring and Progressive Refinement
Can do progressive refinement with substructuring Shoot energy from patches to elements Maintain radiosities and residuals for each element, average for patches But, form factor computations are poor, because the form factor from a large patch to a small element is needed Bad aliasing with hemi-cube Leads to visible errors in images. What might these look like? 01/31/03 © 2003 University of Wisconsin
8
© 2003 University of Wisconsin
Automated Meshing The patch and element resolution should be decided based on the complexity of the illumination situation It is unreasonable to expect a user to know what is required – they are, after all, using the software to find a solution Automated meshing strategies are desired 01/31/03 © 2003 University of Wisconsin
9
© 2003 University of Wisconsin
Adaptive Subdivision Instead of fixing the elements and patches, allow elements to be subdivided based on how the solution proceeds After each Gauss-Seidel step: Estimate the radiosity gradient Break elements that appear to have high gradients Do a new gather to each of the smaller elements Keep breaking until no big gradients Do the next iteration of Gauss-Seidel Multiple ways to estimate gradient Cheap: Compare your radiosity to your neighbors More expensive: Push radiosities to vertices (area weighted average) and use difference across element 01/31/03 © 2003 University of Wisconsin
10
Adaptive and Progressive
Choose to subdivide after each shot Subdivision decision can be based on the gradient with respect to the shooting patch Not all shooting patches require the same subdivision For instance, lights in different places cast different shadows Can re-compute subdivision for each shot Distribute radiosity gathered at one resolution to that gathered at another But we can do better… 01/31/03 © 2003 University of Wisconsin
11
© 2003 University of Wisconsin
Which Resolution? Should P be bigger or smaller for each receiving patch? What influences the decision? 01/31/03 © 2003 University of Wisconsin
12
© 2003 University of Wisconsin
Hierarchical Meshing Use different resolution depending on who is emitting and who is receiving Build hierarchy of elements for each patch Record interactions between elements at appropriate levels Essentially replaces blocks in the form factor matrix with average values 01/31/03 © 2003 University of Wisconsin
13
Building the Hierarchy
Start with “top level” patches Estimate the error incurred by each patch-patch transfer. Use: Form factor estimate: Radiosity Form factor Importance (more later) If error too large, break one element and recurse But only recurse for this transfer – don’t re-compute all transfers Like starting with finest resolution, and averaging blocks in the form factor matrix 01/31/03 © 2003 University of Wisconsin
14
Hierarchical Solution
For each Gauss-Seidel iteration Gather energy to a patch along all the links Update radiosity values for each node in the patch hierarchy Push radiosity down from parents to children – no area weighting Pull radiosity up from children to parents – area weighted Cost proportional to number of links, which is O(N) where N is number of leaves 01/31/03 © 2003 University of Wisconsin
15
Brightness-weighted refinement
Subdivide based on an estimate of energy transferred Need radiosity estimates, which we don’t know beforehand: Start with high error threshold, and get approximate solution Refine hierarchy using radiosity estimates Repeat with successively lower thresholds Also called multi-grid methods 01/31/03 © 2003 University of Wisconsin
16
Computing Form Factors
Only need form factors for each link Hemicube does more work than necessary, because all elements must be projected for all other elements Use patch-patch computations (more later) Also can give occlusion estimates for better form-factor estimates Error control More and more subdivision not necessarily good, because errors accumulate in push-pull, and element boundaries can cause artifacts 01/31/03 © 2003 University of Wisconsin
17
© 2003 University of Wisconsin
Importance For a single image, only the visible surfaces are directly important Don’t care what’s “down the hall” Surfaces illuminating visible surfaces are also important, and other surfaces illuminating those surfaces… Importance propagates backwards from the “primary” sources of importance Visible surfaces are typically prime sources of importance 01/31/03 © 2003 University of Wisconsin
18
Solving for Importance
Ri is the inherent importance of a given element When radiosity is gathered, importance is shot Use BIF as error estimate in determining subdivision Combine with multi-grid method Note: must use different push-pull operations for importance Push down area-weighted, pull up non-weighted 01/31/03 © 2003 University of Wisconsin
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.