Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX [1 ed.] 9781484271841, 9781484271858

This Open Access book is a must-have for anyone interested in real-time rendering. Ray tracing is the holy grail of gami

200 13 262MB

English Pages 914 [884] Year 2021

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Table of Contents
Preface
Foreword
CONTRIBUTORS
NOTATION
PART I RAY TRACING FOUNDATIONS
CHAPTER 1 A BREAKNECK SUMMARY OF
PHOTOGRAPHIC TERMS (AND THEIR UTILITY TO RAY TRACING)
ABSTRACT
1.1 INTRODUCTION
1.2 DIGITAL SENSOR TECHNOLOGY
1.3 FILM
1.4 COMMON CAPTURE DIMENSIONS
1.5 COMMON CAPTURE RESOLUTIONS
1.6 LENSING
1.7 SHUTTER
1.8 EXPOSURE
1.9 EQUIVALENCY
1.10 PHYSICAL LENSES
1.11 BOKEH
1.12 VARIOUS LENS IMPERFECTIONS
1.13 OPTICAL ELEMENTS
1.14 ANAMORPHIC
1.15 CAMERA MOVEMENT
REFERENCES
CHAPTER 2 RAY AXIS-ALIGNED BOUNDING BOX INTERSECTION
ABSTRACT
2.1 THE METHOD
REFERENCES
CHAPTER 3 ESSENTIAL RAY GENERATION
SHADERS
ABSTRACT
3.1 INTRODUCTION
3.2 CAMERA RAYS
3.2.1 CAMERA SPACE
3.2.2 NEAR AND FAR PLANES
3.2.3 SUPERSAMPLING
3.2.4 VIEW CAMERAS
3.2.5 PARAMETERS
3.3 PINHOLE PERSPECTIVE
3.4 THIN LENS
3.5 GENERALIZED PANINI
3.6 FISHEYE
3.7 LENSLET
3.8 OCTAHEDRAL
3.9 CUBE MAP
3.10 ORTHOGRAPHIC
3.11 FIBONACCI SPHERE
REFERENCES
CHAPTER 4 HACKING THE SHADOW
TERMINATOR
ABSTRACT
4.1 INTRODUCTION
4.2 RELATED WORK
4.3 MOVING THE INTERSECTION POINT IN HINDSIGHT
4.4 ANALYSIS
4.5 DISCUSSION AND LIMITATIONS
4.6 CONCLUSION
REFERENCES
CHAPTER 5 SAMPLING TEXTURES WITH
MISSING DERIVATIVES
ABSTRACT
5.1 INTRODUCTION
5.2 TEXTURE COORDINATE DERIVATIVES AT VISIBLE POINTS
5.2.1 INPUTS AND NOTATION
5.2.2 OVERVIEW
5.2.3 WORLD-SPACE DERIVATIVES For
5.2.4 FROM WORLD SPACE TO SCREEN SPACE
5.2.5 DEPTH DERIVATIVES
5.2.6 PUTTING IT ALL TOGETHER
5.3 FURTHER APPLICATIONS
5.3.1 TRILINEAR SAMPLING
5.3.2 SECONDARY RAY INTERSECTION POINTS
5.3.3 MATERIAL GRAPHS
5.4 COMPARISON
5.5 CONCLUSION
REFERENCES
CHAPTER 6 DIFFERENTIAL BARYCENTRIC
COORDINATES
ABSTRACT
6.1 BACKGROUND
6.2 METHOD
6.3 CODE
REFERENCES
CHAPTER 7 TEXTURE COORDINATE GRADIENTS ESTIMATION FOR RAY CONES
ABSTRACT
7.1 BACKGROUND
7.2 RAY CONE GRADIENTS
7.3 COMPARISON AND RESULTS
7.4 SAMPLE CODE
7.5 CONCLUSION
REFERENCES
CHAPTER 8 REFLECTION AND REFRACTION
FORMULAS
ABSTRACT
8.1 REFLECTION
8.2 REFRACTION
REFERENCES
CHAPTER 9 THE SCHLICK FRESNEL
APPROXIMATION
ABSTRACT
9.1 INTRODUCTION
9.2 THE FRESNEL EQUATIONS
9.3 THE SCHLICK APPROXIMATION
9.4 DIELECTRICS VS. CONDUCTORS
9.5 APPROXIMATIONS FOR MODELING THE REFLECTANCE OF METALS
REFERENCES
CHAPTER 10 REFRACTION RAY CONES FOR
TEXTURE LEVEL OF DETAIL
ABSTRACT
10.1 INTRODUCTION
10.2 OUR METHOD
10.3 RESULTS
10.4 CONCLUSION
REFERENCES
CHAPTER 11 HANDLING TRANSLUCENCY
WITH REAL-TIME RAY TRACING
ABSTRACT
11.1 CATEGORIES OF TRANSLUCENT MATERIAL
11.2 OVERVIEW
11.3 SINGLE TRANSLUCENT PASS
11.4 PIPELINE SETUP
11.5 VISIBILITY FOR SEMITRANSPARENT MATERIALS
11.6 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 12 MOTION BLUR CORNER CASES
ABSTRACT
12.1 INTRODUCTION
12.2 DEALING WITH VARYING MOTION SAMPLE COUNTS
12.2.1 MOTIVATION
12.2.2 TIME SAMPLE UNIFORMIZATION
12.3 COMBINING TRANSFORMATION AND DEFORMATION MOTION
12.4 INCOHERENT MOTION
12.5 CONCLUSION
REFERENCES
CHAPTER 13 FAST SPECTRAL UPSAMPLING
OF VOLUME ATTENUATION
COEFFICIENTS
ABSTRACT
13.1 INTRODUCTION
13.1.1 KNOWN SOLUTIONS
13.2 PROPOSED SOLUTION
13.2.1 OPTIMIZING THRESHOLD VALUES
13.2.2 EXAMPLE OPTIMIZED VALUES
13.3 RESULTS
13.4 CONCLUSION
REFERENCES
CHAPTER 14 THE REFERENCE PATH TRACER
ABSTRACT
14.1 INTRODUCTION
14.2 ALGORITHM
14.3 IMPLEMENTATION
14.3.1 ACCELERATION STRUCTURE MEMORY
14.3.2 PRIMARY RAYS
14.3.3 LOADING GEOMETRY AND MATERIAL PROPERTIES
14.3.4 RANDOM NUMBER GENERATION
14.3.5 ACCUMULATION AND ANTIALIASING
14.3.6 TRACING PATHS
14.3.7 VIRTUAL LIGHTS AND SHADOW RAYS
SELECTING LIGHTS
14.4 CONCLUSION
REFERENCES
PART II APIS AND TOOLS
CHAPTER 15 THE SHADER BINDING TABLE DEMYSTIFIED
ABSTRACT
15.1 THE SHADER BINDING TABLE
15.1.1 RAY GENERATION RECORDS
15.1.2 HIT GROUP RECORDS
15.1.3 MISS RECORDS
15.2 SHADER RECORD INDEX CALCULATION
15.2.1 HIT GROUP RECORDS
15.2.2 MISS RECORDS
15.3 API-SPECIFIC DETAILS
15.3.1 DIRECTX RAYTRACING
EMBEDDED SHADER RECORD PARAMETERS
INSTANCE PARAMETERS
TRACE RAY PARAMETERS
15.3.2 VULKAN KHR RAY TRACING
SHADER RECORDS AND PARAMETERS
INSTANCE PARAMETERS
TRACE RAY PARAMETERS
15.3.3 OPTIX
SHADER RECORDS AND PARAMETERS
INSTANCE PARAMETERS
TRACE RAY PARAMETERS
15.4 COMMON SHADER BINDING TABLE CONFIGURATIONS
15.4.1 A BASIC RAY TRACER
15.4.2 INSTANCING A BLAS WITH THE SAME HIT GROUP PARAMETERS
15.4.3 DROPPING THE SHADOW HIT GROUP WHEN RENDERING OPAQUE GEOMETRIES
15.4.4 A MINIMAL ONE OR TWO HIT GROUP RAY TRACER
15.4.5 DYNAMICALLY UPDATING THE SBT
15.5 SUMMARY
REFERENCES
CHAPTER 16 INTRODUCTION TO VULKAN RAY TRACING
ABSTRACT
16.1 INTRODUCTION
16.2 OVERVIEW
16.3 GETTING STARTED
16.4 THE VULKAN RAY TRACING PIPELINE
16.5 HLSL/GLSL SUPPORT
16.5.1 GLSL
16.5.2 HLSL
SHADER STAGES
INTRINSIC VARIABLES AND FUNCTIONS
SHADER RECORD BUFFER AND LOCAL ROOT SIGNATURES
16.6 RAY TRACING SHADER EXAMPLE
16.7 OVERVIEW OF HOST INITIALIZATION
16.8 VULKAN RAY TRACING SETUP
16.8.1 ACCELERATION STRUCTURES
BOTTOM-LEVEL ACCELERATION STRUCTURE CONSTRUCTION
TOP-LEVEL ACCELERATION STRUCTURE CONSTRUCTION
16.8.2 ACCELERATION STRUCTURE OPERATIONS
CLONING ACCELERATION STRUCTURES
REFITTING ACCELERATION STRUCTURES
COMPACTING ACCELERATION STRUCTURES
SERIALIZING AND DESERIALIZING ACCELERATION STRUCTURES
DESCRIPTOR SET LAYOUTS AND PIPELINE LAYOUTS
16.8.3 SHADER COMPILATION
16.9 CREATING VULKAN RAY TRACING PIPELINES
16.10 SHADER BINDING TABLES
16.11 RAY DISPATCH
16.12 ADDITIONAL RESOURCES
16.13 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 17 USING BINDLESS RESOURCES WITH DIRECTX RAYTRACING
ABSTRACT
17.1 INTRODUCTION
17.2 TRADITIONAL BINDING WITH DXR
17.3 BINDLESS RESOURCES IN D3D12
17.4 BINDLESS RESOURCES WITH DXR
17.5 PRACTICAL IMPLICATIONS OF USING BINDLESS TECHNIQUES
17.5.1 MINIMUM HARDWARE REQUIREMENTS
17.5.2 VALIDATION AND DEBUGGING TOOLS
17.5.3 CRASHES AND UNDEFINED BEHAVIOR
17.6 UPCOMING D3D12 FEATURES
17.7 CONCLUSION
REFERENCES
CHAPTER 18 WEBRAYS: RAY TRACING ON THE WEB
ABSTRACT
18.1 INTRODUCTION
18.2 FRAMEWORK ARCHITECTURE
18.2.1 DESIGN GOALS
18.2.2 HOST-SIDE API
18.2.3 DEVICE-SIDE API
18.2.4 ENGINE CORE
18.2.5 ACCELERATION DATA STRUCTURES
18.3 PROGRAMMING WITH WEBRAYS
18.3.1 SETUP
18.3.2 POPULATING THE ACCELERATION DATA STRUCTURES
18.3.3 RAY AND INTERSECTION BUFFERS
18.3.4 RAY GENERATION
18.3.5 HOST-SIDE INTERSECTIONS
18.3.6 DEVICE-SIDE INTERSECTIONS
18.4 USE CASES
18.4.1 AMBIENT OCCLUSION
18.4.2 PATH TRACING
18.4.3 HYBRID RENDERING
AMBIENT OCCLUSION
SHADOWS
REFLECTION AND REFRACTION
18.4.4 RAY TRACING PROTOTYPING PLATFORM
18.5 CONCLUSIONS AND FUTURE WORK
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 19 VISUALIZING AND
COMMUNICATING ERRORS IN
RENDERED IMAGES
ABSTRACT
19.1 INTRODUCTION
19.2 FLIP
19.2.1 LDR- FLIP
19.2.2 HDR- FLIP
19.3 THE TOOL
19.4 EXAMPLE USAGE AND OUTPUT
19.5 RENDERING ALGORITHM DEVELOPMENT AND EVALUATION
19.6 APPENDIX: MEAN VERSUS WEIGHTED MEDIAN
ACKNOWLEDGMENTS
REFERENCES
PART III SAMPLING
CHAPTER 20 MULTIPLE IMPORTANCE
SAMPLING 101
ABSTRACT
20.1 DIRECT LIGHT ESTIMATION
20.1.1 COSINE HEMISPHERE SAMPLING
20.1.2 MATERIAL SAMPLING
20.1.3 LIGHT SAMPLING
20.1.4 CHOOSING A TECHNIQUE
20.1.5 MULTIPLE IMPORTANCE SAMPLING
20.2 A PATH TRACER WITH MIS
20.3 CLOSING WORDS AND FURTHER READING
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 21 THE ALIAS METHOD FOR
SAMPLING DISCRETE DISTRIBUTIONS
ABSTRACT
21.1 INTRODUCTION
21.2 BASIC INTUITION
21.3 THE ALIAS METHOD
21.4 ALIAS TABLE CONSTRUCTION
21.5 ADDITIONAL READING AND RESOURCES
REFERENCES
CHAPTER 22 WEIGHTED RESERVOIR SAMPLING: RANDOMLY SAMPLING STREAMS
ABSTRACT
22.1 INTRODUCTION
22.2 USAGE IN COMPUTER GRAPHICS
22.3 PROBLEM DESCRIPTION
22.4 RESERVOIR SAMPLING WITH OR WITHOUT REPLACEMENT
22.5 SIMPLE ALGORITHM FOR SAMPLING WITH REPLACEMENT
22.6 WEIGHTED RESERVOIR SAMPLING FOR K > 1
22.7 AN INTERESTING PROPERTY
22.8 ADDITIONAL READING
REFERENCES
CHAPTER 23 RENDERING MANY LIGHTS WITH GRID-BASED RESERVOIRS
ABSTRACT
23.1 INTRODUCTION
23.2 PROBLEM STATEMENT
23.2.1 RESAMPLED IMPORTANCE SAMPLING
23.2.2 RESERVOIR
23.3 GRID-BASED RESERVOIRS
23.3.1 SELECTING LIGHT SAMPLES FOR THE GRID
23.3.2 SAMPLING THE LIGHT FOR SHADING
23.4 IMPLEMENTATION
23.4.1 CONSTRUCTION OF THE GRID
POSITIONING THE GRID
BUILDING CELL RESERVOIRS
TEMPORAL EUSE
DYNAMIC LIGHTS
23.4.2 SAMPLING FROM THE GRID
23.5 RESULTS
23.6 CONCLUSIONS
REFERENCES
CHAPTER 24 USING BLUE NOISE FOR RAY TRACED SOFT SHADOWS
ABSTRACT
24.1 INTRODUCTION
24.2 OVERVIEW
24.3 BLUE NOISE SAMPLES
24.4 BLUE NOISE MASKS
24.5 VOID AND CLUSTER ALGORITHM
24.5.1 INITIAL BINARY PATTERN
24.5.2 PHASE I: MAKE PATTERN PROGRESSIVE
24.5.3 PHASE II: FIRST HALF OF PIXELS
24.5.4 PHASE III: SECOND HALF OF PIXELS
24.5.5 FINALIZE TEXTURE
24.6 BLUE NOISE FILTERING
24.7 BLUE NOISE FOR SOFT SHADOWS
24.7.1 LIGHTS AND SHADOWS
24.7.2 SPHERICAL DIRECTIONAL LIGHTS
24.7.3 SPHERICAL POSITIONAL
24.7.4 SPHERICAL SPOTLIGHTS
24.7.5 REDUCING RAY COUNT
24.7.6 REDUCING NOISE
24.8 COMPARISON WITH INTERLEAVED GRADIENT NOISE
24.9 PERCEPTUAL ERROR EVALUATION
24.10 CONCLUSION
REFERENCES
PART IV SHADING AND EFFECTS
CHAPTER 25 TEMPORALLY RELIABLE MOTION VECTORS FOR BETTER USE OF TEMPORAL INFORMATION
ABSTRACT
25.1 INTRODUCTION
25.2 BACKGROUND
25.3 TEMPORALLY RELIABLE MOTION VECTORS
25.3.1 SHADOWS
25.3.2 GLOSSY REFLECTIONS
25.3.3 OCCLUSIONS
25.4 PERFORMANCE
25.5 CONCLUSION
REFERENCES
CHAPTER 26 RAY TRACED LEVEL OF DETAIL CROSS-FADES MADE EASY
ABSTRACT
26.1 INTRODUCTION
26.2 PROBLEM STATEMENT
26.3 SOLUTION
26.4 FUTURE WORK
26.5 CONCLUSION
REFERENCES
CHAPTER 27 RAY TRACING DECALS
ABSTRACT
27.1 INTRODUCTION
27.2 DECAL FORMULATION
27.3 RAY TRACING DECALS
27.3.1 TRACING ONE DECAL
POINT-IN-VOLUME BY INTERSECTION SHADERS
27.3.2 TRACING AND BLENDING MULTIPLE DECALS
LIMITED SORTED DECALS
UNLIMITED SORTED DECALS
27.4 DECAL SAMPLING
27.5 OPTIMIZATIONS
27.5.1 RAY LENGTH
27.5.2 SEPARATING THE TLAS
27.5.3 TIGHTER BLAS
27.5.4 EVALUATION ORDER
27.6 ADVANCED FEATURES
27.7 ADDITIONAL NOTES
27.8 PERFORMANCE
27.9 CONCLUSION
REFERENCES
CHAPTER 28 BILLBOARD RAY TRACING
FOR IMPOSTORS AND VOLUMETRIC EFFECTS
ABSTRACT
28.1 INTRODUCTION
28.2 IMPOSTORS
28.2.1 IMPLEMENTATION
28.2.2 REFLECTION AND REFRACTION ARTIFACTS
28.3 VOLUMETRIC EFFECTS
28.3.1 BILLBOARD PARTICLES
28.3.2 SPHERICAL PARTICLES
28.4 EVALUATION
28.4.1 PERFORMANCE
28.4.2 LIMITATIONS
28.5 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 29 HYBRID RAY TRACED AND IMAGE-SPACE REFRACTIONS
ABSTRACT
29.1 INTRODUCTION
29.2 IMAGE-SPACE REFRACTIONS
29.3 HYBRID REFRACTIONS
29.3.1 HYBRID REFRACTIONS WITH PRE-RAYS
29.3.2 HYBRID REFRACTIONS WITH POST-RAYS
29.3.3 PRE-RAYS VS. POST-RAYS
29.4 IMPLEMENTATION
29.5 RESULTS
29.6 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 30 REAL-TIME RAY TRACED
CAUSTICS
ABSTRACT
30.1 INTRODUCTION
30.2 ADAPTIVE ANISOTROPIC PHOTON SCATTERING
30.2.1 PHOTON TRACING
30.2.2 PHOTON SCATTERING
30.2.3 FEEDBACK BUFFERS
30.2.4 DISPERSION
30.2.5 SOFT CAUSTICS
30.2.6 RESULTS
30.2.7 LIMITATIONS
30.2.8 EXTENDED USAGES
30.3 RAY-GUIDED WATER CAUSTICS
30.3.1 PHOTON DIFFERENCE SCATTERING
30.3.2 PROCEDURAL CAUSTIC MESH
30.3.3 CASCADED CAUSTICS MAPS
30.3.4 SOFT WATER CAUSTICS BY AREA LIGHTS
30.3.5 RESULTS
30.3.6 LIMITATIONS
30.4 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 31 TILT-SHIFT RENDERING USING A THIN LENS MODEL
ABSTRACT
31.1 INTRODUCTION
31.2 THIN LENS MODEL
31.3 LENS SHIFT
31.4 LENS TILT
31.5 DIRECTING THE TILT
31.6 RESULTS
ACKNOWLEDGMENTS
REFERENCES
PART V INTERSECTION
CHAPTER 32 FAST AND ROBUST RAY/OBB INTERSECTION USING THE
LORENTZ TRANSFORMATION
ABSTRACT
32.1 INTRODUCTION
32.2 DEFINITIONS
32.3 RAY/AABB INTERSECTION
32.4 RAY/OBB INTERSECTION
32.5 COMPUTING ADDITIONAL INTERSECTION DATA
32.6 CONCLUSION
REFERENCES
CHAPTER 33 REAL-TIME RENDERING OF
COMPLEX FRACTALS
ABSTRACT
33.1 OVERVIEW
33.1.1 JULIA SETS
33.1.2 MANDELBULB
33.2 DISTANCE FUNCTIONS
33.3 IMPLEMENTATION
33.3.1 JULIA SETS
33.3.2 MANDELBULB
33.4 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 34 IMPROVING NUMERICAL
PRECISION IN INTERSECTION PROGRAMS
ABSTRACT
34.1 THE PROBLEM
34.2 THE METHOD
34.2.1 IMPLEMENTATION NOTES
34.2.2 WHICH DISTANCE TO CHOOSE?
34.2.3 LIMITATIONS AND PITFALLS
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 35 RAY TRACING OF BLOBBIES
ABSTRACT
35.1 MOTIVATION
35.2 ANISOTROPIC BLOBBIES
35.3 BVH AND HIGHER-ORDER MOTION BLUR
35.4 INTERSECTION METHODS
35.4.1 DETERMINE THE ACTIVE BLOBBIES
TRACING TOWARD FRONTFACE
TRACING TOWARD BACKFACE
EXAMPLES
35.4.2 INTERVAL REFINEMENT
NOTES
35.5 RESULTS
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 36 CURVED RAY TRAVERSAL
ABSTRACT
36.1 INTRODUCTION
36.2 BACKGROUND
36.2.1 REFRACTION
36.2.2 GRADIENT FIELD TOMOGRAPHY
36.2.3 INTERACTIVE RENDERING
36.3 IMPLEMENTATION
36.3.1 OVERVIEW
36.3.2 CORE DATA STRUCTURES
VOLUMEGEOMDATA STRUCTURE
TRAVERSALDATA STRUCTURE
PERRAYDATA STRUCTURE
SAMPLEDATA STRUCTURE
OTHER ELEMENTS
36.3.3 RAY TRACING PROGRAMS
RAY GENERATION PROGRAM
TRACEPATH HELPER FUNCTION
RESUMEPATH HELPER FUNCTION
CLOSEST-HIT PROGRAM
TRAVERSE HELPER FUNCTION
STORESAMPLE HELPER FUNCTION
MISS PROGRAM
OTHER ELEMENTS
36.4 CONCLUSIONS
REFERENCES
CHAPTER 37 RAY-TRACING SMALL
VOXEL SCENES
ABSTRACT
37.1 INTRODUCTION
37.2 ASSETS
37.3 GEOMETRY AND ACCELERATION STRUCTURES
37.3.1 FLAT TRIANGLE MESH
37.3.2 CUSTOM INTERSECTION PROGRAM
37.3.3 INSTANCED TRIANGLE BRICK
37.4 SHADING
37.5 PERFORMANCE TESTS
37.6 DISCUSSION
ACKNOWLEDGMENTS
REFERENCES
PART VI PERFORMANCE
CHAPTER 38 CPU PERFORMANCE IN DXR
ABSTRACT
38.1 INTRODUCTION
38.2 THE RAY TRACING PIPELINE STATE OBJECT
38.2.1 INCREMENTAL STATE OBJECT MODIFICATIONS
38.2.2 STATE OBJECT COLLECTIONS
38.3 THE SHADER TABLE
38.3.1 BUILDING THE LOCAL ROOT SIGNATURE ON THE GPU
38.3.2 GLOBAL ROOT SIGNATURE
38.3.3 GRS VERSUS LRS A GRS
38.3.4 SHARING RESOURCES WITH THE RASTERIZER
38.3.5 BINDLESS RESOURCE ARRAYS
38.4 THE ACCELERATION STRUCTURE
38.4.1 OVERVIEW
38.4.2 SHARING RESOURCES WITH THE RASTERIZER
38.4.3 DEFORMABLE, ANIMATED, AND STATIC AS BUILDS
38.4.4 IMPROVING LOD PERFORMANCE
38.5 CONCLUSION
REFERENCES
CHAPTER 39 INVERSE TRANSFORM SAMPLING USING RAY TRACING HARDWARE
ABSTRACT
39.1 INTRODUCTION
39.2 TRADITIONAL 2D TEXTURE IMPORTANCE SAMPLING
39.3 RELATED WORKS
39.4 RAY TRACED INVERSE TRANSFORM SAMPLING
39.5 IMPLEMENTATION DETAILS
39.6 EVALUATION
39.6.1 MERGING STRATEGY EFFECTIVENESS
39.6.2 PERFORMANCE, SCALABILITY, AND VARIANCE
39.7 CONCLUSION AND FUTURE WORK
REFERENCES
CHAPTER 40 ACCELERATING BOOLEAN VISIBILITY OPERATIONS USING
RTX VISIBILITY MASKS
ABSTRACT
40.1 BACKGROUND
40.2 OVERVIEW
40.3 PARTIAL VISIBILITY
40.4 TRAVERSAL
40.5 VISIBILITY MASKS AS BOOLEAN VISIBILITY FUNCTIONS
40.6 ACCELERATED EXPRESSIONS
40.7 SOLID CAPS
40.8 CAMERA INITIALIZATION
REFERENCES
CHAPTER 41 PRACTICAL SPATIAL
HASH MAP UPDATES
ABSTRACT
41.1 INTRODUCTION
41.2 SPATIAL HASHING
41.2.1 ENTRY ALLOCATION
41.2.2 REFINING THE HASH FUNCTION
41.2.3 STORING INFORMATION IN THE HASH MAP
41.3 COMPLEX DATA STORAGE AND UPDATE
41.4 IMPLEMENTATION
41.4.1 DATA STRUCTURES
41.4.2 HASH ENTRY ALLOCATION
41.4.3 REQUESTING CHANGES
41.4.4 COMMITTING CHANGE REQUESTS
41.4.5 PROPAGATING TO COARSER LODS
41.5 APPLICATIONS
41.5.1 AMBIENT OCCLUSION
41.5.2 ENVIRONMENT LIGHTING
41.6 CONCLUSION
REFERENCES
CHAPTER 42 EFFICIENT SPECTRAL RENDERING ON THE GPU FOR PREDICTIVE RENDERING
ABSTRACT
42.1 MOTIVATION
42.2 INTRODUCTION TO SPECTRAL RENDERING
42.2.1 LIMITATION OF TRISTIMULUS RENDERING
42.2.2 BASIS OF SPECTRAL RENDERING
42.2.3 OUTPUT OF A SPECTRAL RENDERER
42.3 SPECTRAL RENDERING ON THE GPU
42.3.1 SPECTRAL SAMPLING ON GPU FOR SINGLE WAVELENGTH RENDERING
42.3.2 WAVELENGTH MULTIPLEXING
42.3.3 ENFORCING CONTINUOUS SPECTRAL SAMPLING WITH MULTIPLEXING
UPLOADING ASSETS ON THE GPU
WAVELENGTH SELECTION
ACCUMULATION IN SPECTRAL BINS
42.3.4 SUMMARY
42.4 MULTIPLEXING WITH SEMITRANSPARENT MATERIALS
42.4.1 LIMITATION WITH SEMITRANSPARENT MATERIALS
42.4.2 IMPORTANCE SAMPLING FOR THE PROPAGATED WAVELENGTH
42.4.3 SUMMARY
42.5 A STEP TOWARD REAL-TIME PERFORMANCE
42.5.1 INTERACTIVE SPECTRAL RENDERING WITH MULTIPLEXING
42.5.2 INTERACTIVITY: SPATIAL SUBDIVISION
42.5.3 LIMITED MEMORY: MULTIPLE SPECTRAL PASSES
42.6 DISCUSSION
42.6.1 EFFICIENT SPECTRAL ASSET MANAGEMENT
42.6.2 DENOISING
42.7 CONCLUSION AND OUTLOOK
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 43 EFFICIENT UNBIASED VOLUME PATH TRACING ON THE GPU
ABSTRACT
43.1 BACKGROUND
43.2 COMPRESSED DATA STRUCTURE
43.3 FILTERING AND RANGE DILATION
43.4 DDA TRAVERSAL
43.5 RESULTS
43.5.1 BASELINE
43.5.2 STOCHASTIC SAMPLING
43.5.3 QUANTIZED TEXTURE REPRESENTATION
43.5.4 SINGLE- AND MULTI-LEVEL DDA WITH LOCAL MAJORANTS
43.6 CONCLUSION
REFERENCES
CHAPTER 44 PATH TRACING RBF
PARTICLE VOLUMES
ABSTRACT
44.1 INTRODUCTION
44.2 OVERVIEW
44.2.1 RBF AND SPH FIELDS
44.2.2 VOLUME RENDERING AND DELTA TRACKING
44.3 IMPLEMENTATION
44.3.1 PREPROCESS AND MAXIMUM VALUE ESTIMATION
44.3.2 RBF VOLUME SAMPLING IN OPEN VKL
44.3.3 RENDERING IN OSPRAY
44.4 RESULTS AND CONCLUSION
REFERENCES
CHAPTER 45 FAST VOLUMETRIC GRADIENT
SHADING APPROXIMATIONS FOR
SCIENTIFIC RAY TRACING
ABSTRACT
45.1 INTRODUCTION
45.2 APPROACH
45.3 RESULTS
45.3.1 IMAGE QUALITY COMPARISON
45.3.2 PERFORMANCE COMPARISON
45.4 CONCLUSION
REFERENCES
PART VII RAY TRACING IN THE WILD
CHAPTER 46 RAY TRACING IN CONTROL
ABSTRACT
46.1 INTRODUCTION
46.1.1 NORTHLIGHT ENGINE
46.1.2 PRECOMPUTED GLOBAL ILLUMINATION
46.1.3 ACCELERATION DATA STRUCTURE BUILDING
46.1.4 LIGHT CLUSTERING
46.2 REFLECTIONS
46.2.1 TRACING REFLECTION RAYS WITH VARYING RAY LENGTH
46.2.2 UNFIED HIT SHADING
46.2.3 PRECOMPUTED GLOBAL ILLUMINATION FOR RAY MISSES
46.2.4 UNIFIED GLOBAL ILLUMINATION SAMPLING FOR HITS AND MISSES
46.3 TRANSPARENT REFLECTIONS
46.3.1 DISCOVERING TRANSPARENT SURFACES
46.3.2 TRACING TRANSPARENT REFLECTION RAYS
46.3.3 ADDING REFLECTIONS TO RASTERIZED TRANSPARENT SURFACES
46.4 NEAR FIELD INDIRECT DIFFUSE ILLUMINATION
46.5 CONTACT SHADOWS
46.5.1 LIGHT SELECTION
46.5.2 TRACING CONTACT SHADOWS
46.6 DENOISING
46.6.1 DENOISER FOR REFLECTIONS AND INDIRECT DIFFUSE ILLUMINATION
WEIGHTING OPTIONS
BILATERAL WEIGHTS
46.7 PERFORMANCE
46.8 CONCLUSIONS
REFERENCES
CHAPTER 47 LIGHT SAMPLING IN QUAKE 2 USING SUBSET IMPORTANCE SAMPLING
ABSTRACT
47.1 INTRODUCTION
47.2 OVERVIEW
47.3 BACKGROUND
47.3.1 LIGHT RESAMPLING T
47.3.2 HIERARCHICAL LIGHT SAMPLING
47.3.3 SAMPLE REUSE AND GUIDING
47.4 STOCHASTIC LIGHT SUBSET SAMPLING
47.4.1 PRACTICAL STRIDED SUBSETS
47.4.2 WORST-CASE VARIANCE ANALYSIS
47.4.3 TWO-SWEEP ALGORITHM
47.4.4 ONE-SWEEP ALGORITHM
47.4.5 PREDICTING THE CONTRIBUTION OF LIGHT SOURCES
47.4.6 PRACTICAL IMPROVEMENTS
47.5 REDUCING VARIANCE WITH PSEUDO-MARGINAL MIS
47.5.1 MULTIPLE IMPORTANCE SAMPLING
47.5.2 STOCHASTIC MULTIPLE IMPORTANCE SAMPLING
47.5.3 PSEUDO-MARGINAL MIS
47.5.4 STRATIFIED PSEUDO-MARGINAL MIS
47.6 STOCHASTIC LIGHT SUBSET MIS
47.6.1 INDEPENDENTLY SELECTING LIGHTS PER STRIDE
47.6.2 IDENTIFYING THE STRIDE OF HIT EMITTERS
47.7 RESULTS AND DISCUSSION
47.7.1 RUNTIMES
47.7.2 SUBSET SIZES
47.7.3 MULTIPLE IMPORTANCE SAMPLING
47.7.4 STRATIFICATION
47.8 CONCLUSIONS
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 48 RAY TRACING IN FORTNITE
ABSTRACT
48.1 INTRODUCTION
48.2 GOALS
48.3 CHALLENGES
48.4 TECHNOLOGIES
48.4.1 REFLECTIONS
ALGORITHM OVERVIEW
RAY GENERATION
MATERIAL ID GATHERING
MATERIAL EVALUATION
LIGHTING
LIGHT SOURCE CULLING
48.4.2 GLOBAL ILLUMINATION
BRUTE FORCE
FINAL GATHER
FEASIBILITY FOR FORTNITE
IMPROVEMENTS
48.4.3 CPU OPTIMIZATIONS
GPU BUFFER MANAGEMENT
DYNAMIC RAY TRACING GEOMETRIES
BUILDING THE SHADER BINDING TABLES
GEOMETRY CULLING
DLSS
48.5 FORTNITE CINEMATICS
48.6 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
CHAPTER 49 REBLUR: A HIERARCHICAL
RECURRENT DENOISER
ABSTRACT
49.1 INTRODUCTION
49.2 DEFINITIONS AND ACRONYMS
49.3 THE PRINCIPLE
49.4 INPUTS
49.5 PIPELINE OVERVIEW
49.5.1 PRE-BLUR
49.5.2 TEMPORAL ACCUMULATION
49.5.3 MIP GENERATION
49.5.4 HISTORY FIX
49.5.5 BLUR
49.5.6 POST-BLUR
49.5.7 TEMPORAL STABILIZATION
49.6 DISOCCLUSION HANDLING
49.7 DIFFUSE ACCUMULATION
49.8 SPECULAR ACCUMULATION
49.8.1 SURFACE MOTION–BASED SPECULAR REPROJECTION
49.8.2 VIRTUAL MOTION–BASED SPECULAR REPROJECTION
49.8.3 COMBINED SOLUTION
49.9 SAMPLING SPACE
49.10 SPATIAL FILTERING
49.11 ANTI-LAG
49.12 LIMITATIONS
49.13 PERFORMANCE
49.14 FUTURE WORK
REFERENCES
CHAPTER 50 PRACTICAL SOLUTIONS FOR RAY TRACING CONTENT COMPATIBILITY
IN UNREAL ENGINE 4
ABSTRACT
50.1 INTRODUCTION
50.2 HYBRID TRANSLUCENCY
50.2.1 MOTIVATION
50.2.2 OUR HYBRID APPROACH
50.2.3 RELATIONSHIP TO ORDER-INDEPENDENT TRANSPARENCY
50.2.4 PERFORMANCE
50.3 FOLIAGE
50.3.1 REPRESENTING ANIMATED FOLIAGE
50.3.2 INEXACT OCCLUSION
50.4 SUMMARY
REFERENCES

Ray Tracing Gems II: Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX [1 ed.]
 9781484271841, 9781484271858

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers