Advertisement

Lustre of materials and objects

Started by July 24, 2010 12:33 PM
4 comments, last by coope 14 years, 6 months ago
Recently I've been outlining a design for an engine. Years away from actually trying to convert anything at all to code, but never to early to consider the problems.

Now I was listing some properties of materials, and I stumbled across the property Lustre. It has quite an interesting wikipedia page, I will outline the characterizations listed.

Lustres: Adamantine, Dull, Greasy, Metallic, Pearly, Resinous, Silky, Submetallic, Vitreous, Waxy
Optical Phenomena: Asterism, Aventurescence, Chatoyancy, Schiller, Color-Change

As for asterism I can see how this would be reproducible. If you take a look under the optical phenomena section you will surely agree it would be the easiest of all to reproduce.

http://en.wikipedia.org/wiki/Lustre_(mineralogy)#Terminology

Take a look at the link to see the look of them, and if you go into the pages given for some of the minerals which have these properties for light to interact with.. then you will see that they don't all look exactly the same.

Now I have come to the conclusion it would probably be easiest, and best.. to have these done through shaders. I want to see if anybody agrees with me there, and more importantly if anyone has any ideas to contribute. Especially if anybody has any clues how to go about replicating such effects.

I am not a very adept programmer so ideas on how to do such things in detail often illude me.
If you want more realism and don't care about real-time graphics you're better off with raytracing for example. But for raster graphics shaders are the way to go, yes.

These are quite advanced effects. I don't know about your experience in programming, but it's going to be very difficult if you're still a beginner.
Advertisement
Yes, you are correct different kind of materials can be mimicked with shaders.

But there are some thing witch are hard to do correctly:
reflection (sharp, blur)+ diffuse (bounced light GI)
refraction (sharp, blur) + Sub Surface Scattering

If reflection and refraction are leftout, then
Rhe bidirectional reflectance distribution function stored in texture can help.

some samples (picture is bit small)
BRDF

Bidirectional reflectance distribution function in Wiki

/Tyrian
Is it not theoretically possible to have just as much realism with the shaders, would it not be? Or at that point, for shaders, it would be actually slower than using the ray tracing?
Quote:
Original post by Sagenth
It is theoretically possible to have just as much realism with the shaders would it not? Or at that point, for shaders, it would be actually slower than using the ray tracing?

In general it's much easier to implement effects like reflection in raytracing, but optimizing them is much more difficult, because graphics cards weren't designed for ray tracing in the first place (which might change in the future).
In raster graphics you really just fake the effects to the extent that they look believable to make them realtime. It is more difficult to create these effects with a rasterizer if you want absolute realism.
Okay so it is more a matter of difficulty than speed. Would either, allow for a difference in how the objects look as far as their reflective properties are concerned? Turning to Labradorite as an example it displays the Schiller optical phenomenon, where the colors change as the rock rotates.

Where would you think the first step to be in actually getting it done, I mean I was looking for properties relating to physics then this caught my eye giving me the idea to have polished armor. So as far as graphical programming goes, I don't have a whole lot going for me. I predict that I will be told to read tutorials, any good ones?

[Edited by - Sagenth on July 24, 2010 2:58:23 PM]

This topic is closed to new replies.

Advertisement