#SL Materials System Update

This Content Creation Improvement Informal User Group is not completely dead… they are having meetings. Still Tuesdays at 3 PM in Hippotropolis.

The subject of glass materials with refractive properties came up. It is confirmed that there will NOT be any glass or refraction in the first release of a Materials System and likely not until the third stage of the Materials System. One has to wonder how long that will take.

Normal Map

I had forgotten that currently normal maps are used with water surfaces. In the Environment Settings you can add a normal map for the water surface.

It seems there are two flavors of normal maps; OpenGL and DirectX, which I didn’t know. There is more than two ways to do ‘bump’ on surfaces but, we will only get the tangent space normal maps style in the SL Materials System. The difference is in how the maps are created and used.

OpenGL uses -Z and DirectX uses +Z… or visa-versa… doesn’t really matter. By ‘-Z’ I mean the values are taken as a negative direction. That means dark is either up or down. The different types just reverse the way color values are used… sort of like a negative image that was common with old film cameras. In Photoshop press Ctrl-Shift-I to invert an image’s colors and get the negative or inverted colors.

Think of a waffle. If we use white has high and black as low a color map of the waffle will give us white lines and black squares. If we reverse that we get black lines and white squares. The end result is still a waffle. We just need to know which way things work so we can make the squares sink into the waffle… or are we raising the ridges? It does really matter.

Just like sculpty maps normal maps use the colors to represent channels and hold XYZ coordinate values. The XYZ coordinates are mapped to RGB channels.

To change a normal map from an OpenGL version to a DirectX version, select the image’s green color channel and invert its color. If you are used to editing images this all makes sense. If not, just take away that it is easy to change from one type of map to another.

Normal Maps made for tangent space have a characteristic blue leaning purple hue (see opening image). Those are the maps we will be using with Second Life.

Blender uses OpenGL. Normal Maps baked with it should be useable. I understand 3DS has the ability to generate either type of map.

If you are still unclear about why people are excited about Normal Maps, try on the Wikipedia’s explanation: “In 3D computer graphics, normal mapping, or “Dot3 bump mapping”, is a technique used for faking the lighting of bumps and dents. It is used to add details without using more polygons. A common use of this technique is to greatly enhance the appearance and details of a low polygon model by generating a normal map from a high polygon model. Normal maps are frequently stored as RGB images where the RGB components corresponds to the X, Y, and Z coordinates, respectively, of the surface normal.”


There is no ETA on delivery of the Materials System. Progress is being made. AFAIK, there is no server side code running anywhere or any project viewer.

I do not expect to see anything in open beta this year. I could be wrong…

3 thoughts on “#SL Materials System Update

  1. Nice to see that this still going on.
    There are any news asides of not having refraction yet?
    I meant more like if there are some closed beta testing somewhere or everything still just over the desk.

    • I can only speculate because I have no hard information.

      From what I know I would say they have it in mind. There is no code being written for it yet.

      While the current code may be written with the possibility for it to be written, that speculation is reaching.

  2. i really would like to see that LL in this just take a simple site track with them and also spend our water a refresh.
    As i understand its a low hanging fruit which also is easy for most graphic-cards to do and we really deserve a good looking water!
    Nvidia lined out how to program that http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter18.html so i filled it in a feature request

Leave a Reply

Your email address will not be published. Required fields are marked *