Ray Tracing Gems II : Next Generation Real-Time Rendering with DXR, Vulkan, and OptiX.
Main Author: | |
---|---|
Other Authors: | , |
Format: | eBook |
Language: | English |
Published: |
Berkeley, CA :
Apress L. P.,
2021.
|
Edition: | 1st ed. |
Subjects: | |
Online Access: | Click to View |
Table of Contents:
- Intro
- 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.