1 / 27

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics. Jan Kautz, MPI Informatik Peter-Pike Sloan, Microsoft Research John Snyder, Microsoft Research. Motivation – BRDF vs. Light Complexity. Lighting. ?. area lights. point lights. BRDF Complexity.

iden
Télécharger la présentation

Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical Harmonics Jan Kautz, MPI Informatik Peter-Pike Sloan, Microsoft Research John Snyder, Microsoft Research

  2. Motivation –BRDF vs. Light Complexity Lighting ? arealights pointlights BRDF Complexity Phong +diffuse arbitraryaniso. BRDFs

  3. Phong Anisotropic Motivation – What we want • What we want: • Illuminate objects with environment maps • Use arbitrary BRDFs • Change lighting on-the-fly • Possibly include self-shadowing andinterreflections • At real-time rates

  4. DiffSH RefSpace FreqSpace PhoDiff ApproxEnv HomEnv PRT Our Technique ArbBRDF Related Work –Interactive Techniques Lighting high-frequencyarea lighting low-frequencyarea lighting BRDF Complexity point lights diffuse Phong isotropic anisotropic Phong/Diffuse Prefiltered Environment Maps[Miller84] [Greene86] [Heidrich99] Arbitrary BRDFs with Point Lights[Kautz99] [McCool01] BRDF Approximation for Environment Maps[Kautz99] Reflection Space Rendering[Cabral99] Diffuse Environment Maps using Spherical Harmonics[Ramamoorthi01] Homomorphic Factorization of Environment Maps[Latta02] Frequency Space Environment Mapping[Ramamoorthi02] Precomputed Radiance Transfer[Sloan02] Our Technique

  5. Related Work • Previous use of Spherical Harmonics • [Cabral87] Bidirectional Reflection Functions from Surface Bump Maps • [Westin92] Predicting Reflectance Functions from Complex Surfaces

  6. Background – Spherical Harmonics • Spherical Harmonics : • Orthonormal basis over the sphere • Analogous to Fourier transform over 1D circle • Important properties: • Rotational invariance  no aliasing artifacts • Projection: • Integration: • Rotation: linear xform on coefficients

  7. Background –Spherical Harmonics • Basis functions (examples) i = 1 i = 2 i = 3 i = 4 i = 8 i = 12 i = 15 i = 19

  8. Background –Spherical Harmonics • Example: projection of environment n=4 n=9 n=25 n=262 original

  9. into SH into SH light function: BRDF: Environment Mapping + Spherical Harmonics • Rendering Equation (no shadows): • Rewrite with • Project Lighting and BRDF

  10. Evaluating the Integral • The integralbecomes • But BRDF defined in local frameRotate lighting (or BRDF) to match:

  11. Preprocessing –BRDF Texture • Project BRDF into SH: • Put coefficients in texture map • Use parabolic parameterization for … i=1 i=3 i=4 i=5 i=6 i=7

  12. Lookup (local ) … Rotate lighting (to local) = Compute integral * = Rendering Project lighting per object per pixel/vertex

  13. Examples Phong Anisotropicbrushed in X Anisotropicbrushed in Y

  14. Lookup (local ) … = * = Rendering – Fixed Light Project lighting ONCE Rotate lighting (local) Compute integral

  15. Lookup (local ) … = Rendering – Fixed View Project lighting Rotate BRDF (to global) = * ONCE Compute integral

  16. Example • Bird model • 48K vert. • Measured Vinyl • FPS: • 6.04 free light/view • 28.4 fixed light • 128 fixed view

  17. Precomputed Radiance Transfer [SIG02] Without PRT PRT: Shadows+Interrefl.SIG02: Phong only

  18. Precomputed Radiance Transfer – Transfer Matrix Precompute how global incident lighting  local incident * p1 p1 lighting p2 p2 * transfer matrices transferred radiance

  19. Lookup (local ) … = Arbitrary BRDF with PRT Project lighting per object Transfer & rotate light per pixel/vertex = * * Compute integral

  20. Example • Stanfordbuddha • 50K vert. • Ashikhmin-BRDF • FPS: • 4.05 no xfer • 3.22 xfer • 15.6 fixed light • 127 fixed view

  21. Example 2:PRT with different BRDFs Measured Vinyl Phong [SIG02]

  22. Results –Different BRDFs

  23. Results –Brushed Metal-Patch Anisotropic ASbrushed radially Anisotropic ASbrushed tangentally

  24. Results – Spatially Varying BRDF Varying Exponent Varying Anisotropy

  25. Comparison of SH order vs. Glossiness

  26. Conclusions Pros: • Fast, arbitrary dynamic lighting • Works for arbitrary BRDFs • Combined with PRT: includes shadows and interreflections Cons: • Works only for low-frequency lighting • Not real-time (yet)

  27. Thank you! Questions? Please visit us at www.mpi-sb.mpg.de

More Related