If I make the sphere non-hollow and cut it with a smaller sphere, it
renders correctly again.

The weird thing is, the Oren Nayar material renders properly, so I guess
I'm missing some important steps. Problem is I'm not able to read all that
weird stuff that is happening in the ON material.

Anyone have any ideas what I'm doing wrong?

Karl


Hi Karl,

Nothing I guess, the Boolean hollow surface is probably buggy ;)

Are you using materials containing the line 'LightAngle=dot product(Ray, Bump normal)' ?

Apparently, surface/bump normal is reversed for the hollow parts, it's as if you're looking at the inside of the surface; the renderer doesn't realize it should behave as a double-sided surface. Somehow it 'thinks' you're looking at it from the inside. In other words, Angle gets assigned a positive value while it should be negative.

I negated the Angle value and then the inside was rendered OK, but the problem shifted to the outside ;)

Conclusion: avoid hollow Boolean stuff!

Hi Neil and Mark

Yes, it was something like that. I also tried the negating thing and ended up with the same results. I agree, something does _look_ to be buggy, but then again, why does default shading work (no materials at all, which otherwise produce the same results as the curve material without the curve). And also the Oren Nayar material work and that is a custom diffuse shading thing too. What do these shading algorithms do that we don't normally do? The Oren Nayar procedure is flipping some angles around, calling a faceforward procedure, and doing stuff I have a hard time understanding.

So even if the hollow surfaces have bugs, there already exist mechanisms to make them work. So, I'm not fully confident that the hollow surfaces are actually broken. More likely my brains are broken :-)

Yes, I'm aware that cutting with a smaller sphere fixes the problem, but the idea is to have a manual default shading system that completely (except it get's put to the wrong result channel, but that's another issue alltogether) mimics how the default shading works (using no materials). A workaround such as this isn't good enough for that purpose, obviously :-)

Karl

Reply via email to