Download presentation
Presentation is loading. Please wait.
Published byBeverly Logan Modified over 9 years ago
1
Tobias Zirr (1),2 and Anton Kaplanyan 1 1 NVIDIA Research 2 Karlsruhe Institute of Technology
2
i3D 2016 “Sparkly but not too Sparkly! A Stable and Robust Procedural Sparkle Effect” [Studio Gobo, SIG AiRTR 15] Procedural noise Direct placement of individual sparkle points Purely phenomenological 2
3
i3D 2016 Stochastic model for rough microscopic surface structure 3 Normal Distribution Function (NDF):
4
i3D 2016 Stochastic model for rough microscopic surface structure 4
5
i3D 2016 Stochastic model for rough microscopic surface structure 5
6
i3D 2016 Stochastic model assumes independent distributions 6 More this: Less this:
7
i3D 2016 Stochastic model assumes independent distributions 7 More this: Less this: Glint: Local aggregation of similar microsurface orientations
8
i3D 2016 “Rendering Glints on High-Resolution Normal-Mapped Specular Surfaces” [Yan et al.14] Enumeration of reflecting ‘facets’ (texels) in footprint Orientation bounding hierarchy on normal map Tree pruning 8
9
i3D 2016 “Discrete Stochastic Microfacet Models” [Jakob et al.14] Distribute arbitrary number of microfacets / ‘particles’ Pseudo-random (deterministic), no need to store 4D hierarchical stochastic distribution process (p, n) 99
10
i3D 2016 In Theory 10
11
i3D 2016 General idea: NDF varies with location Model microsurface by distribution of microdetails: “Randomly instantiate microdetail patches” 11 Microdetails: Randomized Instantiations of Microdetail NDFs/“MicroBRDFs”
12
i3D 2016 12
13
i3D 2016 “Almost Specular” Microfacets Count the number of reflecting microfacets per area [Jakob et al.]: Discrete Stochastic Microfacet Models, [Yan et al.]: Rendering Glints on High-Resolution Normal-Mapped Specular Surfaces Ours: Glossy Microdetails Continuum from max to min reflectivity per microdetail 13
14
i3D 2016 14
15
i3D 2016 15
16
i3D 2016 16
17
i3D 2016 17
18
i3D 2016 In Practice 18
19
i3D 2016 Hierarchical multinomial process too expensive Simplify to one binomial random variable Total number of microdetails for a given area Probability of microdetail contributing w/ max intensity 19
20
i3D 2016 Ideally one binomial draw per pixel, but footprints vary Per-pixel area in screen space unstable! Resort to stable texture-space power-of-two grids and proven methods of anisotropic texture filtering: One binomial draw per grid cell Trilinear interpolation 20
21
i3D 2016 21 Search space 4D: Also need subdivision of microdetail orientations Paraboloid half vector grid Seed binomial using 4D index Perturb half vector partitioning using texture grid index to avoid simultaneous change of sparkles
22
i3D 2016 Seed binomials with cell indices Problem: Blending noise leads to smearing (averaging) Solution: Multi-level coherent seeds 22 (Generic multiscale noise also useful elsewhere!)
23
i3D 2016 Seed binomials with cell indices Problem: Blending noise leads to smearing (averaging) Solution: Multi-level coherent seeds 23 cellIdx >> findLSB(cellIdx) (Generic multiscale noise also useful elsewhere!)
24
i3D 2016 24
25
i3D 2016 Vary microdetail density per texture grid cell Spreads grainy appearance across larger range of scales 25
26
i3D 2016 GeForce GTX 980, 1080p Maximum anisotropy: 16x ALU variance: 8-64 cells to shade 412 static instructions, 204 within a loop for one cell No texture fetches 26 ScenePolysIsotropic footprint, msGrazing angle, ms Full-screen pass20.92.9 Snow32k2.54.0 Dress100k1.44.4 Car (grooves)570k2.53.9 Crytek Sponza262k3.05.9
27
i3D 2016 Example available online: https://www.shadertoy.com/view/ldVGRh https://www.shadertoy.com/view/ldVGRh
28
i3D 2016
29
Questions? Contact Tobias Zirr tobias.zirr@alphanew.net Twitter: @alphanew tobias.zirr@alphanew.net Anton Kaplanyan kaplanyan@gmail.com Twitter: @kaplanyan kaplanyan@gmail.com 29
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.