1 / 27

Modeling and Rendering of Metallic Patinas

Modeling and Rendering of Metallic Patinas. Julie Dorsey – MIT Pat Hanrahan – Stanford University. Presentation By: Brad Jones. Definition. Patina ( pat’ ə-nə ) n . a film that forms on a surface, esp. bronze; a mellowing due to age. ( Webster College Dictionary ). Introduction.

bobby
Télécharger la présentation

Modeling and Rendering of Metallic Patinas

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. Modeling and Rendering of Metallic Patinas Julie Dorsey – MIT Pat Hanrahan – Stanford University Presentation By: Brad Jones

  2. Definition • Patina (pat’ ə-nə) n. a film that forms on a surface, esp. bronze; a mellowing due to age. (Webster College Dictionary)

  3. Introduction • All materials appearance’s change over time

  4. Introduction • For realistic scenes, we must take this into account • Using texture maps is ad-hoc and labor intensive • This paper proposes to model the appearance through a (phenomenological) simulation of a metallic (copper) patina

  5. Copper Patina’s Physical Basis • Natural Patina’s develop primarily from atmospheric corrosion. • This corrosion affects the chemical composition of the surface • Products of the initial reaction, react further to form layers • This is a complex process that is hard to simulate

  6. Composition and Formation • Layers are clearly visible • We know which each layer is made out of • Copper • Copper Oxides • Copper Sulfides and various other Copper Salts

  7. Physical Environment • Different layers form based on atmospheric environment and length of exposure • Water collection significantly alters look of patina (most take into account geometry) • There are other factors like temperature, abrasions, polishing – ignore these

  8. Modeling • Write a script in terms of operators that manipulate a layered material • Coat • Erode • Fill • Polish • Offset

  9. Thickness Maps • Operators need variation • Variation is based on Textures • Rectangular Texture Maps • Vertex augmentations on the mesh • These textures are 2-D grayscale images

  10. Generating Thickness Maps • They implemented fractal surface growth models from Fractal Concepts in Surface Growth by Barabási and Stanley • Steady Thickening • Random Deposition • Ballistic Deposition • Directed Percolation Depinning

  11. Steady Thickening • Creates a simple, uniform pattern that increases thickness over time • Sample the surface evenly • Assign an initial thickness to each sample point • Interpolate thickness to each point in-between • Over time, increase height of each sample point according to some growth rate and in some small random factor to keep pattern varied

  12. Random Deposition • Pick a random point, add some height • Simulates dropping a particle • This might create a pattern that is too rough • Relaxation • Simulate jittering the surface to see if the particle falls to one of its neighbors • Smoothes the appearance

  13. Ballistic Distribution • Pick a random point and drop a particle • Resulting height of the point is the maximum of the height of the neighboring points or the height increased by the particle’s thickness • Simulates a particle that sticks to the side of one of its neighbors • This causes lateral surface growth

  14. Directed Percolation Depinning • Start with a mask for blocked and unblocked cells along with initial thickness map • The thickness map is more likely to grow into unblocked cells (lateral growth) • Introduce seeds into unoccupied regions • Vertical growth happens a location based on height of neighbors

  15. Coat • coat materialthicknessthickness-map • Adds a new layer of the given material • With maximum thickness • Its distribution is controlled by the thickness map

  16. Erode • erode thicknessthickness-map • Erode removes material away from a surface according to some thickness map • Theoretically each layer should erode according to some property of the material i.e. rust is removed more easily than iron (they do not currently take this into account)

  17. Fill • fill materialheightheight-map • Deposits a material up to some height • It is like filling in cracks

  18. Polish • polish height height-map • Keeps removing material until some absolute height is reached

  19. Offset • offset radius • Applies a thick coat to the surface • Then removes the part that intersects with a sphere of a given radius

  20. Rendering • Rendering a single layer they use the Kubelka-Monk model (KM Model) • The KM model corresponds roughly to 1-D radiosity

  21. Rendering One Layer • Equation is change in Flux/area is equal to – (absorption + backscattering) + backscattering from the opposite direction • This has an analytical solution

  22. Rendering One Layer Cont. • Reflectance and Transmittance are given by looking at ratios an the interfaces of the layer • We still need to determine K and S • Measure reflectance of a thick surface; assume S • a = (S+K)/S, b=sqrt(a^2-1)

  23. Multiple Layers • Layers can be combined to give an overall reflectance and transmittance

  24. Specular Reflection (BRDF) • The KM model handles diffuse reflection but not specular • They use Cs(N H)^(1/r) to model specular reflection • They calculate a surface roughness • Upper layers inherit properties below • Attenuate specular terms by 2 times the diffuse transmittance for each layer on top (it has to pass through the layer twice) • Have the renderer sum the terms • This is an approximation

  25. Sample Script new copper; coat tarnish_1 0.35 texture(BD_linear_1_20); coat cuprite_2 1.2 texture(DPD_linear_5_40); coat marine_patina_3 3.0 texture(BD_linear_10_20); coat marine_patina_4 1.8 texture(DPD_linear_20_40); erode 0.5 texture(BD_linear_5_20); render maps;

  26. Results

  27. Conclusions • Results are convincing • Short-comings • How to pick the right textures? • Better Erosion Model • Better Water Collection Model • Better Glossy Reflection model (important?) • Still involves lots of parameter tweaking

More Related