Explore chapters and articles related to this topic
HDR Pipeline
Published in Francesco Banterle, Alessandro Artusi, Kurt Debattista, Alan Chalmers, Advanced High Dynamic Range Imaging, 2017
Francesco Banterle, Alessandro Artusi, Kurt Debattista, Alan Chalmers
Ray tracing. Ray tracing [417] models the geometric properties of light by calculating the interactions of groups of photons, termed rays, with geometry. This technique can reproduce complex visual effects. Rays are shot from the virtual camera and traverse the scene until the closest object is hit; see Figure 2.13(a). Here the material properties of the object at that point are used to calculate the illumination, and a ray is shot toward any light sources to account for shadow visibility. The material properties at the intersection point further dictate in which direction reflected/transmitted rays need to be shot; the process is computed recursively. Due to its recursive nature, ray tracing and extensions of the basic algorithm, such as path tracing and distributed ray tracing, are naturally suited to solving the rendering equation [186], which describes the transport of light within an environment. Ray tracing methods can thus simulate effects such as shadows, reflections, refractions, indirect lighting, subsurface scattering, caustics, motion blur, indirect lighting, and others in a straightforward manner. While ray tracing is computationally expensive, recent algorithmic and hardware advances are making it possible to compute it at interactive rates for dynamic scenes [54,300].
Computer Technology Primer
Published in Michael M. A. Mirabito, Barbara L. Morgenstern, Mitchell Kapor, The New Communications Technologies, 2004
Michael M. A. Mirabito, Barbara L. Morgenstern, Mitchell Kapor
Lifelike animations and still images can be created through ray tracing, a rendering technique that “literally traces the paths of thousands of individual rays of light through a three-dimensional scene via computation.”26 Ray tracing can produce very realistic images with accurate shadows and reflections.
Divergence factor correction of shooting and bouncing ray method for triangular meshed curved targets
Published in Waves in Random and Complex Media, 2023
Hao Wang, Bing Wei, Hongwei Liu
In the past decades, the SBR method has developed rapidly. Many articles focus on accelerating the ray tracing process to improve computational efficiency [9–14]. Some articles use the beam tracing technique to solve the divergence problem when ray tubes intersect with the discontinuous surface [15]. Furthermore, some articles address the problem of degraded sampling accuracy when ray tubes are grazing incidence [10,16,17]. However, all these methods neglect the significance of the divergence factor (DF). In GO, the DF is an explicit concept used to control the sectional dimension and field density of the ray tube after interacting with the curved surface [18]. When a ray tube reflected from the curved surface intersects the target again, the ray tube may illuminate larger regions due to the divergence. At the same time, the amplitude of the incident field needs to be calculated exactly according to the wavefront. An adaptive ray supersampling method for parametric surfaces is proposed in [17], the DF is considered in the method and more accurate simulation results are obtained.
Optimization strategies for GPUs: an overview of architectural approaches
Published in International Journal of Parallel, Emergent and Distributed Systems, 2023
Alessio Masola, Nicola Capodieci
Recent Graphic Processing Units incorporate new hardware features specifically designed for ray tracing. Ray Tracing allows the developer to render three-dimensional scenes by providing a more accurate model of how lights interact with the scene's objects. Scene's objects, i.e. their position in space, are stored in acceleration structures (AS), such as Bounding Volume Hierarchies (BVH) which are tree-like data structures that are traversed by the rays cast from the scene's observer's eyes and/or light sources [67]. BVH traversal is therefore a critical aspect of ray-tracing-based graphic applications [68]. Compared to the traditional rendering approaches, known as raster-based graphics, ray tracing enables to achieve of more realistic visual effects for the produced images as the observer's field of view is characterized by rays that starting from the observer's eyes traverse the scene and accumulate colors as they intersect with objects and lights. In such a rendering paradigm, a typical algorithm would be to cast a ray from the scene's observer eyes to each pixel of the image to be produced; this ray may or may not intersect an object within a scene, having therefore a hit or a miss. In case of a hit, the ray might be deviated, i.e. reflected or refracted according to the type of material hit, hence iteratively operating the scene traversal operation. Trivially, traversal operations play a significant role in the overall ray-tracing-based performance and this step significantly differs from what has been reported for the previously cited papers regarding the traditional rendering pipeline. Hence, specific compute optimization must be investigated in order to avoid redundant calculations. In this context, authors in [69] propose a memoization process in which a hashing function is implemented as a predictor table for storing similar hits while computing the BVH tree traversal. A successful prediction may take a ray directly to a leaf node, hence avoiding to compute the entire data structure traversal. On the other hand, a misprediction leads the ray to an entire traversal operation, which is the baseline behavior in these scenarios. Results in the paper show that up to 38% of the rays could be potentially predicted using an optimal hashing function and a specifically designed hardware LUT for the AS traversals, called predictor table if memory and/or HW complexity would not be an issue. Formally a ray with an origin o, direction d and length (t and d respectively) can be defined by the equation where t is a parameter that determines a specific point in the ray. Each computing cluster within the GPU has its predictor table, where each row is a seen as set-associative cache, with its way being a predictor consisting of a valid bit, a ray hashtag, and one or more slots entry to store predicted nodes (an offset into the BVH tree buffer). To achieve the goal of maximizing the index of the predictor table, the authors combined the three-dimensional ray origin and the two-dimensional ray direction to obtain a key through a hash function.