Ray Tracing Gems II : Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX
معرفی کتاب «Ray Tracing Gems II : Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX» نوشتهٔ Adam Marrs، Peter Shirley و Ingo Wald، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2021. این کتاب در 914 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Ray Tracing Gems II : Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX» در دستهٔ برنامهنویسی قرار دارد.
"The digital version of this book is available now for free - with the print version following very soon! This Open Access book is a must-have for anyone interested in real-time rendering. Ray tracing is the holy grail of gaming graphics, simulating the physical behavior of light to bring real-time, cinematic-quality rendering to even the most visually intense games. Ray tracing is also a fundamental algorithm used for architecture applications, visualization, sound simulation, deep learning, and more. Ray Tracing Gems II is written by industry experts with a particular focus on ray tracing, and it offers a practical means to master the new capabilities of current and future GPUs with the latest graphics APIs. What You'll Learn: The latest ray tracing techniques for developing real-time applications in multiple domains Case studies from developers and studios who have shipped products that use real-time ray tracing. Guidance, advice and best practices for rendering applications with various GPU-based ray tracing APIs (DirectX Raytracing, Vulkan Ray Tracing) High performance graphics for 3D graphics, virtual reality, animation, and more Who This Book Is For: Game and graphics developers who are looking to leverage the latest hardware and software tools for real-time rendering and ray tracing to enhance their applications across a variety of disciplines." 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