1 / 44

Controlling Memory Consumption of Hierarchical Radiosity with Clustering

This paper presents a new framework for reducing memory consumption in hierarchical radiosity with clustering. The framework focuses on reducing memory used by links and the hierarchy itself, and includes a memory control mechanism. Results show significant memory reduction without impacting overall performance.

melbak
Download Presentation

Controlling Memory Consumption of Hierarchical Radiosity with Clustering

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. Controlling Memory Consumption ofHierarchical Radiosity with Clustering Xavier Granier George Drettakis iMAGIS -GRAVIR/IMAG-INRIA iMAGIS is a joint project of CNRS/INRIA/UJF/INPG Graphics Interface 99

  2. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  3. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  4. Motivation • Global illumination of large scenes • Hierarchical Radiosity with Clustering [Sil95,SAS94] • fast global illumination • view-independent • High memory consumption due to: • Link structure [WH97] • Hierarchy structure (clusters, subdivided polygons)

  5. Hierarchical radiosity • Multi-resolution representation of exchanges • Clustering 

  6. Three hierarchy traversals • Refinement : • build the hierarchy • create link: store information of the exchanges • Gather : • compute irradiance due to links Ii =links on iFijBkj • Push-Pull • Descend hierarchy : sum the irradiances • Leaves: reflect entire irradiance • Returning : update the hierarchical representation

  7. Hierarchical radiosity B = 0 1 B = E B = 0 2

  8. Refinement

  9. Gather I1= F1*E I += I1

  10. Push-Pull : Descend I2 I1 += I2 I1

  11. Push-Pull : Return B1=r1*I1 B = (SAiBi)/A

  12. Previous work • Progressive refinement [CCWG88] • Lack of global error control • Memory used by links • Study by Willmott and Heckbert [WH97] • Getting rid of Links [SSSS98] • unshot radiosity • link cache

  13. Shooting Algorithm [SSSS98] • Shooting algorithm DB0 = E (sources) DB0 = 0 (others) • Theoretically the same as standard algorithm • Convergence : global error

  14. Shooting algorithm B = 0 DB = 0 1 B = E DB = E B = 0 DB = 0 2

  15. 1st Iteration B = 0 DB = 0 1 B = E DB = 0 B = 2* I2 DB =2* I2 2

  16. 2nd iteration B = 1* I1 DB = 1* I1 1 B = E DB = 0 B = 2* I2 DB =0 2

  17. 3th iteration B = 1* I1 DB = 0 1 B = E DB = 0 B = 2* (I2 +I3) DB =2* I3 2

  18. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  19. Goals of New Framework • Reduce both link and hierarchy memory consumption • Low speed penalty • Maintain global representation

  20. New Framework for Memory Reduction • Goal • Keep only links needed in next iteration • Algorithm • Unshot radiosity [SSSS98] DB = Bi+1 - Bi • Merge radiosity steps • Traverse Link Hierarchy

  21. New Framework for Memory Reduction • Link Hierarchy and Traversal • Allows reduction of stored links • Reduce links creation number of links • Remove links where possible • Merge radiosity steps • Facilitates reduction of memory used by radiosity hierarchy • ...allows us to move links “higher” in the hierarchy • Enables effective memory control mechanism

  22. Link hierarchy [DS97] Is the father of • Active link = hierarchy leaf • Passive link = hierarchy node

  23. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  24. Link Memory Reduction • Only create links when needed • Merge Refine and Gather • Creation Criterion: • First approach : Don’t store links from sources • More sophisticated approaches possible • Control link creation using a cache mechanism • Predict link utility in future iterations

  25. Refine And Gather - schema source create create create gather gather gather create and gather create and gather refine refine • Active link = hierarchy leaf • Passive link = hierarchy node

  26. Link reduction summary • New approach reduces memory used by links • No overall control of memory • Now, hierarchy uses most of the memory

  27. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  28. Hierarchy storage reduction • Goal: reduce memory during refinement • Otherwise we cannot control overall memory usage • Full recursion on link hierarchy • Refine, Gather and Push Pull method • Hierarchy simplification

  29. Refine, Gather And PushPull • We have to do only one PushPull • For each hierarchy element • For each iteration • Receiver refinement • Refine gather and push pull on each child • Source refinement • Refine gather and push pull on last child • Else refine gather • Replace hierarchy on which no links arrive

  30. Refine Gather and PushPull source gather refine and push pull refine and push pull gather and push pull gather and push pull create and gather create and gather + push pull • Active link = hierarchy leaf • Passive link = hierarchy node

  31. Refine Gather and PushPull source create replacement • Active link = hierarchy leaf • Passive link = hierarchy node

  32. Texture replacement + 

  33. Hierarchy reduction summary • Advantages • Reduce subdivision due to direct light • But • still a memory peak • Need a mechanism to limit memory

  34. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  35. Memory control mechanism • Control link memory • Move links higher in the element hierarchy • Increase texture replacement • “Cache”-like test • Estimate the expected depth of Link hierarchy

  36. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  37. Tests scenes Medium hall 4 blocks - 169 K Polygons

  38. Tests scenes Simple hall 2 blocks - 65 K polygons complex hall 16 blocks - 676 K polygons

  39. Memory used by HRC

  40. New algorithm (texture replacement)

  41. Cluster reduction

  42. Overview • Motivation and Previous Work • New Framework • Reduce memory used by links • Reduce memory used by hierarchy • Memory Control Mechanism • Results • Conclusion

  43. Summary • New framework for controlling memory • Using Link Hierarchy • Merge all steps of the radiosity solution • Memory control mechanism • Change => Use memory where it’s needed

  44. Future Work • Store part of hierarchy on disk • load only the parts needed in memory • Better representation for simplified clusters • image based rendering • volumetric primitives • multi-resolution geometric simplification • More sophisticated memory control mechanisms • take the memory of hierarchy into account

More Related