Publications and Presentations
Succinct Opacity Micromaps
High-Performance Graphics - Paper (Denver, Colorado, July 26-28 2024)
Proceedings of the ACM on Computer Graphics and Interactive Techniques, Volume 7, Issue 3
@article{10.1145/3675385, author = {Waldemarson, Gustaf and Doggett, Michael}, title = {Succinct Opacity Micromaps}, year = {2024}, issue_date = {August 2024}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, volume = {7}, number = {3}, url = {https://doi.org/10.1145/3675385}, doi = {10.1145/3675385}, abstract = {Alpha masked geometry such as foliage has long been one of the trickier things to render efficiently, both for rasterization based approaches and for hardware accelerated ray-tracing. Recently, a new type of primitive was introduced to the Vulkan® and DirectX® ray-tracing APIs that promises to alleviate this issue: Opacity Micromaps, a structure that uses a bit of extra memory as hints to the pipeline when it should actually call the AnyHit-shader. In this paper, we extend this primitive with a novel compression method that uses the concept of succinct 4-way trees to reduce the memory footprint by up to 110 times, including an algorithm for looking up micromap values directly from this compressed form. Further, we perform a comprehensive analysis of the generated micromaps to demonstrate their performance in terms of both memory footprint and frame render time compared to a number of similar structures. Finally, we highlight some aspects of the extension that developers and artists should be aware of to make the most out of it.}, journal = {Proc. ACM Comput. Graph. Interact. Tech.}, month = {aug}, articleno = {45}, numpages = {18}, keywords = {Compression, Opacity Micromaps, Ray Tracing} }
PBRT: Create your own Importers and Exporters
Blender is arguably one of the best tools for performing a wide variety graphics work, and while Eevee and Cycles are great renderers, sometimes it is desirable to create a more specialized rendering engine for some particular task. However, getting data into these engines can sometimes be challenging. Thus, in this talk I will present some of the work I have done to connect Blender with the well known research renderer: PBRT, allowing Blender to export scenes in the native PBRT format or import existing PBRT scenes into Blender for further editing. Furthermore, this work should be easily adaptable such that you can use it you create your own importer, exporter or even renderer if you want to!
@online{waldemarsonBCON24, title = {PBRT: Create your own Importers and Exporters}, year = {2024}, organization = {The Blender Foundation, Youtube}, author = {Gustaf Waldemarson}, url = {https://youtu.be/BEbscsBRIx0}, }
Handling Custom Data in glTF Files with Exporter/Importer Plugins
Blender is arguably one of the best tools for developing a wide variety of assets, and glTF is often a good export format for real-time graphics applications given how much of it supports and how extensible it is. However, handling glTF files with application specific content is still somewhat tricky in Blender, often requiring pretty deep knowledge of both the glTF format and the Blender scripting API.
During this presentation, the basic developer view of the glTF Blender IO add-on is presented with a focus on using it to create custom importer and exporters plugins to extract or embed almost arbitrary data from or into glTF files.
@online{waldemarsonBCON23, title = {Handling Custom Data in glTF Files with Exporter/Importer Plugins}, year = {2023}, organization = {The Blender Foundation, Youtube}, author = {Gustaf Waldemarson}, url = {https://youtu.be/4fBGM8qc21M?t=1783}, }
Photon Mapping Superluminal Particles
@inproceedings {s.20201004, booktitle = {Eurographics 2020 - Short Papers}, editor = {Wilkie, Alexander and Banterle, Francesco}, title = {{Photon Mapping Superluminal Particles}}, author = {Waldemarson, Gustaf and Doggett, Michael}, year = {2020}, publisher = {The Eurographics Association}, ISSN = {1017-4656}, ISBN = {978-3-03868-101-4}, DOI = {10.2312/egs.20201004} }