Specular ignoring alpha! What am i missing?

Using a procedural (clouds) I can easily get transparency (alpha) to influence the diffuse part of the material but not having any luck limiting specular highlights to the opaque and semiopaque regions. Am I missing an option somewhere? is this a very unusual scenario?

Attachments

transparencytest.blend (515 KB)


Raytracing should work with a procedural like that… but try z-transparency instead.

Thank you for your answer, Tommy. Z transparency does produce the effect that I expect but does this mean that everyone is using this method and Blender Internal can’t raytrace transparency maps for specular shading? Hard to believe but thanks for the info.


setting the specularity intensity to 0,and telling the texture to influence specularity seems to have worked. Im not sure if this is what you wanted or not, it makes the specular highlights only show up on the opaque area.

Thanks Nathan, that actually does work but the results are duller than what I was visualizing… but it’s what I can use.:rolleyes: Edit: actually even bigger thanks Nathan, it works perfectly. It appeared dull because of the procedural light value was not white as it looked I guess but it works fine with image textures.

On exploring this different, more serious problem is what I have found, and I would really appreciate any feedback or explanation. I removed any textures so this is entirely material based.
Octahedron object, beveled. Angled to catch the light. The renders and screenshots show the object with transparency (alpha), diffuse and specular set to 1.00 (same as no transparency),


set to 0.25,


and set to zero.


Transparency shadows are enabled.
I would expect that the specular would reduce to nothing (and the back face does!) but that front face is a problem. I can’t use z-transparency because refraction is - well, not possible, or maybe that’s something else I don’t understand.

BTW I am using 2.68. Please let me know if anyone using 2.67 or even 2.66 does not see this behavior! Thanks a lot, Tommy and Nathaniel, for taking the time to look at the problem.

2.66 (r55769) does not do this if specular Alpha transparency is 0. As soon as this value is greater than 0 it’s present almost fully; there is no visible difference if it’s 0.0001 or 0.1. Tested on smooth subsurfed sphere in otherwise default file. Starting somewhere later this has been changed - r56160 can’t be zeroed.
Hope helps.

As soon as this value is greater than 0 it’s present almost fully; there is no visible difference if it’s 0.0001 or 0.1.

Thanks, Eppo. That’s exactly what I found. I definitely thought my memory was leaking on me! Regressing to 2.66 for BI rendering doesn’t seem so bad, but it doesn’t really do quite what I want anyway, which would be to slowly reduce the specular visibility.
Rhetorical questions:
Does this sort of thing tend to get fixed, or is BI on the back burner with cycles taking over?
and
How is it that this doesn’t affect anyone else?:smiley: