[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-142098-105":3,"detail-sidebar-cat-0-en-105":81,"doc-detail-142098-en":131},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":74,"head_meta":76,"extra_data":78,"updated_unix":80},105,"en","coherent-out-of-core-point-based-global-illumination-janne-kontkanen-eric-tabelliony-ryan-s-overbeck","Coherent Out-of-Core Point-Based Global Illumination - Janne Kontkanen - Eric Tabelliony - Ryan S. Overbeck","","Coherent out-of-core point-based global illumination (PBGI) and ambient occlusion techniques enable film-grade rendering of extremely complex scenes under tight memory limits. The approach preprocesses point data with a two-pass out-of-core octree build using an external 1D sort on Z-curve/Morton order and a sequential construction stream. Directional radiance is stored compactly in spherical harmonics coefficients, while final shading uses top-down traversal, on-demand paging, and a two-level LRU cache to minimize redundant I/O. Benchmarks demonstrate billion-point scenes rendered with small fixed memory caps.",{"@graph":14,"@context":73},[15,34,56],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/research-report/","Research & Report",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/coherent-out-of-core-point-based-global-illumination-janne-kontkanen-eric-tabelliony-ryan-s-overbeck/142098/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/coherent-out-of-core-point-based-global-illumination-janne-kontkanen-eric-tabelliony-ryan-s-overbeck/142098.png","ImageObject",300,407,{"name":42,"@type":43},"Lucas Martin","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-29","2026-08-25",true,{"@type":52,"interactionType":53,"userInteractionCount":55},"InteractionCounter",{"@type":54},"ViewAction",15,{"@type":57,"mainEntity":58},"FAQPage",[59,65,69],{"name":60,"@type":61,"acceptedAnswer":62},"What problem does the out-of-core PBGI approach solve?","Question",{"text":63,"@type":64},"It addresses the difficulty of storing dense point and octree data in-core for tremendously complex film scenes and avoids the extreme slowdown that a naive out-of-core extension would cause due to heavy I/O.","Answer",{"name":66,"@type":61,"acceptedAnswer":67},"How is the out-of-core octree built efficiently?",{"text":68,"@type":64},"The method sorts point data along a Z-curve using Morton codes with an external 1D-sort, then constructs the PBGI octree in a single sequential streaming pass over the sorted points.",{"name":70,"@type":61,"acceptedAnswer":71},"How does the system perform shading with limited memory?",{"text":72,"@type":64},"During final shading, it traverses the octree recursively with a depth-first order, loads only required pages of octree nodes and points on demand, and uses a two-level LRU cache to reduce redundant I/O across multiple processors.","https://schema.org",{"og:url":32,"og:type":75,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":77,"canonical":32},"index,follow",{"doc_id":79,"site_id":7},142098,1787675291,{"code":4,"msg":82,"data":83},"success",[84,88,92,96,101,106,111,115,120,123,127],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":85,"show_sort_weight":86,"slug":87},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":89,"show_sort_weight":90,"slug":91},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":93,"show_sort_weight":94,"slug":95},"Exam",70,"exam",{"id":97,"doc_module":4,"doc_module_name":25,"category_name":98,"show_sort_weight":99,"slug":100},5,"Comic",60,"comic",{"id":102,"doc_module":4,"doc_module_name":25,"category_name":103,"show_sort_weight":104,"slug":105},6,"Technology",50,"technology",{"id":107,"doc_module":4,"doc_module_name":25,"category_name":108,"show_sort_weight":109,"slug":110},7,"Healthcare",40,"healthcare",{"id":112,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":113,"slug":114},8,30,"research-report",{"id":116,"doc_module":4,"doc_module_name":25,"category_name":117,"show_sort_weight":118,"slug":119},9,"Religion & Spirituality",20,"religion-spirituality",{"id":118,"doc_module":4,"doc_module_name":25,"category_name":121,"show_sort_weight":118,"slug":122},"World Cup","world-cup",{"id":124,"doc_module":4,"doc_module_name":25,"category_name":125,"show_sort_weight":124,"slug":126},10,"Lifestyle","lifestyle",{"id":128,"doc_module":4,"doc_module_name":25,"category_name":129,"show_sort_weight":97,"slug":130},19,"General","general",{"code":4,"msg":82,"data":132},{"doc_id":79,"user_id":133,"nickname":42,"user_avatar":134,"doc_module":4,"category_id":112,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":135,"file_id":136,"file_url":137,"file_type":138,"file_size":139,"view_count":55,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":22,"language":140,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":12,"update_tm":80,"read_time":30,"preview_page_count":4},8796095360427,"https://ap-avatar.wpscdn.com/davatar_994ba38a5ba835b3df7d355c54d3ed8d","Coherent Out-of-Core Point-Based Global Illumination  \nJanne Kontkanen 􀀃 Eric Tabelliony Ryan S. Overbeckz  \nDreamWorks Animation  \n(a) “City” scene from the movie ”Kung Fu Panda 2”.  \n128 million points, 7 GB, octree build time: 4:18s.  \nPBGI shading for 3.2 million visible micropolygons: 6:23s. PBGI used for diffuse and glossy global illumination.  \n(b) “Forest” scene from the movie ”Shrek Forever After”.  \n927 million points, 51 GB, octree build time: 37:02s.  \nPBGI shading for 18.8 million visible micropolygons: 24:19s. PBGI used for ambient occlusion.  \nFigure 1: Two production scenes from DreamWorks Animation movies that were rendered using the out-of-core method described in this talk. Timings are given in mm:ss. Both scenes were built and shaded within a modest memory cap of 2 GB for (a) and 3 .1 GB for (b). In our talk, we show scenes of up to 1. 7 billion points (88 GB of data) built and shaded within a 2 GB memory cap.  \n1 Introduction  \nWe introduce a new set of techniques for coherent out-of-core point-based global illumination and ambient occlusion.  \nAs described in [Christensen 2008], point-based global illumination (PBGI) operates on a dense point representation of the scene. Points are diffusely shaded and are roughly distributed according to a micropolygon tessellation. An octree is constructed over the points, where each octree node describes the light reﬂected from the corresponding cluster of points to any direction. The reﬂected radiance is stored as spherical harmonics coefﬁcients to compactly capture directional variation. After the octree has been constructed, each micropolygon is shaded by ﬁrst selecting a set of octree nodes that deﬁne a suitable level of detail, and then accumulating the radiance stored in these nodes using a cube rasterizer.  \nPBGI is used in ﬁlm production to render tremendously complex scenes, therefore in-core storage of point and octree data structures quickly becomes a problem. Furthermore, a simple out-of-core extension of a classical top-down octree building algorithm would be extremely slow due to the large amount of I/O required. Our work addresses these problems and extends previous PBGI algorithms with efﬁcient out-of-core techniques. Using properties of a space-ﬁlling Z-curve, our octree build requires minimal I/O and additionally stores data on disk compactly and in coherent chunks. Later during shading, data is accessed using on-demand paging and caching. Our parallel system runs entirely within a small ﬁxed memory cap while handling extremely complex scenes, as shown in Figure 1 .  \n2 Out-of-Core Octree Build  \nOur primary contribution is an out-of-core octree build algorithm that is able to preprocess the point data in just two passes: an external 1D-sort and a sequential octree construction pass. Our method requires minimal amount of I/O and stores both the points and theoctree nodes coherently on disk. We ﬁrst sort the points along a Zcurve, based on their Morton code. Utilizing the well-known property that the Z-curve exactly follows the depth ﬁrst traversal [Mor-  \n© DreamWorks Animation, L. L.C. 2011. This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive version was published in Eurographics Conference on Rendering 2011 , [https://doi.org/10.1111/j.1467-8659.2011.01995.x](https://doi.org/10.1111/j.1467-8659.2011.01995.x).  \nton 1966], we build the PBGI octree in a single sequential streaming pass over the sorted points. This algorithm builds upon an N-body simulation method developed by Salmon and Warren [1997] . We also introduce a technique to organize the octree nodes into coherent chunks at no additional cost, which can improve the ﬁnal out-of-core shading performance more than 4􀀂 .  \n3 Out-of-Core Shading  \nDuring the ﬁnal shading, we shade each visible micropolygon by choosing the suitable level of detail from the out-of-core octree. We perform a top-down recursive depth-ﬁrst traversal o","cbCaia51aeiaK40N","https://ap.wps.com/l/cbCaia51aeiaK40N","pdf",2169589,"English","# Introduction\n# Out-of-Core Octree Build\n# Out-of-Core Shading\n# Conclusion","[{\"question\":\"What problem does the out-of-core PBGI approach solve?\",\"answer\":\"It addresses the difficulty of storing dense point and octree data in-core for tremendously complex film scenes and avoids the extreme slowdown that a naive out-of-core extension would cause due to heavy I/O.\"},{\"question\":\"How is the out-of-core octree built efficiently?\",\"answer\":\"The method sorts point data along a Z-curve using Morton codes with an external 1D-sort, then constructs the PBGI octree in a single sequential streaming pass over the sorted points.\"},{\"question\":\"How does the system perform shading with limited memory?\",\"answer\":\"During final shading, it traverses the octree recursively with a depth-first order, loads only required pages of octree nodes and points on demand, and uses a two-level LRU cache to reduce redundant I/O across multiple processors.\"}]","Coherent Out-of-Core Point-Based Global Illumination - Janne Kontkanen - Eric Tabelliony - Ryan S. Overbeck | PDF"]