Not much new news so far this week. We did learn a bit more about how the Materials System may be implemented.
Materials
Q: Will there be any veiwer settings requirements to see materials? such as lighting and shadows on. ac14 Hutson
A: I suppose Hutsom is asking will there be any visual settings dependencies. For instance having to have Lighting & Shadows on before you can turn on Sun/Moon shadows is a dependency.
A: Geenz Spad: Lighting & Shadows will be required, *however* you can disable the shadows part by setting that setting to “None”.
You may have noticed that Bump Maps can be viewed using only the Basic Shaders. So… If you are wondering why we have to use Lighting & Shadows to use materials (normal – specular), it is because the process used to render bump maps is incompatible with materials. Forward rendering and the way the viewer is applying light to a bump map becomes a problem when trying to light a normal map.
If you read the meeting transcript you will gather that how lighting is going to be handled in the future is a bit undecided. It looks like they will implement a simplified version of materials to see how things perform then make a second pass to add more bells and whistles.
Q: Will materials be at the cost of texture faces?
A: Geenz Spad: Currently you’ll be able to have as many materials as there are selectable faces on a prim (or texture groups on a mesh).
Each face will be able to have a separate texture, normal, and specular image associated with it.
Nyx Linden: Think of it as adding normal & specular texture “slots” to each prim “face”.
Q: Will there be channels?
Nal: By channels he means layers like clothing layers. Some people would like to blend textures on prims. We can use transparency made in Photoshop with clothing layers to create blends.
A: No.
Q: Which axis of normals will be controlled by which channel in the texture?
Nal: Bump maps displace the surface perpendicular to the polygon face. Normal maps can displace the surface in all 3 directions or axis. So the question is about which color channel in an image will control which axis. The axis in this case are perpendicular and parallel to the face, I think.
A: Red = tangent space X axis, Green = tangent space Y axis, Blue = tangent space Z axis. It’s usually literally labeled “OpenGL Style”.
Q: Will there be slots for ambient occlusion and shadow maps?
Nal: This gets too hard to explain and since we are told that the answer is NO for the first release, it is rather moot.
Q: What will the performance impact be?
A: Aside from the additional texture data, there will be no more additional performance impact than existing bumpy and shiny objects produce.
Q: Will pre-materials prims support the new material?
A: Yes. Normal and Specular maps will be additional slots so the system will be backward compatible. Old objects, prim and mesh, will be able to have maps added. That includes rigged mesh.
Q: What about avatar clothing layers, can they handle the new maps?
A: Avatars are special types of primitives. The answer is yes, but it is complicated. So, don’t expect it to happen in the first pass, if ever. However, mesh and rigged mesh clothes will be able to use the new maps.
Q: Will we see reflective materials like mirrors or realistic water? Voodoo Radek
A: No. Reflections are far too computationally intense. There is more discussion you can check out in the meeting transcript. (Not posted as I write, so no link.)
Q: Will we be able to use the current water material at least?
A: Nyx Linden: No, there are a number of reasons why the water shaders cannot be used on arbitrary prims.
Q: Drongle McMahon: Which will be first? Materials or Deformer?
A: Nobody knows.
Summary
We got a bit more information on the Materials System and how it is likely to be implemented. On the Linden side Brooke Linden is coordinating changes server side and to the SL viewer. Geenz Spad is handling most of the viewer side implementation. I suspect we are likely to see a project viewer by the Lab and Exodus about the same time. I am guessing other viewers will avoid adding Materials Project viewers until the code stabilizes a bit.
It is hard to get any sense of where we are in the project and what the time line is. Some bits of information suggest the project has been underway since February of this year. But, I can’t confirm that. If that is so, I would guess the server side of things is pretty well defined as is the viewer side.
With any software development project things change once implementation starts. Sometimes whole projects have to be re-thought. We’ll have to wait to find out how this one goes. Still I am thinking this is a project that will be measured in months.