Jump to content

Should RGB of full-alpha diffusemap affect specular appearance?


You are about to reply to a thread that has been inactive for 2725 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

(First, apologies if this is completely expected behaviour. This is not a topic I know about, so my surprise may be simple confusion.)

I was playing around with adding a uniform specularmap to a mesh avatar's tattoo layer which is mostly alpha, and the results were puzzling at first. Eventually I decomposed the tattoo's diffusemap into separate channels and discovered that the brightness in the RGB channels affected the apparent brightness of the surface with specularmap applied even in areas where the diffusemap's alpha channel was 0.0 (completely transparent).

Practically, this means that such a tattoo better look good in areas that are completely invisible when no specularmap is applied.

Not surprisingly, this only applies when the surface's alpha mode is blended, not masked. (I can't actually control alpha mode on this mesh avatar -- dammit -- but this effect obtains on any old prim surface too, not only mesh avatars.)

If you want to play around with this yourself, the Library's "*Default Transparent Texture" has uniform 1.0 RGB channels. I made a contrasting 0.0 RGB full alpha texture with UUID bed3431f-4e0a-c2e5-aade-878a4e9dde53 for contrast. Slap a coat of uniform blank specular on those and notice the difference.

Should I have known this would happen?  Are there subtleties to this, beyond my naive noticing of different "apparent brightness"?

Link to comment
Share on other sites

I think this is expected behavior. The color of the specular map is added to the color of the diffuse map. And the light model in SL allows values greater than 1. Thus a brighter reflectance. To kill the reflectance on the transparent areas with alpha blending, it requires a custom specular map as well, where the alpha areas are pure black in the specular color map.

Link to comment
Share on other sites


arton Rotaru wrote:

The color of the specular map is added to the color of the diffuse map. 

Thanks, that was exactly the information I was lacking. I suspected it was at least accepted behaviour, which is why I didn't start out making a jira.

The thing about the tattoo diffusemap needing to "look good" in alpha'd-out areas somewhat understates the practical implications. The intent of this tattoo was to fake kind of "baked-in" highlights and shadows -- bright and dark areas on the diffusemap, with everything else alpha'd out -- and that works just fine without a specularmap applied. With a specularmap, however, all that alpha'd out area needs to be some specific choice of color, and in order for there to be both "highlights" and "shadows", it must be some medium grey -- which means that the entire surface of the avatar must have that same medium grey background tattoo. That's certainly do-able, but it's a pain in the butt.

Also, I'm not a tattoo creator or anything, but I'll bet I'm not the only one who will "discover" this effect, as commercial mesh avatars become less materials-crippled.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2725 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...