Assignment:
Create a shader that resembles the surface aspects of opal.
My Analysis:
Interesting challenge. Wasn't sure at first how to tackle this problem. This thing I wanted to try and do was create noise in a patch like form. Then worry aout the specularity and color chaging aspects. The first though was of the cellnoise() function. This didn't produce what I wanted, but led me in the next direction. Looking in the Advanced Renderman book I found voronoi noise function. With this I produced some interesting results.
From this pattern I started trying some different combination and adding slight specularity. I also ran into some interesting results. The first had cracks.
I next tried to implement some color change, as on the left. I got rid of the black edges on the next attempt as in the pic on the right.
None of these however if the camera angle changed would change color of single patches of noise be a different specularity. My next attempts were to get gradual color change across the surface. The first is using regular normal for the diffuse. The second is using a 'noisy' normal based off the same parameters that the cellnoise was produced.
This last one was using noise normal as in the last, added specularity and used noisey normals on the color. Properly name 'The Disco Ball' by Jesse.