Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Procedural Shading & Texturing

shinji
July 31, 2016

Procedural Shading & Texturing

A part of the slides of my work (before joining Autodesk) that I used at CEDEC some years back.

shinji

July 31, 2016
Tweet

More Decks by shinji

Other Decks in Programming

Transcript

  1. Procedural Shading • Procedural shading Procedural shading is a proven

    rendering technique in which a short user- written procedure, called a shader, determines the shading and color variations across each surface. - Marc Olano • Procedural texture A procedural texture is a computer-generated image created using an algorithm intended to create a realistic surface or volumetric representation of natural elements such as wood, marble, granite, metal, stone, and others, for use in texture mapping. - Wikipedia
  2. Famous Algorithms • An Image Synthesizer – Ken Perlin (Siggraph

    1985) • A Cellular Texture Basis Function – Steve Worley (Siggraph 1996)
  3. Voronoi Cell • Useful for mesoscale features (micro – meso

    - macro) • Inclusions, scratches, etc. Modeling Aventurescent Gems with Procedural Textures –Weidlich et al. (SCCG 2008) Multi-Scale Rendering of Scratched Materials using a Structured SV-BRDF Model – Raymond et al. (TOG 2016)
  4. Coloration • Use exemplar • Histogram matching • Poor performance

    • Spatial information is not taken into account • Fractional Brownian motion in 2D texture space
  5. Voronoi Cell – Hash Function • 4D vector input –

    4D vector output In (x,y,z,t): x,y,z:grid t:instance ID, etc. Out(x,y,z,t): x,y,z:feature point t:normal, color, density, etc. • Chaotic Hash Algorithms • Secure Hash Algorithms • MD5, SHA-0, SHA-1, SHA2, SHA-3, etc.
  6. Voronoi Cell – Hash Function • 4D vector input –

    4D vector output In (x,y,z,t): x,y,z:grid t:instance ID, etc. Out(x,y,z,t): x,y,z:feature point t:normal, color, density, etc.
  7. Voronoi Cell – Hash Function • 4D vector input –

    4D vector output In (x,y,z,t): x,y,z:grid t:instance ID, etc. Out(x,y,z,t): x,y,z:feature point t:normal, color, density, etc.
  8. Voronoi Cell – Hash Function • 4D vector input –

    4D vector output In (x,y,z,t): x,y,z:grid t:instance ID, etc. Out(x,y,z,t): x,y,z:feature point t:normal, color, density, etc.
  9. Inclusions • Ray marching • Normal vector • Sample warping

    δ>density, density’=density/δ • Spherical Fibonacci lattice id=(int)(N x density’)
  10. Fourier Transform • Convolution • Ocean waves • Useful tool

    to design or analyze procedural noise patterns
  11. Ocean Waves • Empirical Directional Wave Spectra for Computer Graphics

    - Christopher J. Horvath (Digipro 2015) IFFT Ocean! Generate waves (Points in frequency space)