We are midyear already…
Chip Midnight, the maker of the clothing templates that many of us use, has put up some interesting posts about Materials over on SLUniverse. Chip is working with materials. The image here is an avatar he made.
Chip in talking about the model in the images says, “Usually glossiness (how sharp or diffuse specular highlights are which mimics how smooth or rough a surface is) and specularity are each controlled with a texture map. SL only gives us a specular map and an overall glossiness value which effects the entire surface. If you’re using a 3d app to bake out the different component maps I’ve found I get the best results when I output both a specular and gloss map and then combine them (the multiply blending mode in photoshop works well for this), and use the result as the specular map in SL. Without a gloss map it can be difficult to have one material represent different surface types. Having an even amount of gloss on the whole surface makes it seem as though it’s all the same smoothness.” (Ref)
The second image is a representation of the 4 maps produced by MarmoSet Skymaps. (US$125). But, it brings up the idea of whether or not various maps could be combined into a single texture, thus reducing the amount to be downloaded. I’ll have to experiment with that.
Drongle responded saying, “Chip said: “SL only gives us a specular map and an overall glossiness value which effects the entire surface.“
I don’t know why you say that. The specular map (“Shininess”) controls the color of the specular reflection in the rgb channels, and the strength of the environmental reflection in the alpha channel. The alpha channel of the normal map controls the specular exponent (tightness of specular highlights).So all of these can vary within the map. The spinners you get when you choose the “shininess” texture are multipliers for the values taken from these alpha channels for specular exponent (“glossiness” = old shininess) and environmental reflection. The effects are only the same across the whole map if the relevant alpha channels are unvarying (e.g. by using blank texture).
Using a grayscale image for the specular (“shininess”)map, with constant or no alpha, will only vary the intensity of white specular highlights, without affecting the exponent, and allows only contant [sic] environment reflection. So it is far from using the whole scope of variation available.
Here are some pictures. They are the same box prim with the same texture, same normal map making the blobs, same specular map. The normal and specular maps have alpha channels that are stripes with the values shown (0-255). The specular map rgb is all full bright white. First is with “glossiness”=100, “environment”=0, so only the specular exponent varies. Second is with “glossiness”=0, “environment”=100, so only the environment reflection is present and varies. Third one shows both varying, with the stripes at right angle to see all the combinations.” (Ref – follow the link to see the images Drongle refers to)
If you have not been studying some specular map tutorials, I suspect this can sound confusing. You’ll need to check out some of the following articles and tutorials.
In late May Jeremy Linden added the page Alpha Modes Do’s and Don’ts to the SL Wiki. Alpha modes on prims is a bit complex now. Quoting from the page, “At present, the viewer supports four different diffuse texture alpha modes on the face of a prim, and two additional alpha modes for the normal and specular textures (one for each) to enable content creators to create visually complex surfaces.”
DanielRavenNest pointed to a tutorial on Normal Maps: What is a Normal Map? A part of the tutorial is about how to create the low poly model for use with a normal map: Modeling the Low-Poly Mesh. This is a key to low lag great looking models.
You need to understand how hi-poly models are used to create normal/specular maps that are then applied to low-poly maps.
If you don’t know, materials are not currently scriptable. That was a deliberate omission from the Phase I Materials project. I expect to see this change and scripting commands arrive with Phase II Materials.
Darien Caldwell. Modify maps – Knald is the world’s first GPU powered solution for generating “bake quality” textures from any 2D source texture. This is a US$125 program.
Another similar tool is Xnormal. From the site, “xNormal is an application to generate normal / ambient occlusion / displacement maps. It can also project the texture of the highpoly model into the lowpoly mesh (complete texture transfer, even with different topologies ).” This is a free program.
Niran has a 4:31 minute video up on YouTube showing the materials rendering in Niran’s Black Dragon viewer, and experimental viewer. This is a departure from Niran’s Viewer. This viewer is based on the Lab’s viewer code. It has RLVa added in. (blog)
Some newer GPU’s are not recognized by the viewer, like the 700 series nVidia cards. You can fix that by getting a GPU Table file from another viewer. These files are text files so you can quickly search them to see if your GPU is included.
Find the file: gpu_table.txt. The file is in the viewer’s install folder. (eg: C:\Program Files\SecondLifeViewer).