High-Performance Graphics 2017
Permanent URI for this collection
Browse
Browsing High-Performance Graphics 2017 by Subject "Computing methodologies"
Now showing 1 - 13 of 13
Results Per Page
Sort Options
Item Accelerated Single Ray Tracing for Wide Vector Units(ACM, 2017) Fuetterling, Valentin; Lojewski, Carsten; Pfreundt, Franz-Josef; Hamann, Bernd; Ebert, Achim; Vlastimil Havran and Karthik VaiyanathanUtilizing the vector units of current processors for ray tracing single rays through Bounding Volume Hierarchies has been accomplished by increasing the branching factor of the acceleration structure to match the vector width. A high branching factor allows vectorized bounding box tests but requires a complex control flow for the calculation of a front-to-back traversal order. We propose a novel algorithm for single rays entirely based on vector operations that performs a complete traversal iteration in constant time, ideally suited for current and future micro architectures featuring wide vector units. In addition we use our single ray technique as a building block to construct a fast packet traversal for coherent rays. We validate our algorithms with implementations utilizing the AVX2 and AVX-512 instruction sets and demonstrate significant performance gains over state-of-the-art solutions.Item Dual Streaming for Hardware-Accelerated Ray Tracing(ACM, 2017) Shkurko, Konstantin; Grant, Tim; Kopta, Daniel; Mallett, Ian; Yuksel, Cem; Brunvand, Erik; Vlastimil Havran and Karthik VaiyanathanHardware acceleration for ray tracing has been a topic of great interest in computer graphics. However, even with proposed custom hardware, the inherent irregularity in the memory access pattern of ray tracing has limited its performance, compared with rasterization on commercial GPUs. We provide a different approach to hardware-accelerated ray tracing, beginning with modifying the order of rendering operations, inspired by the streaming character of rasterization. Our dual streaming approach organizes the memory access of ray tracing into two predictable data streams. The predictability of these streams allows perfect prefetching and makes the memory access pattern an excellent match for the behavior of DRAM memory systems. By reformulating ray tracing as fully predictable streams of rays and of geometry we alleviate many long-standing problems of high-performance ray tracing and expose new opportunities for future research. Therefore, we also include extensive discussions of potential avenues for future research aimed at improving the performance of hardware-accelerated ray tracing using dual streaming.Item An Efficient Denoising Algorithm for Global Illumination(ACM, 2017) Mara, Michael; McGuire, Morgan; Bitterli, Benedikt; Jarosz, Wojciech; Vlastimil Havran and Karthik VaiyanathanWe propose a hybrid ray-tracing/rasterization strategy for real- time rendering enabled by a fast new denoising method. We factor global illumination into direct light at rasterized primary surfaces and two indirect lighting terms, each estimated with one path- traced sample per pixel. Our factorization enables efficient (biased) reconstruction by denoising light without blurring materials. We demonstrate denoising in under 10 ms per 1280 × 720 frame, compare results against the leading offline denoising methods, and include a supplement with source code, video, and data.Item Efficient Incoherent Ray Traversal on GPUs Through Compressed Wide BVHs(ACM, 2017) Ylitie, Henri; Karras, Tero; Laine, Samuli; Vlastimil Havran and Karthik VaiyanathanWe present a GPU-based ray traversal algorithm that operates on compressed wide BVHs and maintains the traversal stack in a compressed format. Our method reduces the amount of memory traffic significantly, which translates to 1.9-2.1 × improvement in incoherent ray traversal performance compared to the current state of the art. Furthermore, the memory consumption of our hierarchy is 35-60% of a typical uncompressed BVH. In addition, we present an algorithmically efficient method for converting a binary BVH into a wide BVH in a SAH-optimal fashion, and an improved method for ordering the child nodes at build time for the purposes of octant-aware fixed-order traversal.Item Exploiting Budan-Fourier and Vincent's Theorems for Ray Tracing 3D Bézier Curves(ACM, 2017) Reshetov, Alexander; Vlastimil Havran and Karthik VaiyanathanWe present a new approach to finding ray-cubic Bézier curve intersections by leveraging recent achievements in polynomial studies. Compared with the state-of-the-art adaptive linearization, it increases performance by 5-50 times, while also improving the accuracy by 1000X. Our algorithm quickly eliminates parts of the curve for which the distance to the given ray is guaranteed to be bigger than a model-specific threshold (maximum curve's half-width). We then reduce the interval with the isolated distance minimum even further and apply a single iteration of a non-linear root-finding technique (Ridders' method).Item Improved Two-Level BVHs Using Partial Re-Braiding(ACM, 2017) Benthin, Carsten; Woop, Sven; Afra, Attila T.; Wald, Ingo; Vlastimil Havran and Karthik VaiyanathanWe propose a novel approach for improving the quality of two-level BVHs (i.e., a two-level data structure that uses a top-level BVH built over second-level object BVHs). After building an individual, high-quality BVH for each object, our new top-level BVH build approach selectively re-braids (opens and merges) object BVHs during the build process to reduce overlap and improve SAH quality. We demonstrate that compared to the two main state-of-the-art techniques-brute-force re-construction of a single, flat BVH; and building a traditional two-level BVH over objects, respectively-the proposed approach achieves build times significantly faster than the former, while simultaneously yielding traversal performance that is much higher than the latter.Item Interactive Stable Ray Tracing(ACM, 2017) Corso, Alessandro Dal; Salvi, Marco; Kolb, Craig; Frisvad, Jeppe Revall; Lefohn, Aaron; Luebke, David; Vlastimil Havran and Karthik VaiyanathanInteractive ray tracing applications running on commodity hard- ware can su er from objectionable temporal artifacts due to a low sample count. We introduce stable ray tracing, a technique that improves temporal stability without the over-blurring and ghosting artifacts typical of temporal post-processing lters. Our technique is based on sample reprojection and explicit hole lling, rather than relying on hole- lling heuristics that can compromise image quality. We make reprojection practical in an interactive ray tracing context through the use of a super-resolution bitmask to estimate screen space sample density. We show signi cantly improved temporal stability as compared with supersampling and an existing reprojec- tion techniques. We also investigate the performance and image quality di erences between our technique and temporal antialias- ing, which typically incurs a signi cant amount of blur. Finally, we demonstrate the bene ts of stable ray tracing by combining it with progressive path tracing of indirect illumination.Item Mesh Color Textures(ACM, 2017) Yuksel, Cem; Vlastimil Havran and Karthik VaiyanathanThe fundamental limitations of texture mapping has been a long standing problem in computer graphics. The cost of defining and maintaining texture coordinates and the seams that introduce various filtering inconsistencies lead some graphics applications to adapt alternative techniques that directly address these problems, such as mesh colors. However, alternatives to texture mapping introduce run-time cost that contradicts with the performance constraints of real-time graphics applications. In this paper we introduce mesh color textures that offer all benefits of mesh colors to real-time graphics applications with strict performance constraints. Mesh color textures convert the mesh color data to a format that can be efficiently used by the texture filtering hardware on current GPUs. Utilizing a novel 4D texture coordinate formulation, mesh color textures can provide correct filtering for all mipmap levels and eliminate artifacts due to seams. We show that mesh color textures introduce negligible run-time cost with no discontinuity in texture filtering. We also discuss potential future modifications to graphics hardware and API that would further simplify the use of mesh color textures in real-time graphics applications.Item Non-Linearly Quantized Moment Shadow Maps(ACM, 2017) Peters, Christoph; Vlastimil Havran and Karthik VaiyanathanMoment shadow maps enable direct filtering to accomplish proper antialiasing of dynamic hard shadows. For each texel, the moment shadow map stores four powers of the depth in either 64 or 128 bits. After filtering, this information enables a heuristic reconstruction. However, the rounding errors introduced at 64 bits per texel necessitate a bias that strengthens light leaking artifacts noticeably. In this paper, we propose a non-linear transform which maps the four moments to four quantities describing the depth distribution more directly. These quantities can then be quantized to a total of 32 or 64 bits. At 64 bits, the results are virtually indistinguishable from moment shadow mapping at 128 bits per texel. Even at 32 bits, there is hardly any additional light leaking but banding artifacts may occur. At the same time, the computational overhead for the reconstruction is reduced. As a prerequisite for the use of these quantization schemes, we propose a compute shader that applies a resolve for a multisampled shadow map and a 92 two-pass Gaussian filter in shared memory. The quantized moments are written back to device memory only once at the very end. This approach makes our technique roughly as fast as variance shadow mapping with 32 bits per texel. Since hardware-accelerated bilinear filtering is incompatible with non-linear quantization, we employ blue noise dithering as inexpensive alternative to manual bilinear filtering.Item Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path Traced Global Illumination(ACM, 2017) Schied, Christoph; Kaplanyan, Anton; Wyman, Chris; Patney, Anjul; Chaitanya, Chakravarty Reddy Alla; Burgess, John; Liu, Shiqiu; Dachsbacher, Carsten; Lefohn, Aaron; Salvi, Marco; Vlastimil Havran and Karthik VaiyanathanWe introduce a reconstruction algorithm that generates a tempo- rally stable sequence of images from one path-per-pixel global illumination. To handle such noisy input, we use temporal accu- mulation to increase the e ective sample count and spatiotemporal luminance variance estimates to drive a hierarchical, image-space wavelet filter [Dammertz et al.2010]. This hierarchy allows us to distinguish between noise and detail at multiple scales using local luminance variance. Physically based light transport is a long-standing goal for real- time computer graphics. While modern games use limited forms of ray tracing, physically based Monte Carlo global illumination does not meet their30 Hzminimal performance requirement. Looking ahead to fully dynamic real-time path tracing, we expect this to only be feasible using a small number of paths per pixel. As such, image reconstruction using low sample counts is key to bringing path tracing to real-time. When compared to prior interactive reconstruction lters, our work gives approximately 10×more temporally stable results, matches reference images 5-47% be er (according to SSIM), and runs in just10 ms(±15%) on modern graphics hardware at 1920×1080 resolution.Item STBVH: A Spatial-Temporal BVH for Efficient Multi-Segment Motion Blur(ACM, 2017) Woop, Sven; Afra, Attila T.; Benthin, Carsten; Vlastimil Havran and Karthik VaiyanathanWe present the STBVH, a newapproach for rendering multi-segment motion blur using a bounding volume hierarchy (BVH) that stores both spatial linearly interpolated bounds and temporal bounds. The approach is designed for different number of time steps per mesh or object. While separating the individual meshes using standard partitioning techniques, it performs temporal splits for locations with large or curved motion inside the meshes. Our approach uses a modified motion blur surface area heuristic (MBSAH) that calculates probabilities in the presence of spatial-temporal bounds and works on linear motion segments of primitives rather than on full motion curves. We show that our approach is able to handle challenging scenes with varying degrees of motion blur per mesh, using significantly less memory and having competitive rendering performance compared to building separate linear motion blur BVHs per global time segment.Item Timeline Scheduling for Out-of-Core Ray Batching(ACM, 2017) Son, Myungbae; Yoon, Sung- Eui; Vlastimil Havran and Karthik VaiyanathanWe present a timeline based scheduling method for Monte Carlo ray tracing of out-of-core models on distributed memory clusters. We abstract different setups of various compute and memory devices into a graph-based representation, and estimate the time for job execution and data transfer in a simple timing model. Our scheduler allocates not only jobs to processors, but also data transfers to memory channels. This approach allows us to control the I/O overload, which is the principal bottleneck in rendering massivescale scenes. To manage dependencies of data transfers and data intensive jobs, each job and data transfer is arranged on the timeline with dependency relations. Based on this model, our scheduler aims to increase data locality by allocating a job that takes the least time to fetch required data on a given compute device. This goal is achieved by optimizing the data transfer path to maximize latency hiding effects. We have implemented a path tracer on our framework and tested massive models up to 500Mtriangles. Compared to prior state-of-the-art scheduling techniques, our renderer achieved higher horizontal scalability on flexible device configurations.Item Vectorized Production Path Tracing(ACM, 2017) Lee, Mark; Green, Brian; Xie, Feng; Tabellion, Eric; Vlastimil Havran and Karthik VaiyanathanThis paper presents MoonRay, a high performance production rendering architecture using Monte Carlo path tracing developed at DreamWorks Animation. MoonRay is the first production path tracer, to our knowledge, designed to fully leverage Single Instruction/ Multiple Data (SIMD) vector units throughout. To achieve high SIMD efficiency, we employ Embree for tracing rays and vectorize the remaining compute intensive components of the renderer: the integrator, the shading system and shaders, and the texturing engine. Queuing is used to help keep all vector lanes full and improve data coherency.We use the ISPC programming language [Intel 2011; Pharr and Mark 2012] to achieve improved performance across SSE, AVX/AVX2 and AVX512 instruction sets. Our system includes two functionally equivalent uni-directional CPU path tracing implementations: a C++ scalar depth-first version and an ISPC vectorized breadth-first wavefront version. Using side by side performance comparisons on complex production scenes and assets we show our vectorized architecture, running on AVX2, delivers between a 1.3× to 2.3× speed-up in overall render time, and up to 3×, 6×, and 4×, speed-ups within the integration, shading, and texturing components, respectively.