Introductory logistics: Yannis
Judge for rendering competition
Remaining logistics
Take the course evaluation surveys!
•CMU's Faculty Course Evaluations (FCE): https://cmu.smartevals.com/
•CMU's TA Evaluations: https://www.ugrad.cs.cmu.edu/ta/S23/feedback/
•An end-of-semester survey specific to 15-468/668/868: https://docs.google.com/forms/d/e/1FAIpQLSfvVBaBAAzc009UJTTjqqR-sOJyaGjFPAXzWnlaAM1_Q3hZmw/viewform
Non-Exponential Radiative Transfer and
Position-free Monte Carlo Simulation
Shun Iwase
Non-exponential Radiative Transfer
Exponential Radiative Transfer
Non-exponential Radiative Transfer (Delta function)
Bitterli et al., A radiative transfer framework for non-exponential media, SIGGRAPH Asia 2018
Non-exponential Radiative Transfer
Four types of light transport. p and f denote particle and surface
Bitterli et al., A radiative transfer framework for non-exponential media, SIGGRAPH Asia 2018
Non-exponential Radiative Transfer
Exponential Radiative Transfer
Non-exponential Radiative Transfer (Delta function)
Bitterli et al., A radiative transfer framework for non-exponential media, SIGGRAPH Asia 2018
Comparison to traditional radiative transfer
Position-free Monte Carlo Simulation
Assumption of small horizontal displacement
Tinted glass
Credit: Autodesk Rendering Help
Dielectric coating
Result
Dielectric coating on Lambertian BRDF (spp512)
Dielectric Coating
Lambertian BRDF
Result
Tinted glass with internal media (spp512)
Dielectric Coating
Internal Media
Dielectric Coating
Next Steps
Guillén et al., A General Framework for Pearlescent Materials, SIGGRAPH Asia 2020
Rendering Competition Image (spp4096, 6 hours)
Chen, Kris:
Position-free Monte Carlo Layered Material &&
Spectral Rendering
Position Free Monte Carlo: Layered Mats
Consider the distance between the layers are so small, we ignore the horizontal position shift of light, which give us…
Multilayer structure
Top: dielectric
Middle: any medium
Bottom: any
With Next Event Estimation
Next event points to the upper layer, instead of the light (\wo BTPT)
Next event points to light hit-point (\w BTPT)
Results
\w NEE x10 less sample
Spectral Rendering: Dispersion
Spectrum Lighting Model and BSDF Model
Wavelength 2 RGB
Wavelength based IOR
Wavelength based rays && sampling
Spectral Rendering: challenges & Results
Rendering caustics without BTPT
Scene setup is too hard to use…
1 million samples per pixel
Rendering
Competition
Differentiable rendering of local parameters
Sally Chen
Score function and gradients
*From 15468 slides
Loss function:
Gradient update
Experiments - optimize emission (trivial case)
Iter 0 - emit.r = 0.2
Target - emit.r = 1
Experiments - optimize blend amount
Iter 0 - blend amount 0.5 for all
Target - blend amount 0.0, 0.2, 0.4,0.6, 0.8, 1.0
Experiments - optimize Phong material exponent
Iter 0 - exponent = 1
Target - exponent = 100
Optimized with SGD with momentum
Depth of field rendering with hexagonal aperture
Rendering competition
Bidirectional Path Tracing
and
Multiplexed Metropolis Light Transport
Ethan Chu
BDPT
s = 1 s = 0
MMLT
Parallelism
Buggy
Competition
Monte Carlo Estimation of Signed Distance
Nicole Feng
The Heat Method for Distance Computation
Idea: Recover (approximate) distance from short-time heat diffusion
Crane, Weischedel, Wardetsky, The Heat Method for Distance Computation (2013)
Diffuse data
Normalize gradient
Integrate
= distance function
Vector heat diffusion
In ℝn, we can solve integral equations instead
(1)
(2)
(3)
From PDEs…
…to integrals.
source term
harmonic Green’s function
heat kernel
What does the source term look like?
(in ℝ2)
M
How NOT to estimate
Walk on Spheres algorithm to solve Dirichlet-Poisson problem:
Better strategy: cache samples of
Similar to e.g., photon mapping
First pass (pre-compute):
Generate & store samples of
(Metropolis sample)
Compute normalization factor
(Importance sample)
Compute global shift
Next pass:
At each query point , estimate as
where
Results in ℝ2
Submission for rendering competition
A 2D solution interpolated onto a background mesh.
I didn’t have time to implement my own rendering functions, e.g. sphere tracing.
Bidirectional Path Tracing and GGX BRDF
Dianne Ge
Bidirectional Path Tracing
Motivation: Traditional path tracing can result in varying
images, especially if a light source is hard to reach from
a randomly generated path from the camera. With
bidirectional path tracing, we can more consistently find
paths that have some contribution to the scene.
Veach, Eric, and Leonidas Guibas. ‘Bidirectional Estimators for Light Transport’. Photorealistic Rendering Techniques, edited by Georgios Sakas et al., Springer Berlin Heidelberg, 1995, pp. 145–167.
Possible Paths
Traditional Path Tracing vs BDPT at 128 spp (no MIS)
MIS (buggy)
GGX BRDF
Sampling: Distribution:
Masking Shadowing Function:
Walter, Bruce, et al. ‘Microfacet Models for Refraction through Rough Surfaces’. Proceedings of the 18th Eurographics Conference on Rendering Techniques, Eurographics Association, 2007, pp. 195–206. EGSR’07.
Results
Comparison: Beckmann
Contest Submission
Progressive Photon Mapping and a Step Towards Verified Rendering
Nathan Glover
Math Bugs - The Worst Kind of Bug
All of these are incredibly easy to do, and incredibly hard to catch…
If only there were a way to catch them before running the code!
Future Work on Performant, Verified Rendering
End Goal: A formally verified path tracer: Computer-checked proof that the code yields an unbiased estimate of the scene.
Progressive Photon Mapping
A biased approach to annoying light paths; precompute them and store them in a map.
Take a density estimation from the map while path tracing.
Progressive photon mapping averages this process over smaller and smaller density kernels.
Comparison (Underwater)
Path Tracing: 512 spp, 10 minutes
Progressive Photon Mapping:
256 million photons, 64 iterations, 1 spp
4 minutes, including photon map building
Comparison (Dragon)
Path Tracing: 512 spp, 7 minutes
Progressive Photon Mapping:
64 million photons, 64 iterations, 1 spp
3 minutes, including photon map building
Rendering Competition:
Pet Trout
Optimizing Bounding Volume Hierarchy Traversal with Vectorized Instructions
Grey Golla
What’s a BVH?
What are Vectorized Instructions?
https://www.sciencedirect.com/topics/computer-science/vectorization
Main Approach
Results
5x more intersections
Same total runtime
8x more intersections
3x total runtime
Discussion
Next Steps
https://rgl.s3.eu-central-1.amazonaws.com/media/papers/NimierDavidVicini2019Mitsuba2_7.pdf
Layered Materials
Dakota Hernandez
Approach
hit.sn -> (0, 0, 1)
- convert dirIn to local space
- shoot new ray into material
- volume render in material
- z value determines
medium/material to sample
- accumulate eval/pdf
- neglect change in position
Lambertian vs (Dielectric <-> Homogeneous <-> Lambertian)
Final Scene
Procedural Textures
15-668 Final Project Presentation
PSS MLT and Depth of Field
Dakshit Agrawal
75
Primary Sample Space
Metropolis Light Transport
(PSS MLT)
76
Path Space
77
Figure credits: Course slides
Primary Sample Space
78
Figure credits: Course slides
Primary Sample Space
79
Figure credits: Course slides
MLT Integrator
80
MLT Integrator
81
MLT Integrator
82
MLT Integrator
83
Results
84
PSS MLT with MIS Path Tracing (N=20)
Results
85
Only MIS Path Tracing
Results
86
PSS MLT with N=100
Depth of Field
87
Depth of Field
88
Depth of Field
89
Figure credits: Wikipedia
Depth of Field
90
Figure credits: Wikipedia
Depth of Field
91
Figure credits: Wikipedia
Bokeh
92
Square
Bokeh
93
Diamond
Bokeh
94
Triangle
Rendering Competition Submission
95
Map the Photons
Alan Lee
Recall the process…
Direct density estimation
Spatial data structure (KD-tree)
Recall the better processes…
Caustic map
“Final gather”
i.e. path trace until hit second non-specular surface from camera
i.e. store only photons of L(S+)D paths
Photon map visualizations
+
=
Non-caustic only
Caustic only
Combined
Glass
Mirror (metal)
(2,000,000 photons)
*Distorted due to incomplete mapping to camera aperture
Parameter comparisons
(20,000 photons, basic)
10N
100N
300N
500N
Reference (MIS)
*All renders are 100 samples per pixel
Parameter comparisons
(20,000 photons, 100N)
Reference (MIS)
Improved (final gather 3S)
Basic
1.86 min
10.10 min
1.86 min
Parameter comparisons
(20,000 photons, 100N)
Basic
Final Gather 3S
Final Gather 3S + Caustic Map
Parameter comparisons
(Gather 3, 100N)
2,000 + 500
20,000 + 5,000
200,000 + 50,000
Non-caustic + Caustic photon counts
Rendering competition!
Implementation of ReSTIR algorithm
Following Bitterli et al.’s 2020 paper 1�Loïc LESCOAT - May 4 2022
Render above NOT made using ReSTIR2
Every frame rendered independently :(
Motivation of ReSTIR:
How?
2 Visible here (in lower resolution): https://youtu.be/lMy_Y10duuo
Applying ReSTIR to our Specific Problem
Benefits of ReSTIR: Camera movement
If camera moves between frames: change which reservoir we look at in previous frame
Temporal reuse only
Benefits of ReSTIR: Combining Reservoirs
No spatial/temporal reuse
Spatial reuse
Temporal reuse
Rendering Competition Submission
“Wavy Forest: A Bird’s Eye View”
Image clarity made possible with ReSTIR’s temporal reuse
Visible here (in lower resolution): https://youtu.be/MmO_otHGyzc
240 frames
Contents:
Annex
Benefits of ReSTIR: Greater Speed and Lower Variance
“Path_tracer_nee” integrator
(with max_bounces == 1)
Four samples per pixel
448 seconds
Our implementation
One sample per pixel
220 seconds
Benefits of ReSTIR: Reduced variance
ReSTIR improves the quality of light sampling
“Path_tracer_nee” integrator
(with max_bounces == 1)
Our implementation
Four samples per pixel
Consistency of our implementation of ReSTIR
Using temporal reuse, stationary camera, no spatial reuse
Ground truth
(“path_tracer_nee” integrator with max_bounces == 1)
Rendered using our implementation of the unbiased
algorithm
Consistency of our implementation of ReSTIR
Using temporal reuse, stationary camera, no spatial reuse
Extra Features
Normal-mapping support
No normal map: flat appearance
Normal map: relieved appearance
Extra Features
Cube primitive, cylinder primitive, and wood-like texture
Bonus: zoom-in on normal map as light moves overhead
Thank you for listening!
SGGX Microflake Distribution & Layered Material with Statistical Operator
Weisheng Li
Anisotropic RTE
Can be used for rendering cloth, hair, skin and other volumetric material that have anisotropic structures.
RTE (or volume rendering equation) we learned in class:
Anisotropic RTE:
Microflake Theory
Analogous to the microfacet, but in a volume
SGGX Distribution
Define projected area rather than NDF
Orthonormal Eigenvectors
Squared Projected Area
We can then use S to recover projected area and NDF
Layered Material
Contains directional statistics (energy, mean and variance)
Combine statistics from two layers into one
Algorithm
For each layer i:
Use Adding equation to compute the statistic from layer 0 to layer i
Spawn a BSDF lobe based on the statistic
Use MIS (weighted by energy) to sample and compute PDF based on ALL BSDFs
Competition Submission
Reference
GGX, Orthographic Camera, Non-Exponential Media, and BRDF Space Learning
Yehonathan Litman
GGX BRDF
Beckmann vs. GGX
Orthographic Camera Model
Non-Exponential Media
Homogeneous + Heterogeneous:
Original:
Mine:
Whereas exponential radiative transfer tries to model interaction process of light with scattering particles, non-exponential radiative transfer estimates the average behavior of light in a medium
Bitterli, B., Ravichandran, S., Müller, T., Wrenninge, M., Novák, J., Marschner, S., & Jarosz, W. (2018). A radiative transfer framework for non-exponential media. ACM Transactions on Graphics (TOG), 37, 1 - 17.
Learning in BRDF Space
Zhang, X., Srinivasan, P.P., Deng, B., Debevec, P.E., Freeman, W.T., & Barron, J.T. (2021). NeRFactor: Neural Factorization of Shape and Reflectance Under an Unknown Illumination. ACM Trans. Graph., 40, 237:1-237:18.
Rendering Competition Image
Specular Manifold Sampling
Shilin Ma
Manifold Next Event Estimation
Paper:https://onlinelibrary.wiley.com/doi/10.1111/cgf.12681, image: https://rgl.epfl.ch/publications/Zeltner2020Specular
Only ONE solution
Specular Manifold Sampling (unbiased)
Basin of Convergence
Results
Reference (50000 spp)
SMS (64 spp)
Importance Sampling the Environment Map
Examples
With importance sampling
No importance sampling
Renders
Competition entry
Primary Sample Space MLT
& Delayed Rejection
MAY 4TH 2023
Yuan Meng
Implementations
Core: Main MLT Loop
144
Core: PSS Sampler
145
Improvements on PSSMLT
146
Delayed Rejection
147
Comparison & Insights
Path Tracer
148
Comparison & Insights
PSSMLT
149
Comparison & Insights
PSSMLT-smaller step
150
Comparison & Insights
PSSMLT
151
Comparison & Insights
Delayed Rejection
152
Comparison & Insights
153
References
154
155
Progressive Photon Mapping
Bharath Raj Nagoor Kani
Overview
Overview
Photon Mapping
Pass 1
Pass 2
Photon Mapping
Photon Mapping
Photon Mapping
Photon Mapping
PM (without russian roulette)
PM (with russian roulette)
Photon Mapping
Experimenting with changing the radius (50000 photons used for each scene)
Radius = 30
Radius = 15
Radius = 5
Radius = 3
Photon Mapping
Experimenting with changing the number of photons (radius is 30 for each scene)
#Photons = 50000
#Photons = 5000
#Photons = 500
#Photons = 50
Photon Mapping
MIS
PM
Photon Map Visualization
Photon Mapping
MIS
PM
Photon Map Visualization
Photon Mapping
MIS
PM
Photon Map Visualization
Photon Mapping++
Photon Mapping++
Photon Mapping
MIS
PM
PM++
Photon Mapping
PM++
Caustics Photon Map Visualization
Global Photon Map Visualization
Photon Mapping
MIS
PM
PM++
Photon Mapping
PM++
Caustics Photon Map Visualization
Global Photon Map Visualization
Photon Mapping
PM++ (without final gather)
PM++ (with final gather)
Photon Mapping
MIS
PM
PM++
Photon Mapping
PM++
Caustics Photon Map Visualization
Global Photon Map Visualization
Progressive Photon Mapping
Progressive Photon Mapping
Stacked Output
Radius = 20.00, i = 0
Progressive Photon Mapping
Stacked Output
Radius = 14.79, i = 3
Progressive Photon Mapping
Stacked Output
Radius = 9.89, i = 20
Progressive Photon Mapping
Stacked Output
Radius = 8.38, i = 40
Additional Features
Additional Features
Rendering Competition Submission
Thank you!
Ruben Partono
Normal Maps
We must leverage the wealth of (free!) assets on the internet.
Normal maps are a great way to add realistic detail.
Get a local coordinate frame based on the normal, dp/du, and dp/dv vectors.
Spotlight
Add a linear falloff to emission past a certain angle.
Useful for dramatic effect!
Rough Dielectric (Beckmann)
Volume Renderer
Surfaces on Volumes
Subsurface Scattering (BSSRDF)
Implementation unfinished.
Sample nearby points on a surface by casting a ray from a random point on a disk above the surface. (Done)
Calculate the Directional Dipole BSSRDF. (Unfinished).
For more, see PBRT and the directional dipole paper.
Rendering Competition Submission
Ajax Shung
Rendering Wood
Basic Structure - Distorting it leads to figure
[NC Brown Cen-
ter for Ultrastructure Studies, SUNY College of Environmental Sci-
ence and Forestry, Syracuse, NY]
Simple BRDF (But loses energy)
Surface BRDF +
Fresnel Factor * (diffuse + “specular”)
Better is to use SGGX microflake distribution that approximates fibers
Make out ellipsoids very long in the grain direction, then use specular flakes
Don’t have to sample BRDF and get energy conservation as a bonus so we can get rid of the random diffuse term
How to get Grain Direction?
Just make our tree a tube…
Then deform it and use jacobian of the deformation to get grain direction
Mainly deform radially and transversally
Knots
How do we get the grain direction now?
How do we even know what the grain should look like?
I want the tube back
Connect the rings by smoothing radial distance (aka age)
What about dead knots? :( Discontinuity. Tree doesn’t even know what it should do :(
Curly Figure - Highlights Move
Competition Image
Practical Path-Guiding
Gustavo Silvera
15-468 Final Project S’23
Based on papers:
[1] Practical Path Guiding for Efficient Light-Transport Simulation - Thomas Müller, Markus Gross, Jan Novak. Proceedings of EGSR 2017, vol. 36, no.4
[2] “Practical Path Guiding” in Production - Thomas Müller, SIGGRAPH 2019
What is Path Guiding?
Allow path-tracing algorithms to iteratively “learn” how to construct high-energy light paths [1]
Goal: importance sample the integral
Learns an approximation of incident radiance Li and samples ωi proportionally [2]
Combined with (standard) BSDF sampling via multiple-importance sampling (MIS) to reduce variance
Iterative learning: Rendering is split into several passes to progressively learn incident-radiance approximations with better predictions (from the previous pass). Final pass is only inference.
Key Terms: Data-driven, Reinforcement learning, Progressive, Unbiased
“Follow the Light”
Credits: Intel
BSDF sampling
PG sampling
How is this practical?
Primary data structure for 5D lightfield (x, y, z, phi, theta) → SD-tree
Spatial-Directional Tree:
Enables logarithmic complexity for queries
Image credit: [2]
Scatter distribution
No path guiding
Path guiding
Path guiding (moved light)
Comparison images @ 64spp mine
Improvements (Stochastic Spatial Filter)
Integrating into Mitsuba3
Therefore, per bounce keep track of:
Let x’ = last bounce with L(e→x’) > 0
After the path, loop and compute:
Finally can use x, d, & L(x)
x | Position |
d | Direction |
L(e→x) | Path radiance, no NEE |
L’(e→x) | Total radiance, with NEE |
T(x) | Throughput so far |
Image credit: Mitsuba3 Docs
Mitsuba comparison mine
Mitsuba comparison mine
Mitsuba comparison mine
Final Render
Image: 1000x1000 @ 19k spp
(~1k spp for training)
Compute: ~7h @ 10c
Memory: 26 Gb
Assets: PolyHaven, SketchFab
Made in: Blender(Using Mitsuba plugin for export)
Final Render (ref)
Image: 1000x1000 @ 20k spp
(no training)
Compute: ~5.5h @ 10c
Memory: 26 Gb
Assets: PolyHaven, SketchFab
Made in: Blender(Using Mitsuba plugin for export)
Final scene scatter distribution comparison
Subsurface Scattering and Spectral Rendering
Jacky Sun
Subsurface Scattering with BSSRDF
[1] Henrik Wann Jensen, Stephen R. Marschner, Marc Levoy, Pat Hanrahan. A Practical Model for Subsurface Light Transport. 2001
[2] Physically Based Rendering: From Theory To Implementation, 3rd Edition.
[3] Habel, R., P. H. Christensen, and W. Jarosz. Photon beam diffusion: a hybrid Monte Carlo method for subsurface scattering. 2013
Sampling BSSRDF
uniformly sample one of them
BSSRDF Results
Lambertian
SSS
(Glossy Surface)
SSS
(Rough Surface)
Spectral Rendering
Spectral Rendering
1 spp
32 spp
Extras - Microfacet Refractions
[2] Bruce Walter1, Stephen R. Marschner, Hongsong Li, Kenneth E. Torrance. Microfacet Models for Refraction through Rough Surfaces. 2007
Extras - Microfacet Refractions
Roughness: 0
(Specular)
Roughness: 0.2
Roughness: 0.02
Roughness: 0.5
Wavelength Dependent Refraction
The Sellmeier Equation:
Approximation:
[3] Glenn F. Evans, Michael D. McCool. Stratified Wavelength Clusters for Efficient Spectral Monte Carlo Rendering. 1999
Wavelength Dependent Refraction
[4] Alexander Wilkie, Sehera Nawaz, Marc Droske, Andrea Weidlich, and Johannes Hanika. Hero wavelength spectral sampling. 2014
Spectral Rendering Result
without wavelength sampling
with wavelength sampling
Problems
Image for Contest
Placeholder: Wojnovich, Davis
Bi-Directional Path Tracing
Veach, E., Guibas, L. (1995). Bidirectional Estimators for Light Transport. In: Sakas, G., Müller, S., Shirley, P. (eds) Photorealistic Rendering Techniques. Focus on Computer Graphics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-87825-1_11
Results
Zero Light Vertices
NEE / One Light Vertex
Arbitrary Connections (Buggy)
Render Competition
Mewtwo Model by Luca Romagnoli
Mewtwo is intellectual property owned by the Pokemon Company
Depth of Field and Bidirectional Path Tracing
Wenlong Yan
Placeholder: Yan, Wenlong
Features
Depth of Field
Credit: Wikipedia
Depth of Field
Credit: Wikipedia
Results - DOF - Aperture
Aperture 10
Aperture 50
Aperture 90
Focal distance 1300
Results - DOF - Focal Distance
Focal distance 900
Focal distance 1300
Focal distance 1700
Aperture 50
BDPT-Path Generating
Result - BDPT (40spp)
Simple Path Tracing
Path Tracing With MIS
Bidirectional Path Tracing�(buggy)
Image for Contest
Placeholder: Yarlott, Lance
Polynomial Optics (and some PSSMLT)
Polynomial Optics: Overview
M. Hullin et al.�Ray intersection with spherical interface
Polynomial Optics: My Implementation
Source: Wikipedia - Ray transfer matrix analysis
Buggy Image Lightning Round & Post Mortem
PSSMLT: What I Learned from a Failed Implementation
Where I could have improved:
Source: Kelemen et al.
Competition Image
Spectral Rendering
Ziwen Ye
Hero Wavelength sampling
Naive
Herowavelength
Failure cases
Spectrum light and Material
solar spectral irradiance
Copper
Spectral Tracking (Heterogeneous Medium)
Ground Truth
Delta Tracking
Spectral Tracking(Buggy)
Spectral Tracking (Chromatic Medium)
Delta
Spectral
Competition Submission
Placeholder: Zhang, Arthas
Fun with Material and Texture
Lingxi Zhang
Confidential
Customized for Lorem Ipsum LLC
Version 1.0
Worley Noise Basic Version
Worley Noise Premium Version
Idea
t = c * d1
t = c * d2
Competition
Bump Mapping vs Displacement Mapping
Core Idea : Fake the Normals!
We want
Instead of getting the real x’
How about we just have a n’ for shading so that it looks like x’?
Some Math Work
n
dx/du
dx/dv
More Math Work
Implementations : texture!
Small problem :
Result
Result
Thank you.
Can range analysis help raycasting?
Tianyuan Zhang
Physics-based rendering course project, 2023 Spring
Range analysis for ray-casting
∈ [?, ?]
NN
x ∈ [-1, 1]
range tracing / interval tracing
range query
Sharp, N., & Jacobson, A. (2022). Spelunking the deep: guaranteed queries on general neural implicit surfaces via range analysis. ACM Transactions on Graphics (TOG), 41(4), 1-16.
range analysis for neural networks
x ∈ [-1, 3]
3
2
-1
2
3x
2x
y = 4x ∈ [-4, 12]
x ∈ [-1, 3]
ReLU
y = x + 0.75 𝞮; 𝞮∈ [0.25, 0.75]
auxiliary range variable
non-linear layers
linear layers
Compare sphere trace with range trace
wood
acropolis
galaxy
Range trace
Sphere trace
Computational cost
Object: Wood | Time / ray (s) | Average iters |
Sphere Trace | 0.132 | 8.13 |
Range | 0.647 | 11.95 |
object: galaxy | Time / ray | Average iters |
Sphere Trace | 0.124 | 10.96 |
Range | 0.673 | 22.02 |
Range trace is slower and needs more iterations!
Results for inverse rendering
Range trace
Sphere trace
Range trace gives more stable and faster convergence!
Summary
Range analysis helps:
Position-Free Monte Carlo Unidirectional Simulation for Layered Material
Robin Zheng
How “position-free” ?
Why “position-free” ?
Light Path Integral
Path contribution as product of vertex terms and segment terms
Light Path Integral (Cont.)
Segment terms taking depth and obtaining length measure
Then we evaluate BSDF as…
Position-Free In DIRT
sample -> now returns throughput directly after tracing a light path, equivalent to eval/pdf
pdf-> since we don’t use MIS, left blank
eval-> left blank, see evalandSampleNewDir
evalandSampleNewDir->evaluate f(w_i, w_o) and sample a new direction. Used for NEE
Multilayers are implemented recursively
Problems encountered..
Validation-No medium Interaction
ground truth
500 spp, with mixture sampling
6 minutes
500nd sample a new direction. Used for NEE
Position-free Monte Caro withou NEE
3500 spp
6 minutes
500nd sample a new direction. Used for NEE
Position-free Monte Caro with NEE
3500 spp
8 seconds
500nd sample a new direction. Used for NEE
Validation-Medium Interaction
ground truth
500 spp, with mixture sampling
6 minutes
500nd sample a new direction. Used for NEE
Position-free Monte Caro withou NEE
3500 spp
6 minutes
500nd sample a new direction. Used for NEE
Position-free Monte Caro with NEE
3500 spp
8 seconds
500nd sample a new direction. Used for NEE
Interesting results!
Contest Submission
References
Yu Guo, Miloš Hašan, and Shuang Zhao. 2018. Position-Free Monte Carlo
Simulation for Arbitrary Layered BSDFs. ACM Trans. Graph. 37, 6, Article 279
(November 2018), 14 pages. https://doi.org/10.1145/3272127.3275053
Snake Tattoo
Designed by dgim-studio / Freepik
Texture flower:
https://pngtree.com/freepng/floral-pattern-design_3780732.html
Texture fish scale:
Hand model:
Thank you!