mf193 opened this issue on May 27, 2002 ยท 9 posts
mf193 posted Mon, 27 May 2002 at 12:26 PM
I was looking at a pic posted by DotPainter123 in the gallery...he used irridescent shaders. I was wondering if anyone knew anything about them and could tell me how it all works. Thanks.
Nicholas86 posted Mon, 27 May 2002 at 4:09 PM
Not sure those are shaders or lights...
Kixum posted Mon, 27 May 2002 at 6:52 PM
An excellenct question I was going to ask him myself. I personally suspected it was some kind of colored map or procedural in the reflection or highlight channnels.
Paging DotPainter?
-Kix
-Kix
willf posted Tue, 28 May 2002 at 8:29 AM
I havn't seen that image but I have stumbled upon an interesting glowing/irridescent effect by useing Tube lights in combination with noise in a shader. I'll have to find my file (somewhere) to check into it further.
willf posted Tue, 28 May 2002 at 8:56 AM
DotPainter123 posted Tue, 28 May 2002 at 11:34 AM
Attached Link: http://www.cgfocus.com/ArticleDetails.cfm?ArticleID=117
Sorry it took so long to get back. I was trying another test render but it wasn't any good. Basically irridescence can be defined in a few ways, but for CG it is a function of something called a BRDF or BiReflective Distribution Function. This is implemented as a special shader in other packages, so I was trying to simulate it in Carrara. Basically you are getting light reflected off of a surface at two angles with different wavelengths (colors). I don't have time to get into it now, but here are some other images that show the concept. I hope to have more samples soon...mf193 posted Tue, 28 May 2002 at 2:18 PM
Now how to do that in Carrara? Sounds complicated.
DotPainter123 posted Tue, 28 May 2002 at 4:50 PM
DotPainter123 posted Wed, 29 May 2002 at 4:57 PM
Here is the low down on the irridescent shader concept I am working on: The main idea is to simulate that basic scattering properties of a irridescent shader (see BRDF above). Irridescence is a combination of highlight, reflection and sometimes color scattering. My tests focused mainly on the highlight, reflection and even transparency channels. With this basic idea in mind, I moved to Carrara. I looked at the Carrara shader tree to find a way of splitting a highlight into two (or more) colors based on surface angle. The shader components I found were elevation, slope and snow. Given these components, I created some highlights with contrasting colors, like pink and green or blue and yellow, to simulate the wavelengths of the scattered light. Using a simple two color shader with slope, snow or elevation in the highlight channel and a low or 0 shininess value, generates a decent display of the concept. The same goes for the reflection layer, but for this there must be something to reflect to show it off the best. Another important consideration was to find a model with suitable surface complexity to show off the color variations. As you can see above, the vase is turned on it's side so that I could see the variations of colors in the highlight, reflection and transparency channels as a result of the change in slope on the surface. These were some of my first tests and if you look at the image in the gallery, the upright vases dont show much color variation, even though the clear glass vase uses the same shader as the first one posted here. The next consideration had to go to lighting. In order to provide for the maximal amount of highlight area over an object's surface, it is necessary to have multiple lights (no special color), or a sky dome to spread out the highlight. In another series of tests, I used a free model of Athene from Despona graphics with a skydome. The shaders I had up to this point had to be tweaked a lot in order to get satisfactory results (and I am still working at it). I will post an example of these tests next. Suffice to say, I have a lot more testing to do. My shaders have gotten a lot more complex and sometimes give good results. However, I have started creating layered shaders with up to 5 layers or more and it gets a bit overwhelming to manage. Using layers in this fashion allows for multiple layers with different colors and more complex patterns in the highlight and reflection channels. But to bring out these variations and to simulate a true BRDF shader, I have been using transparency in all but the last layer, to allow each layer to show through the next. The last layer has no transparency and has a higher opacity value, so that the overall object is not transparent. More work however has to be done in this area. Anyway, I hope this provides some useful info on setting up irridescence and a basis for more experimentation. .Painter