Ray Tracing Gems : : High-Quality and Real-Time Rendering with DXR and Other APIs.
Saved in:
: | |
---|---|
TeilnehmendeR: | |
Place / Publishing House: | Berkeley, CA : : Apress L. P.,, 2019. ©2019. |
Year of Publication: | 2019 |
Edition: | 1st ed. |
Language: | English |
Online Access: | |
Physical Description: | 1 online resource (622 pages) |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
LEADER | 11526nam a22004573i 4500 | ||
---|---|---|---|
001 | 5005720237 | ||
003 | MiAaPQ | ||
005 | 20240229073832.0 | ||
006 | m o d | | ||
007 | cr cnu|||||||| | ||
008 | 240229s2019 xx o ||||0 eng d | ||
020 | |a 9781484244272 |q (electronic bk.) | ||
020 | |z 9781484244265 | ||
035 | |a (MiAaPQ)5005720237 | ||
035 | |a (Au-PeEL)EBL5720237 | ||
035 | |a (OCoLC)1089005044 | ||
040 | |a MiAaPQ |b eng |e rda |e pn |c MiAaPQ |d MiAaPQ | ||
050 | 4 | |a T385 | |
082 | 0 | |a 006.6773 | |
100 | 1 | |a Haines, Eric. | |
245 | 1 | 0 | |a Ray Tracing Gems : |b High-Quality and Real-Time Rendering with DXR and Other APIs. |
250 | |a 1st ed. | ||
264 | 1 | |a Berkeley, CA : |b Apress L. P., |c 2019. | |
264 | 4 | |c ©2019. | |
300 | |a 1 online resource (622 pages) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
505 | 0 | |a Intro -- Table of Contents -- Preface -- Foreword -- Contributors -- Notation -- Part I: Ray Tracing Basics -- Chapter 1: Ray Tracing Terminology -- 1.1 Historical Notes -- 1.2 Definitions -- Chapter 2: What is a Ray? -- 2.1 Mathematical Description of a Ray -- 2.2 Ray Intervals -- 2.3 Rays in DXR -- 2.4 Conclusion -- Chapter 3: Introduction to DirectX Raytracing -- 3.1 Introduction -- 3.2 Overview -- 3.3 Getting Started -- 3.4 The DirectX Raytracing Pipeline -- 3.5 New HLSL Support for DirectX Raytracing -- 3.5.1 Launching a New Ray in HLSL -- 3.5.2 Controlling Ray Traversal in HLSL -- 3.5.3 Additional HLSL Intrinsics -- 3.6 A Simple HLSL Ray Tracing Example -- 3.7 Overview of Host Initialization for DirectX Raytracing -- 3.7.1 Insight into the Mental Model -- 3.8 Basic DXR Initialization and Setup -- 3.8.1 Geometry and Acceleration Structures -- 3.8.1.1 Bottom-Level Acceleration Structure -- 3.8.1.2 Top-Level Acceleration Structure -- 3.8.2 Root Signatures -- 3.8.3 Shader Compilation -- 3.9 Ray Tracing Pipeline State Objects -- 3.10 Shader Tables -- 3.11 Dispatching Rays -- 3.12 Digging Deeper and Additional Resources -- 3.13 Conclusion -- Chapter 4: A Planetarium Dome Master Camera -- 4.1 Introduction -- 4.2 Methods -- 4.2.1 Computing Ray Directions from Viewport Coordinates -- 4.2.2 Circular Stereoscopic Projection -- 4.2.3 Depth of Field -- 4.2.4 Antialiasing -- 4.3 Planetarium Dome Master Projection Sample Code -- Chapter 5: Computing Minima and Maxima of Subarrays -- 5.1 Motivation -- 5.2 Naive Full Table Lookup -- 5.3 The Sparse Table Method -- 5.4 The (Recursive) Range Tree Method -- 5.5 Iterative Range Tree Queries -- 5.6 Results -- 5.7 Summary -- Part II: Intersections and Efficiency -- Chapter 6: A Fast and Robust Method for Avoiding Self-Intersection -- 6.1 Introduction -- 6.2 Method. | |
505 | 8 | |a 6.2.1 Calculating the Intersection Point on the Surface -- 6.2.2 Avoiding Self-Intersection -- 6.2.2.1 Exclusion Using the Primitive Identifier -- 6.2.2.2 Limiting the Ray Interval -- 6.2.2.3 Offsetting Along the Shading Normal or the Old Ray Direction -- 6.2.2.4 Adaptive Offsetting Along the Geometric Normal -- 6.3 Conclusion -- Chapter 7: Precision Improvements for Ray/Sphere Intersection -- 7.1 Basic Ray/Sphere Intersection -- 7.2 Floating-Point Precision Considerations -- 7.3 Related Resources -- Chapter 8: Cool Patches: A Geometric Approach to Ray/Bilinear Patch Intersections -- 8.1 Introduction and Prior Art -- 8.1.1 Performance Measurements -- 8.1.2 Mesh Quadrangulation -- 8.2 GARP Details -- 8.3 Discussion of Results -- 8.4 Code -- Chapter 9: Multi-Hit Ray Tracing in DXR -- 9.1 Introduction -- 9.2 Implementation -- 9.2.1 Naive Multi-Hit Traversal -- 9.2.2 Node-Culling Multi-Hit BVH Traversal -- 9.3 Results -- 9.3.1 Performance Measurements -- 9.3.1.1 Find First Intersection -- 9.3.1.2 Find All Intersections -- 9.3.1.3 Find Some Intersections -- 9.3.2 Discussion -- 9.4 Conclusions -- Chapter 10: A Simple Load-Balancing Scheme with High Scaling Efficiency -- 10.1 Introduction -- 10.2 Requirements -- 10.3 Load Balancing -- 10.3.1 Naive Tiling -- 10.3.2 Task Size -- 10.3.3 Task Distribution -- 10.3.4 Image Assembly -- 10.4 Results -- Part III: Reflections, Refractions, and Shadows -- Chapter 11: Automatic Handling of Materials in Nested Volumes -- 11.1 Modeling Volumes -- 11.1.1 Unique Borders -- 11.1.2 Additional Air Gap -- 11.1.3 Overlapping Hulls -- 11.2 Algorithm -- 11.2.1 Implementation -- 11.3 Limitations -- Chapter 12: A Microfacet-Based Shadowing Function to Solve the Bump Terminator Problem -- 12.1 Introduction -- 12.2 Previous Work -- 12.3 Method -- 12.3.1 The Normal Distribution. | |
505 | 8 | |a 12.3.2 The Shadowing Function -- 12.4 Results -- Chapter 13: Ray Traced Shadows: Maintaining Real-Time Frame Rates -- 13.1 Introduction -- 13.2 Related Work -- 13.3 Ray Traced Shadows -- 13.4 Adaptive Sampling -- 13.4.1 Temporal Reprojection -- 13.4.2 Identifying Penumbra Regions -- 13.4.3 Computing the Number of Samples -- 13.4.4 Sampling Mask -- 13.4.5 Computing Visibility Values -- 13.4.5.1 Temporal Filtering -- 13.4.5.2 Spatial Filtering -- 13.5 Implementation -- 13.5.1 Sample-Set Generation -- 13.5.2 Distance-Based Light Culling -- 13.5.3 Limiting the Total Sample Count -- 13.5.4 Forward Rendering Pipeline Integration -- 13.6 Results -- 13.6.1 Comparison with Shadow Mapping -- 13.6.2 Soft Shadows versus Hard Shadows -- 13.6.3 Limitations -- 13.7 Conclusion and Future Work -- 13.7.1 Future Work -- Chapter 14: Ray-Guided Volumetric Water Caustics in Single Scattering Media with DXR -- 14.1 Introduction -- 14.2 Volumetric Lighting and Refracted Light -- 14.3 Algorithm -- 14.3.1 Compute Beam Compression Ratios -- 14.3.2 Render Caustics Map -- 14.3.3 Ray Trace Refracted Caustics Map and Accumulate Surface Caustics -- 14.3.4 Adaptively Tessellate the Triangles of the Water Surface -- 14.3.5 Build Triangular Beam Volumes -- 14.3.6 Render Volumetric Caustics Using Additive Blending -- 14.3.7 Combine Surface Caustics and Volumetric Caustics -- 14.4 Implementation Details -- 14.5 Results -- 14.6 Future Work -- 14.7 Demo -- Part IV: Sampling -- Chapter 15: On the Importance of Sampling -- 15.1 Introduction -- 15.2 Example: Ambient Occlusion -- 15.3 Understanding Variance -- 15.4 Direct Illumination -- 15.5 Conclusion -- Chapter 16: Sampling Transformations Zoo -- 16.1 The Mechanics of Sampling -- 16.2 Introduction to Distributions -- 16.3 One-Dimensional Distributions -- 16.3.1 Linear -- 16.3.2 Tent. | |
505 | 8 | |a 16.3.3 Normal Distribution -- 16.3.4 Sampling from a One-Dimensional Discrete Distribution -- 16.3.4.1 Just Once -- 16.3.4.2 Multiple Times -- 16.4 Two-Dimensional Distributions -- 16.4.1 Bilinear -- 16.4.2 A Distribution Given a Two-Dimensional Texture -- 16.4.2.1 Rejection Sampling -- 16.4.2.2 Multi-Dimensional Inversion Method -- 16.4.2.3 Hierarchical Transformation -- 16.5 Uniformly Sampling Surfaces -- 16.5.1 Disk -- 16.5.1.1 Polar Mapping -- 16.5.1.2 Concentric Mapping -- 16.5.2 Triangle -- 16.5.2.1 Warping -- 16.5.2.2 Flipping -- 16.5.3 Triangle Mesh -- 16.5.4 Sphere -- 16.5.4.1 Latitude-Longitude Mapping -- 16.5.4.2 Octahedral Concentric (Uniform) Map -- 16.6 Sampling Directions -- 16.6.1 Cosine-Weighted Hemisphere Oriented to the z-Axis -- 16.6.2 Cosine-Weighted Hemisphere Oriented to a Vector -- 16.6.3 Directions in a Cone -- 16.6.4 Phong Distribution -- 16.6.5 GGX Distribution -- 16.7 Volume Scattering -- 16.7.1 Distances in a Volume -- 16.7.1.1 Homogeneous Media -- 16.7.1.2 Inhomogeneous Media -- 16.7.2 Henyey-Greenstein Phase Function -- 16.8 Adding to the Zoo Collection -- Chapter 17: Ignoring the Inconvenient When Tracing Rays -- 17.1 Introduction -- 17.2 Motivation -- 17.3 Clamping -- 17.4 Path Regularization -- 17.5 Conclusion -- Chapter 18: Importance Sampling of Many Lights on the GPU -- 18.1 Introduction -- 18.2 Review of Previous Algorithms -- 18.2.1 Real-Time Light Culling -- 18.2.2 Many-Light Algorithms -- 18.2.3 Light Importance Sampling -- 18.3 Foundations -- 18.3.1 Lighting Integrals -- 18.3.2 Importance Sampling -- 18.3.2.1 Monte Carlo Method -- 18.3.2.2 Light Selection Importance Sampling -- 18.3.2.3 Light Source Sampling -- 18.3.3 Ray Tracing of Lights -- 18.4 Algorithm -- 18.4.1 Light Preprocessing -- 18.4.2 Acceleration Structure -- 18.4.2.1 Building the BVH. | |
505 | 8 | |a 18.4.2.2 Light Orientation Cone -- 18.4.2.3 Defining the Split Plane -- 18.4.3 Light Importance Sampling -- 18.4.3.1 Probabilistic BVH Traversal -- 18.4.3.2 Random Number Usage -- 18.4.3.3 Sampling the Leaf Node -- 18.4.3.4 Sampling the Light Source -- 18.5 Results -- 18.5.1 Performance -- 18.5.1.1 Acceleration Structure Construction -- 18.5.1.2 Render Time per Frame -- 18.5.2 Image Quality -- 18.5.2.1 Build Options -- 18.5.2.2 Triangle Amount per Leaf Node -- 18.5.2.3 Sampling Methods -- 18.6 Conclusion -- Part V: Denoising and Filtering -- Chapter 19: Cinematic Rendering in UE4 with Real-Time Ray Tracing and Denoising -- 19.1 Introduction -- 19.2 Integrating Ray Tracing in Unreal Engine 4 -- 19.2.1 Phase 1: Experimental Integration -- 19.2.1.1 DirectX Raytracing Background on Acceleration Structures -- 19.2.1.2 Experimental Extensions to the UE4 RHI -- 19.2.1.3 Registering Geometry for a Variety of Engine Primitives -- 19.2.1.4 Updating the Ray Tracing Representation of the Scene -- 19.2.1.5 Iterating over All Objects -- 19.2.1.6 Customizing Shaders for Ray Traced Rendering -- 19.2.1.7 Batch Commit of Shader Parameters of Multiple Ray Types -- 19.2.1.8 Updating Instance Transformation -- 19.2.1.9 Building Acceleration Structures -- 19.2.1.10 Miss Shaders -- 19.2.2 Phase 2 -- 19.2.2.1 Tier 1 -- 19.2.2.2 Tier 2 -- 19.2.2.3 Tier 3 -- 19.3 Real-Time Ray Tracing and Denoising -- 19.3.1 Ray Traced Shadows -- 19.3.1.1 Lighting Evaluation -- 19.3.1.2 Shadow Denoising -- 19.3.2 Ray Traced Reflections -- 19.3.2.1 Simplified Reflection Shading -- 19.3.2.2 Denoising for Glossy Reflections -- 19.3.2.3 Specular Shading with Ray Traced Reflections -- 19.3.3 Ray Traced Diffuse Global Illumination -- 19.3.3.1 Ambient Occlusion -- 19.3.3.2 Indirect Diffuse from Light Maps -- 19.3.3.3 Real-Time Global Illumination. | |
505 | 8 | |a 19.3.3.4 Denoising for Ambient Occlusion and Diffuse Global Illumination. | |
588 | |a Description based on publisher supplied metadata and other sources. | ||
590 | |a Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. | ||
655 | 4 | |a Electronic books. | |
700 | 1 | |a Akenine-Möller, Tomas. | |
776 | 0 | 8 | |i Print version: |a Haines, Eric |t Ray Tracing Gems |d Berkeley, CA : Apress L. P.,c2019 |z 9781484244265 |
797 | 2 | |a ProQuest (Firm) | |
856 | 4 | 0 | |u https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=5720237 |z Click to View |