TY - CHAP A1 - Selgrad, Kai A1 - Lier, Alexander A1 - Köferl, Franz A1 - Stamminger, Marc A1 - Lohmann, Daniel ED - Kästner, Christian ED - Gokhālé, Anirüddhā T1 - Lightweight, Generative Variant Exploration for High-performance Graphics Applications T2 - GPCE'15 : Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences ; October 26-27, 2015, Pittsburgh, PA, USA N2 - Rendering performance is an everlasting goal of computer graphics and significant driver for advances in both, hardware architecture and algorithms. Thereby, it has become possible to apply advanced computer graphics technology even in low-cost embedded appliances, such as car instruments. Yet, to come up with an efficient implementation, developers have to put enormous efforts into hardware/problem-specific tailoring, fine-tuning, and domain exploration, which requires profound expert knowledge. If a good solution has been found, there is a high probability that it does not work as well with other architectures or even the next hardware generation. Generative DSL-based approaches could mitigate these efforts and provide for an efficient exploration of algorithmic variants and hardware-specific tuning ideas. However, in vertically organized industries, such as automotive, suppliers are reluctant to introduce these techniques as they fear loss of control, high introduction costs, and additional constraints imposed by the OEM with respect to software and tool-chain certification. Moreover, suppliers do not want to share their generic solutions with the OEM, but only concrete instances. To this end, we propose a light-weight and incremental approach for meta programming of graphics applications. Our approach relies on an existing formulation of C-like languages that is amenable to meta programming, which we extend to become a lightweight language to combine algorithmic features. Our method provides a concise notation for meta programs and generates easily sharable output in the appropriate C-style target language. KW - exploratory programming KW - general purpose code generation KW - prototyping KW - ray tracin Y1 - 2015 UR - https://selgrad.org/publications/2015_gpce_SLKSL.pdf SN - 978-1-4503-3687-1 SP - 141 EP - 150 PB - ACM CY - New York, USA ER - TY - CHAP A1 - Lier, Alexander A1 - Martinek, Magdalena A1 - Stamminger, Marc A1 - Selgrad, Kai T1 - A High-Resolution Compression Scheme for Ray Tracing Subdivision Surfaces with Displacement T2 - Proceedings of the ACM on Computer Graphics and Interactive Techniques N2 - Subdivision surfaces, especially with displacement, are one of the key modeling primitives used in high-quality rendering environments, such as, e.g., movie production. While their use easily maps to rasterization-based frameworks, they pose a significant challenge for ray tracing environments. This is due to the fact that incoherent access patterns require storing or caching fully tessellated and displaced meshes for efficient intersection computations. In this paper we use a two-tier hierarchy built on a scene's patches. It relies on compressed and quantized bounding volumes on the second tier to reduce the size of the BVH itself. Based on this acceleration structure, we propose a quantized, compact approximation for leaf nodes while being faithful to the underlying patch-geometry. We build on recent advances and present a system that shows competitive performance regarding run-time speed, which is close to full-resolution pre-tessellation methods as well as to previous compression approaches. Ultimately, we provide strong compression of up to a factor of 5: 1 compared to state-of-the-art methods while maintaining high geometrical fidelity surpassing similarly compact approximations and getting close to uncompressed geometry. KW - Displacement Mapping KW - omputing methodologies KW - Parametric curve and surface models KW - Production Rendering KW - ray tracing KW - Subdivision Surfaces Y1 - 2018 U6 - https://doi.org/10.1145/3233308 VL - 1 IS - 2 SP - 1 EP - 17 PB - The Association for Computers in Mathematics and Science Teaching ER - TY - CHAP A1 - Selgrad, Kai A1 - Lier, Alexander A1 - Dörntlein, Jan A1 - Reiche, Oliver A1 - Stamminger, Marc ED - Durand, Irène T1 - A High-Performance Image Processing DSL for Heterogeneous Architectures T2 - Proceedings of the 9th European Lisp Symposium (ELS 2016), Krakow, Poland N2 - Over the last decade a number of high performance, domain-specific languages (DSLs) have started to grow and help tackle the problem of ever diversifying hard- and software employed in fields such as HPC (high performance computing), medical imaging, computer vision etc. Most of those approaches rely on frameworks such as LLVM for efficient code generation and, to reach a broader audience, take input in C-like form. In this paper we present a DSL for image processing that is on-par with competing methods, yet its design principles are in strong contrast to previous approaches. Our tool chain is much simpler, easing the burden on implementors and maintainers, while our output, C-family code, is both adaptable and shows high performance. We believe that our methodology provides a faster evaluation of language features and abstractions in the domains above. KW - Common Lisp KW - Domain Specific Langauges KW - Generative Programming KW - Meta Programming Y1 - 2016 UR - https://selgrad.org/publications/2016_els_SLDRS.pdf SN - 978-2-9557474-0-7 SP - 39 EP - 46 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Lier, Alexander A1 - Franke, Linus A1 - Stamminger, Marc A1 - Selgrad, Kai ED - Durand, Irène T1 - A Case Study in Implementation-Space Exploration T2 - Proceedings of the 9th European Lisp Symposium (ELS 2016) ; AGH University of Science and Technology, Kraków, Poland, May 9 - 10, 2016 N2 - In this paper we show how a feature-oriented development methodology can be exploited to investigate a large set of possible implementations for a real-time rendering algorithm. We rely on previously published work to explore potential dimensions of the implementation space of an algorithm to be run on a graphics processing unit (GPU) using CUDA. The main contribution of our paper is to provide a clear example of the benefit to be gained from existing methods in a domain that only slowly moves toward higher level abstractions. Our method employs a generative approach and makes heavy use of Common Lisp-macros before the code is ultimately transformed to CUDA. Y1 - 2016 UR - https://selgrad.org/publications/2016_els_LFSS.pdf SN - 978-2-9557474-0-7 SP - 83 EP - 90 PB - ACM CY - New York, NY, USA ER - TY - JOUR A1 - Selgrad, Kai A1 - Lier, Alexander A1 - Martinek, Magdalena A1 - Buchenau, Christoph A1 - Guthe, Michael A1 - Kranz, Franziska A1 - Schäfer, Henry A1 - Stamminger, Marc T1 - A Compressed Representation for Ray Tracing Parametric Surfaces JF - ACM Transactions on Graphics N2 - Parametric surfaces are an essential modeling tool in computer aided design and movie production. Even though their use is well established in industry, generating ray-traced images adds significant cost in time and memory consumption. Ray tracing such surfaces is usually accomplished by subdividing the surfaces on-the-fly, or by conversion to a polygonal representation. However, on-the-fly subdivision is computationally very expensive, whereas polygonal meshes require large amounts of memory. This is a particular problem for parametric surfaces with displacement, where very fine tessellation is required to faithfully represent the shape. Hence, memory restrictions are the major challenge in production rendering. In this paper, we present a novel solution to this problem. We propose a compression scheme for a-priori Bounding Volume Hierarchies (BVHs) on parametric patches, that reduces the data required for the hierarchy by a factor of up to 48. We further propose an approximate evaluation method that does not require leaf geometry, yielding an overall reduction of memory consumption by a factor of 60 over regular BVHs on indexed face sets and by a factor of 16 over established state-of-the-art compression schemes. Alternatively, our compression can simply be applied to a standard BVH while keeping the leaf geometry, resulting in a compression rate of up to 2:1 over current methods. Although decompression generates additional costs during traversal, we can manage very complex scenes even on the memory restrictive GPU at competitive render times. KW - Production Rendering KW - Subdivision Surfaces KW - Displacement Mapping KW - Ray Tracing Y1 - 2016 U6 - https://doi.org/10.1145/2953877 VL - 36 IS - 1 SP - 1 EP - 13 PB - ACM CY - New York, NY, USA ER - TY - JOUR A1 - Franke, Linus A1 - Fink, Laura A1 - Martschinke, Jana A1 - Selgrad, Kai A1 - Stamminger, Marc T1 - Time-Warped Foveated Rendering for Virtual Reality Headsets JF - Computer Graphics Forum N2 - Rendering in real time for virtual reality headsets with high user immersion is challenging due to strict framerate constraints as well as due to a low tolerance for artefacts. Eye tracking-based foveated rendering presents an opportunity to strongly increase performance without loss of perceived visual quality. To this end, we propose a novel foveated rendering method for virtual reality headsets with integrated eye tracking hardware. Our method comprises recycling pixels in the periphery by spatio-temporally reprojecting them from previous frames. Artefacts and disocclusions caused by this reprojection are detected and re-evaluated according to a confidence value that is determined by a newly introduced formalized perception-based metric, referred to as confidence function. The foveal region, as well as areas with low confidence values, are redrawn efficiently, as the confidence value allows for the delicate regulation of hierarchical geometry and pixel culling. Hence, the average primitive processing and shading costs are lowered dramatically. Evaluated against regular rendering as well as established foveated rendering methods, our approach shows increased performance in both cases. Furthermore, our method is not restricted to static scenes and provides an acceleration structure for post-processing passes. KW - immersive VR KW - perceptually based rendering KW - real-time rendering KW - rendering KW - virtual environments Y1 - 2021 U6 - https://doi.org/10.1111/cgf.14176 VL - 40 IS - 1 SP - 110 EP - 123 PB - Wiley ER - TY - CHAP A1 - Franke, Linus A1 - Hofmann, Nikolai A1 - Stamminger, Marc A1 - Selgrad, Kai T1 - Multi-Layer Depth of Field Rendering with Tiled Splatting T2 - Proceedings of the ACM on Computer Graphics and Interactive Techniques N2 - In this paper we present a scattering-based method to compute high quality depth of field in real time. Relying on multiple layers of scene data, our method naturally supports settings with partial occlusion, an important effect that is often disregarded by real time approaches. Using well-founded layer-reduction techniques and efficient mapping to the GPU, our approach out-performs established approaches with a similar high-quality feature set. Our proposed algorithm works by collecting a multi-layer image, which is then directly reduced to only keep hidden fragments close to discontinuities. Fragments are then further reduced by merging and then splatted to screen-space tiles. The per-tile information is then sorted and accumulated in order, yielding an overall approach that supports partial occlusion as well as properly ordered blending of the out-of-focus fragments. KW - Computer graphics KW - rasterization KW - rendereing KW - visibility Y1 - 2018 U6 - https://doi.org/10.1145/3203200 VL - 1 IS - 1 SP - 1 EP - 17 PB - Association for Computing Machinery (ACM) CY - New York, NY, USA ER - TY - CHAP A1 - Selgrad, Kai A1 - Franke, Linus A1 - Stamminger, Marc ED - Gonzaga Magalhães, Luis ED - Mantiuk, Rafal T1 - Tiled Depth of Field Splatting T2 - EUROGRAPHICS 2016 (EG 2016) : Lisbon, Portugal, May 9th-13th, 2016 ; Posters N2 - We present a method to compute post-processing depth of field (DOF) that produces more accurate results than previous approaches. Our method is based on existing approaches, namely DOF rendering by splatting and fast, tile-based particle accumulation. Using tile-based accumulation allows us to correctly sort out of focus pixels and apply proper alpha-blending to avoid artifacts commonly encountered with filter-based depth of field methods. KW - Computer graphics KW - Display algorithms KW - Image Generation Y1 - 2016 U6 - https://doi.org/10.2312/egp.20161056 SP - 39 EP - 40 PB - The Eurographics Association ER - TY - CHAP A1 - Hofmann, Nikolai A1 - Bogendörfer, Phillip A1 - Stamminger, Marc A1 - Selgrad, Kai T1 - Hierarchical Multi-layer Screen-space Ray Tracing T2 - Proceedings of High Performance Graphics (HPG '17), July 28 - 30, 2017, Los Angeles California N2 - In this paper we present a method for fast screen-space ray tracing. Single-layer screen-space ray marching is an established tool in high-performance applications, such as games, where plausible and appealing results are more important than strictly correct ones. However, even in such tightly controlled environments, missing scene information can cause visible artifacts. This can be tackled by keeping multiple layers of screen-space information, but might not be afforable on severely limited time-budgets. Traversal speed of single-layer ray marching is commonly improved by multi-resolution schemes, from sub-sampling to stepping through mip-maps to achieve faster frame rates. We show that by combining these approaches, keeping multiple layers and tracing on multiple resolutions, images of higher quality can be computed rapidly. Figure 1 shows this for two scenes with multi-bounce reflections that would show strong artifacts when using only a single layer. KW - Multi-Layer KW - real-time rendering KW - Screen-Space Ray Tracing Y1 - 2017 SN - 978-1-4503-5101-0 U6 - https://doi.org/10.1145/3105762.3105781 SP - 1 EP - 10 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Nießner, Matthias A1 - Kuhnert, Nadine A1 - Selgrad, Kai A1 - Stamminger, Marc A1 - Michelson, Georg T1 - Real-time Simulation of Human Vision using Temporal Compositing with CUDA on the GPU T2 - Proceedings 25th Workshop on Parallel Systems and Algorithms 2013 (PARS) ; April 11-12, 2013, Erlangen, Germany N2 - We present a novel approach that simulates human vision including visual defects such as glaucoma by temporal composition of human vision in real-time on the GPU. Therefore, we determine eye focus points every time step and adapt the lens accommodation of our virtual eye model accordingly. The focal distance is then used to determine bluriness of observed scene regions; i.e., we compute defocus for all visible pixels. In order to simulate the visual memory we introduce a sharpness field where we integrate defocus values temporally. That allows for memorizing sharply perceived scene points. For visualization, we ray trace the virtual scene environment while incorporating depth of field based on the sharpness field data. Thus, our algorithm facilitates the simulation of human vision mimicing the visual memory. We consider this to be particularly useful for illustration purposes for patients with visual defects such as glaucoma. In order to run our algorithm in real-time we employ massively parallel graphics hardware. Y1 - 2013 UR - https://selgrad.org/publications/2013_pars_NKSSM.pdf ER - TY - CHAP A1 - Selgrad, Kai A1 - Reintges, Christian A1 - Penk, Dominik A1 - Wagner, Pascal A1 - Stamminger, Marc T1 - Real-time Depth of Field Using Multi-layer Filtering T2 - Proceedings of the 19th Symposium on Interactive 3D Graphics and Games (i3D '15), 27 February 2015 - 1 March 2015, San Francisco California N2 - We present a novel technique for rendering depth of field that addresses difficult overlap cases, such as close, but out-of-focus, geometry in the near-field. Such scene configurations are not managed well by state-of-the-art post-processing approaches since essential information is missing due to occlusion. Our proposed algorithm renders the scene from a single camera position and computes a layered image using a single pass by constructing per-pixel lists. These lists can be filtered progressively to generate differently blurred representations of the scene. We show how this structure can be exploited to generate depth of field in real-time, even in complicated scene constellations. KW - depth of field KW - real-time KW - layers KW - rendering Y1 - 2015 SN - 978-1-4503-3392-4 U6 - https://doi.org/10.1145/2699276.2699288 SP - 121 EP - 127 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Selgrad, Kai A1 - Müller, Jonas A1 - Reintges, Christian A1 - Stamminger, Marc ED - Eisemann, Elmar ED - Fiume, Eugene T1 - Fast Shadow Map Rendering for Many-Lights Settings T2 - Eurographics Symposium on Rendering - Experimental Ideas & Implementations N2 - n this paper we present a method to efficiently cull large parts of a scene prior to shadow map computations for many-lights settings. Our method is agnostic to how the light sources are generated and thus works with any method of light distribution. Our approach is based on previous work in culling for ray traversal to speed up area light sampling. Applied to shadow mapping our method works for high- and low-resolution shadow maps and, in contrast to previous work on many-lights rendering, does neither entail scene approximations nor imposes limits on light range, while still providing significant gains in performance. In contrast to standard culling methods shadow map rendering itself is sped up by a factor of 1.5 to 8.6 while the speedup of shadow map rendering, lookup and shading together ranges from 1.1 to 4.2 KW - shadowing and texture KW - Color KW - picture/image generation KW - shadin Y1 - 2016 SN - 978-3-03868-019-2 U6 - https://doi.org/10.2312/sre.20161208 SP - 41 EP - 48 PB - The Eurographics Association ER - TY - CHAP A1 - Selgrad, Kai A1 - Müller, Jonas A1 - Stamminger, Marc ED - Giachetti, Andrea ED - Biasotti, Silvia ED - Tarini, Marco T1 - Faster Ray-Traced Shadows for Hybrid Rendering of Fully Dynamic Scenes by Pre-BVH Culling T2 - Smart Tools and Apps for Graphics - Eurographics Italian Chapter Conference N2 - With ever increasing ray traversal and hierarchy construction performance the application of ray tracing to problems often tackled by rasterization-based algorithms is becoming a viable alternative. This is especially desirable as the ground truth for these algorithms is often determined by using ray tracing and thus directly applying it is the simplest way to generate images satisfying the reference. In this paper we propose a very efficient pre-process to speed up the construction and traversal of sub-optimal, but fast-to-build hierarchies used for interactive ray tracing and show how it can be applied to shadow rays in a hybrid environment, where ray tracing is used to sample area lights for scene positions found and shaded via rasterization. Y1 - 2015 SN - 978-3-905674-97-2 U6 - https://doi.org/10.2312/stag.20151295 PB - The Eurographics Association ER - TY - CHAP A1 - Lier, Alexander A1 - Selgrad, Kai A1 - Stamminger, Marc ED - Alberto Riva, T1 - DIY Meta Languages with Common Lisp T2 - Proceedings of the 10th European Lisp Symposium (ELS 2017), Vrije Universiteit Brussel, Brussels, Belgium, April, 3-4 2017 N2 - In earlier work we described C-Mera, an S-Expression to C-style code transformator, and how it can be used to provide high-level abstractions to the C-family of programming languages. In this paper we provide an in-depth description of its internals that would have been out of the scope of the earlier presentations. Œese implementation details are presented as a toolkit of general techniques for implementing similar meta languages on top of Common Lisp and illustrated on the example of C-Mera, with the goal of making our experience in implementing them more broadly available. KW - Macros KW - Code Generation KW - Common Lis KW - Meta Programmin Y1 - 2017 UR - https://selgrad.org/publications/2017_els_LSS.pdf SN - 978-2-9557474-1-4 SP - 72 EP - 79 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Selgrad, Kai A1 - Lier, Alexander A1 - Wittmann, Markus A1 - Lohmann, Daniel A1 - Stamminger, Marc T1 - Defmacro for C: Lightweight, Ad Hoc Code Generation T2 - Proceedings of ELS 2014 7th European Lisp Symposium ; May 5 - 6 2014, IRCAM, Paris, France N2 - We describe the design and implementation of CGen, a C code generator with support for Common Lisp-style macro expansion. Our code generator supports the simple and efficient management of variants, ad hoc code generation to capture reoccurring patterns, composable abstractions as well as the implementation of embedded domain specific languages by using the Common Lisp macro system. We demonstrate the applicability of our approach by numerous examples from small scale convenience macros over embedded languages to real-world applications in high-performance computing. KW - Meta Programming KW - Code Generation KW - Common Lisp KW - Configurability KW - Macro KW - Maintenance Y1 - 2014 UR - https://european-lisp-symposium.org/static/proceedings/2014.pdf SN - 2677-3465 SP - 80 EP - 87 ER - TY - CHAP A1 - Lier, Alexander A1 - Stamminger, Marc A1 - Selgrad, Kai T1 - CPU-Style SIMD Ray Traversal on GPUs T2 - Proceedings of the Conference on High-Performance Graphics N2 - In this paper we describe and evaluate an implementation of CPU-style SIMD ray traversal on the GPU. We show how spreading moderately wide BVHs (up to a branching factor of eight) across multiple threads in a warp can improve performance while not requiring expensive pre-processing. The presented ray-traversal method exhibits improved traversal performance especially for increasingly incoherent rays. KW - GPU KW - ray tracing KW - SIMD Y1 - 2018 SN - 9781450358965 U6 - https://doi.org/10.1145/3231578.3231583 SP - 1 EP - 4 PB - Association for Computing Machinery CY - New York, NY, USA ER -