Latexluv opened this issue on Jun 04, 2010 · 182 posts
bagginsbill posted Wed, 09 June 2010 at 9:35 PM
So what is the math of these gaps?
It's pretty simple. I'll just say what it is, but if somebody asks, I can make a trigonometry diagram to show how I derived this formula.
Let's let D represent the "density" of the tubes, expressed as a fraction. For example, suppose the tubes are 1 millimeter in diameter, and spaced so there is a tube ever 3 millimeters. Then the density is 1/3. Suppose the diameter is 2 milimeters and there is a tube every 4 millimeters. Then the density is 2/4 or .5.
Now we also need to consider the angle between the normal of the "surface" comprising these tiny tubes and the observer. Let's call that angle alpha.
Ready?
The opacity of the surface is
D / cos(alpha)
That's pretty f'ing simple, right?
Except what is opacity? Opacity is the complement of transparency. And since we're dealing with Poser, you may think we need to convert this to transparency. Well, strangely, when you plug a node into the Poser Surface Transparency channel, the data is actually interpreted as opacity, where 0 is completely not opaque and 1 is completely opaque. That's why transparency maps are 1 (white) for opaque, and black (0) for transparent. They are not transparency maps at all. They are opacity maps. But I won't bother trying to make everybody start using the right word for those.
Anyway, the shader to produce this effect is unbelievably simple.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)