To achieve photorealism on a computer generated images it is not only necessary use a high-detail model. The appearance of the material needs to be considered. The rendering of metals exposed to weather (such as a statue) need to show signs of again and corrossion. In case of copper this process of aging and corrosion results in green patina, which grown and spread with time.
On this work I developed a shader for a raytracer, as well as a tool for simulating patina growth.
There are three challenging aspects to achieve photorealism:
This work was a class project. It was done with suggestions and guidance from Dr. Henrik W. Jensen.
The result of the patination process is a set of layers of different materials on top of a copper surface. These layers do not present a smooth surface.
The chosen method to model copper patina is a stack of n homogenous layers. Each layer has its own set of material properties. Since the thickness is not homogenous a 2D texture map is used to represent the change in thickness at different point of the surface.
Figure 1 shows the patination process on a strip of copper. On the left is an unexposed piece of copper, on the middle is a plate that has a thin layer of tarnish, and on the right is a plate that has one layer of patina placed by random deposition.
The physical process of patina growth is very complex since it depends on several factors. I implemented a simplified method that takes into account
The patina starting point on a statue, for example, is most likely due to environmental factors. For this project considered the wetness and exposure to sunlight of a specific place on the surface. On a statue a place with low accessibility is likely to retain moisture longer than other points on the surface due to sunlight not reaching it. These places are likely to develop patina sooner. To identify this places I created an accessibility map. Figure 2 shows the accessibility map for the Venus statue.
The accessibility map is used as the starting point of patina growth. The values on the map as used as probability of patina growth to neighboor positions. Random points are also added over time.
A model called Kubelka-Munk describes how to calculate the reflectance of a single layer over a background. An extension of this model was used to calculate reflectance and transmitance over a stack of layers.
To calculate reflectance this model uses parameters from the material such as thickness, absorption coeficient, and scattering coeficient, and also the reflectance of the material in the background.
Figure 3 shows the result of the simulation of the patina growth and rendering of layered surfaces. It shows an exposed copper statue on the left, the earlier stages of the patination process on the center, and on the right a statue on a latter stage that also shows the spread of patina over time.
There are some suggestions to improve results.
The accessibility map was implemented using a simplistic process that does not represent well the points that retain humidity. An improvement would be to use a method called offset-distance accessibility shading to start with an accessibility map that reflects better the realistic starting points of patina on a statue.
The simulation of patina growth also used a simplified model that does not reflect the complex process of patina growth in the real world. As result, some areas of patina on the final simulation look patchy. Investigating and developing a better model will create more realistic results.
Lastly, it is very difficult to find the correct values of the parameters for the materials used for the shading of layers. Many of these values are estimated or guessed, then adjusted to get the expected results, but it is difficult to tune them when there are more than two layers. Better parameters will contribute to more realistic results.
