269 research outputs found

    GPU ray tracing with CUDA

    Get PDF
    Ray Tracing is a rendering method that generates high quality images by simulating how light rays interact with objects in a virtual scene. The ray tracing technique can accurately portray advanced optical effects, such as reflections, refractions, and shadows, but at a greater computational cost and rendering time than other rendering methods. Fortunately, technological advances in GPU computing have provided the means to accelerate the ray tracing process to produce images in a significantly shorter time. This paper attempts to clearly illustrate the difference in rendering speed and design by developing and comparing a sequential CPU and parallel GPU implementation of a ray tracer, written in C++ and CUDA respectively. A performance analysis reveals that the optimized GPU ray tracer is capable of producing images with speedup gains up to 1852X when compared to the former CPU implementation --Document

    Parallelized X-Ray Tracing with GPU Ray-Tracing Engine

    Get PDF
    X-ray diffraction tomography (XDT) is used to probe material composition of objects, providing improved contrast between materials compared to conventional transmission based computed tomography (CT). In this work, a small angle approximation to Bragg\u27s Equation of diffraction is coupled with parallelized computing using Graphics Processing Units (GPUs) to accelerate XDT simulations. The approximation gives rise to a simple yet useful proportionality between momentum transfer, radial distance of diffracted signal with respect to incoming beam\u27s location, and depth of material, so that ray tracing may be parallelized. NVIDIA\u27s OptiX ray-tracing engine, a parallelized pipeline for GPUs, is employed to perform XDT by tracing rays in a virtual space, (x,y,zv), where zv is a virtual distance proportional to momentum transfer. The advantage gained in this approach is that ray tracing in this domain requires only 3D surface meshes, yielding calculations without the need of voxels. The simulated XDT projections demonstrate high consistency with voxel models, with a normalized mean square difference less than 0.66%, and ray-tracing times two orders of magnitude less than previously reported voxel-based GPU ray tracing results. Due to an accelerated simulation time, XDT projections of objects with three spatial dimensions (4D tensor) have also been reported, demonstrating the feasibility for largescale high-dimensional tensor tomography simulations

    GPU Ray Tracing of Triangular Grid Primitives

    Get PDF
    Triangular grid primitives are a technique used to handle memory-intensive meshes more efficiently. They are also referred to as micro meshes in recent proprietary hardware implementations. This representation can reduce the memory footprint during ray tracing of subdivision surfaces or displacement maps that may result from mesh simplification. This paper presents a novel approach to accelerate GPU software ray tracing using a two-level bounding volume hierarchy (BVH) to store vertices in a non-redundant manner. The primary goal is to make the technology more accessible by focusing on standard GPU devices. The bottom-level BVH strictly follows the subdivision recursion, allowing for the side effect of rendering intermediate recursion depths. Our approach enables us to encode geometry and BVH using approximately 6.3 bytes per triangle, reducing standard representations by a factor of 4.5. Additionally, the construction time of the BVH is reduced. Our data structure achieves a peak performance impact of 16 % for a three-level subdivision

    Divide and Conquer G-Buffer Ray Tracing

    Get PDF

    Deforming space: creation of a non-Euclidean render engine

    Get PDF
    In this document I will explain the development of a real-time non-Euclidean render engine, which will use the ray tracing rendering technique in order to represent deformations of the virtual space in the scene through the use of aberrations. This project was developed in Visual Studio, using a self-made 3D render engine powered by OpenGL 4.3, and written entirely in C++. Due to the complexity of the topic and time constrains, this will be a technical demo, focused on showcasing the interesting space/level/puzzle design options that afford nonEuclidean spaces, created and displayed using the scene edition functionality of the rendering engin

    Rendering Curved Triangles on the GPU

    Get PDF
    This Thesis presents a new approach to render triangular Bézier patches in real time. The goal is to achieve a very good visual quality, avoid artifacts in the silhouette, and get in nite detail. Our approach consists in a ray casting technique to render tri- angular B ezier patches in real time. It is based on previous work explained in this document to implement a fast ray-surface intersec- tion technique. This previous work consists in adapting Newton's method to implement the intersections achieving interactive framer- ates ray casting di erent surfaces. The main contributions of our approach are adapting New- ton's method to perform intersections with triangular bicubic B ezier patches and implementing it in GPU to optimize performance using graphics hardware. Finally, we also contribute adapting the normal mapping tech- nique to shade the models and, thus, achieve even greater detail

    Enhancing Perception of Complex Sculptural Forms using Interactive Real-time Ray tracing

    Get PDF
    This paper looks at experiments into using real-time ray tracing to significantly enhance shape perception of complex three-dimensional digitally created structures. The author is a computational artist whose artistic practice explores the creation of intricate organic three-dimensional forms using simulation of morphogenesis. The generated forms are often extremely detailed, comprising tens of millions of cellular primitives. This often makes depth perception of the resulting structures difficult. His practice has explored various techniques to create presentable artefacts from the data, including high resolution prints, animated videos, stereoscopic installations, 3D printing and virtual reality. The author uses ray tracing techniques to turn the 3D data created from his morphogenetic simulations into visible artefacts. This is typically a time-consuming process, taking from seconds to minutes to create a single frame. The latest generation of graphics processing units offer dedicated hardware to accelerate ray tracing calculations. This potentially allows the generation of ray traced images, including self-shadowed complex structures and multiple levels of transparency, from new viewpoints at frame rates capable of real-time interaction. The author presents the results of his experiments using this technology with the aim of providing significantly enhanced perception of his generated three-dimensional structures by allowing user-initiated interaction to generate novel views, and utilizing depth cues such as stereopsis, depth from motion and defocus blurring. The intention is for these techniques to be usable to present new exhibitable works in a gallery context
    corecore