120413 making noises

62
Texturering & Modeling a Procedual Approach 김김김

Upload: carrotcg

Post on 25-Jan-2015

775 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

  • 1. Texturering & Modeling a Procedual Approach

2. Chapter 2Building Procedural Textures 3. Agenda MAKING NOISES Introduction Noise Function Definition Interpolation Lattice Noises Value Noise Gradient Noise Value-Gradient Noise Lattice Convolution Noise Sparse Convolution Noise Explicit Noise Algorithms Fourier Spectral Synthesis3 4. Making Noises 4 5. Making Noises NoiseIrregular Primitive Function 5 6. Making NoisesRandom Stochastic6 7. Making NoisesWhite Noise 7 8. Making NoisesWhite Noise Noise White Noise 8 9. Making Noises 9 10. Making Noises (Function) 10 11. Making Noises11 12. Making Noises12 13. Making Noises13 14. Making Noises (Aliasing) 14 15. Making NoisesPseudorandomknown rangeband-limited : [ - 1 ~ 1] maximum frequency 1Noobviousperiodicities or regular StationaryIsotropic patterns15 16. Introduction Seed (Pseudorandom Number Generator) 16 17. DefinitionAmplitude() : , WaveLength() : () Frequency() : 1/WaveLength Sin Noise 17 18. DefinitionOctave() : ( 6)Persistence() : 18 19. Definition 19 20. Interpolation 20 21. Interpolation1 Linear Interpolate(a, b, x) return a*(1-x) + b*x 21 22. Interpolation2 Cosine Interpolate(a, b, x) ft = x * 3.1415927 f = (1 - cos(ft)) * .5 return a*(1-f) + b*f 22 23. Interpolation2 Cosine Interpolate(a, b, x) ft = x * 3.1415927 f = (1 - cos(ft)) * .5 return a*(1-f) + b*f 23 24. Interpolation3 Hermite interpolationv = lerp(v0, v1, x^2(3-2x))24 25. InterpolationCubic Interpolate(v0, v1, v2, v3,x)v0 = the point before a P = (v3 - v2) - (v0 - v1)v1 = the point aQ = (v0 - v1) - Pv2 = the point bR = v2 - v0 S = v1v3 = the point after breturn Px3 + Qx2 + Rx + S25 26. Interpolation Smooth Noise26 27. Lattice Noises PRN smooth interpolation 27 28. Lattice NoisesLattice Noise + Smooth interpolation 28 29. Lattice Noises 29 30. Value Noiselattice -1 1 PRN , , ( ), 30 31. Value NoiseCatmull-Rom spline interpolation 64 Control Point , 31 32. Value NoiseQuadratic interpolation Cubic B-Spline interpolation , wiener (Lewis) 32 33. Value Noisegraph of a 1D sample 2D slice of the function Power spectrum 33 34. Gradient NoiseThe function that launched a thousand textures.34 35. Gradient Noise Perlin Noise , 35 36. Gradient NoiseCreating the Perlin Noise Function : 1 Dimension 36 37. Gradient NoiseCreating the Perlin Noise Function : 2 Dimension 37 38. Gradient Noise Perlin Noise. 4 , 0.25 0.5 . Perlin Noise / [3 Perlin Noise] 38 39. Gradient Noise Perlin Offsettexture = cosine( x + perlin(x,y,z) ) g = perlin(x,y,z) * 20 grain = g - int(g) bumps = perlin(x*50, y*50, z*20) if bumps < .5 then bumps = 0 else bumps = 1t[3 Perlin Noise]39 40. Gradient Noise Controlling virtual beings:1 Drawing sketched lines Landscapes:2 Clouds Generating Textures 3D Clouds3 Animated Clouds Solid Textures4 Animated 3D Textures and Clouds:Perlin Noise 40 41. Gradient Noisepseudorandom gradient vector Gradient gradient noise Lattice Point 0, pseudorandom gradients Lattice Point lattice cell 8 Conner gradients 41 42. Gradient NoisePseudorandom Gradient ix, iy, iz LatticePoint Gradient Noise Value 42 43. Gradient Noise smoothstep 43 44. Gradient Noisegraph of a 1D sample 2D slice of the function Power spectrum 44 45. Value Gradient NoiseGradient noise lattice point value = 0(zero)Zero Grid gradiant noise Value method Gradient method Value noise Gradient Noise Weig hted sum( ) 45 46. Value Gradient Noisegraph of a 1D sample2D slice of the functionPower spectrum [Catmull-Rom vnoise gradient gnoise weighed sum] 46 47. Value Gradient Noisegraph of a 1D sample 2D slice of the function Power spectrum [Cubic Hermite Interpolation] 47 48. Value-Gradient NoiseHermite interpolationHermite spline Spline value Spline value End point Tangent Gradient spline tangent 48 49. Lattice Convolution NoiseLattice noise axis-aligned lattice PRN Blend (anisotrophic) Convolution technique Lattice point PRN Random value impulse , filter convolveCatmull-Rom Filter , Input-Point 49 50. Lattice Convolution Noise catrom2 squared distancefunction Catmull-Rom filter table table look-up value 50 51. Lattice Convolution Noisegraph of a 1D sample2D slice of the function Power spectrum51 52. Sparse Convolution Noiserandom random collection filter function convolveWhite Noise Low-pass Filtering Filter Function Filter modify PRN lattice cell pseudorandom point 52 53. Sparse Convolution Noise 3 lattice cell 125 lattice cell cell cell noise function 53 54. Sparse Convolution Noisegraph of a 1D sample2D slice of the function Power spectrum54 55. Explicit Noise AlgorithmsImplicit procedural texture Noise Fractal Explicit Noise Batch implicit procedural texture , noise value generate table texture image 55 56. Explicit Noise AlgorithmsMidpoint displacement method (Fournier, Fussell, Carpenter 1982) 56 57. Fourier Spectral Synthesis frequency , noise power frequency frequency frequency noi se , cloud texture "random" (coefficient) 57 58. Fourier Spectral Synthesis 58 59. Fourier Spectral Synthesis discrete specturm , random frequency frequency function generation FFT( ) , implicit procedural texture point Gardner texture noise noise lattice noise , procedural texture Lattice convolution sparse convolution noise spectrum 59 60. Reference http://www.siggraph.org/education/materials/HyperGraph/mapping/r_wolfe/r_wolfe_mapping_6.htm http://blog.naver.com/sorkelf/40156271551 http://blog.daum.net/rockeracer/7 http://freespace.virgin.net/hugo.elias/models/m_perlin.htm http://mrl.nyu.edu/~perlin/ http://www.redwiki.net/wiki/wiki.php/Perlin%20Noise#s-11.1 http://www.dreamincode.net/forums/topic/66480-perlin-noise/ http://www.csee.umbc.edu/~ebert/691/Au00/Notes/procedural.html http://developer.nvidia.com/node/106 http://www.scratchapixel.com/lessons/3d-advanced-lessons/noise-part-1/introduction/ http://physbam.stanford.edu/cs448x/old/Procedural_Noise%282f%29Categories.html#LatticeGradientNoises http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter26.html 60 61. Q&A 62.