Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2025 Jan 18 10:25 am)
The problem here is that in real life, green glass is not '100% transparent', it is actually '0% R, 100% G, 0% B transparent'... ie if you shine a white light through it, it is transparent only to the green component and opaque to the rest, giving you green light. To duplicate this in CG, many render engines use a color value for transparency which they use in a similar fashion to color lighting effects, shadows etc and also correctly duplicate the effect you are talking about. Poser however treats it as a monochrome value so it wont have the same sort of result.... Maybe one of the tech guys can suggest an alternate solution.
Yet another reason to use other apps for rendering.
The Diffuse_Color defines the color of light reflected from the surface. Had you made it somewhat less than 100% transparent, you'd expect to see green there and that is what would happen.
Poser should have implemented a Transparency_Color to specify the alteration of light passing through the object as you so rightly point out. However, if you think about 100% Transparency as meaning "not there" then this makes total sense. For example, when you use a transparency map for eye lashes, do you want it behaving like dark brown glass between the lashes or more like nothing there between the lashes? You want nothing there. It means "pretend the surface isn't really here".
Don't use transparency for glass. It isn't really intended for that. Instead, use the glass modelling features of reflection and refraction. Attach a Refraction node to the Refraction_Color input. If you don't want any light bending, set the Index_of_Refraction to 1. However, if you've correctly modelled the glass as a box (non-zero thickness) you should set the Index_of_Refraction to that of true glass, i.e. around 1.4. Adjust the "color" of the light passing through the glass using the Refraction_Color parameter. Adjust the amount of light passing through with the Refraction_Value parameter. If you want perfectly clear glass, use 1 there.
To get the full effect, you'll also want Reflection on this surface, with a Reflection_Value somewhere between .2 and .5 depending on how shiny your glass is. Also make sure you UNcheck Reflection_Lite_Mult and Reflection_Kd_Mult as these produce effects that are not based on realism.
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)
Notice the double reflections in the glass? This is quite accurate, because light gets reflected inside the glass, between the front and back surfaces.
Notice also how the refraction has correctly bent the light from the cylinder, causing it to be shifted in position. You can also see refraction of the cylinder in the edge of the box.
Also important is to have some sort of environment for the reflections. I have a sky dome surrounding the whole scene, with clouds. This gives some interesting combinations in the glass, where we see reflection and refraction of the sky, or reflection of the ground and refraction of the sky.
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)
As a result, the second reflection of the sphere is much reduced. This is accurate, because that light had to pass through the front face, get refracted and reduced as it passed through the interior, then reflected off the back face, refracted and reduced again, and finally comes out the other side.
In this regard, Poser's handling of reflection and refraction is quite advanced. Instead of saying "Yet another reason to use other apps for rendering.", it would be more correct to say "yet another reason to learn how to use Poser's features properly."
Shall we talk about nostril glow? ;-)
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)
Notice that Poser has now correctly implemented not just the glass, but the partial shadow of the sunlight passing through the glass. Where light goes through the holes, the cylinder is fully lit. Where light has to pass through the glass, some of it is lost, so the cylinder is partially in shade.
I've seen lots of posts saying you should not use refraction and transparency at the same time. This is bogus - it works perfectly. You just need to know what each one is for.
Pretty cool huh?
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)
You did not make colored glass. I agree that the Fresnel effect is very important for the realism of glass, and I should have talked about it. I figured kawecki was probably overwhelmed by all that new shader stuff and didn't need Fresnel that bad for flat glass.
However, I never use the Fresnel node for two reasons.
You have no ability to control the amount of reflection. If you were doing a surphace with partially dirty areas, you couldn't adjust the reflection amount. And in general you need to adjust the reflection amount to deal with various levels of polish, clearcoat, etc.
The fresnel node erroneously multiples not only the refracted light with the Refraction_Color, but also the reflected light. This is not at all correct.
Instead, I use the EdgeBlend node to make the reflection value depend on viewing angle. I use 1 minus that for the refraction value.
In the render above, the 3 balls on the left use Fresnel. The three on the right use Reflect, EdgeBlend (with inverse), and Refract. The top have Refraction_Color = RGB(140, 70, 0). The middle have Refraction_Color = (64, 128, 64). And the bottom have Refraction_Color = RGB(255, 255, 255). The bottom left is configured just as your example above.
The shader tree is showing how the right-hand red ball is set up. The three on the right have the same nodes, just different Refraction_Color as described above.
But your example is a special case by not doing colored or darkened glass. As you can see, the color of the refraction greatly impacts the reflection. Of the left-hand spheres, only the bottom one is correct. So Fresnel is fine for perfectly clear glass. Otherwise, don't use it.
While you're at it, I didn't use it here, but the specular value should be multiplied by the same EdgeBlend as used for the Reflection_Value. I set the specular up the same way you did, but it's wrong. The right thing to do is turn off the default specular and use the glossy node, with the amount controlled by that EdgeBlend.
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)
Well yes, in an ideal setting almost everything would go through the edge_blend node. In reality, there's barely any material that does not depend on the viewing angle. That said, not everyone is as fluent in the material room as you are - my solution is aimed at those who want the quick+easy glass look, and there the fresnel node is usually the better choice over using just refraction. Your setup does produce the more realistic appearance, no doubt.
sits in awe
Bagginsbill and Stewer, thanks for the explanations! :o)
FREEBIES! | My Gallery | My Store | My FB | Tumblr |
You just can't put the words "Poserites" and "happy" in the same sentence - didn't you know that? LaurieA
Using Poser since 2002. Currently at Version 11.1 - Win 10.
Miss Nancy, you mean sum of reflection and refraction right? These glass materials have no diffuse.
And if you do it as I did, by definition the sum is one. Why? Because I defined the refract amount to be 1 - the reflect amount.
So
refract = 1 - reflect
therefore
refract + reflect = 1
qed
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)
Easy!
Diffuse_Value is 1. This means your object is behaving like milk. You want Diffuse_Value = 0.
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)
Sure. The Reflection_Value and Refraction_Value are multipliers of the amount of reflected or refracted light. These should not be so high as you have them. The Reflection_Value=4 means to reflect 4 times the light that is reaching the surface. Of course this does not look real, but can be fun for strange effects - as you can see.
(I think you missed the period? I was using .4 and .5, not 4 and 5.)
In real life, the maximum amount of reflection or refraction is 1. And, in fact, the sum of these can never be more than 1. If a photon reaches the surface, it can reflect, or refract, but not do both. These values, Reflection_Value and Refraction_Value, define the probability of what a photon will do. The photon can reflect or refract and you can adjust these probabilities, but they should never exceed one.
Actually, the full rule for physical correctness is this:
Diffuse_Value + Reflection_Value + Refraction_Value <= 1
At the time I posted this, I did not fully understand the rule, and I made a mistake myself. My first material uses .4 and .9, with a sum of 1.3. This is wrong, and is why the first glass looks funny.
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)
Both.
You should use an environment sphere. I have a free one here.
http://market.renderosity.com/mod/forumpro/showthread.php?thread_id=2746233
We have a problem with shadows through glass. You should be using IBL light, not just a single directional light.
Poser doesn't implement light passing through glass as a light source. So your shadow is 100% black. If you used "environmental" lighting, using IBL, that would not happen.
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)
Lupa,
Nice work! You learn fast.
The clear balls use WHITE for the Refraction color. WHITE means it passes through unchanged - no tint. From the post above:
"The top have Refraction_Color = RGB(140, 70, 0). The middle have Refraction_Color = (64, 128, 64). And the bottom have Refraction_Color = RGB(255, 255, 255). The bottom left is configured just as your example above."
The "club" you heard about is the "Node Cult" forum at RuntimeDNA. The link is here:
RuntimeDNA created that forum specifically for me. It's not for everybody, because we discuss very difficult shader node setups there. (My most complex shader ever was posted there - over 440 nodes.) But for those who really want to get into advanced shader techniques, it is a great place. Not only are there many very interesting topics to read there (with lots of math) but also there are many people who are interested to help with tricky shader setups.
Among those threads is one that you should read very carefully. Here it is:
** The Fresnel Effect - Glass, Paint, Plastic, and Metal
**I go into a lot more detail about glass in that thread.
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)
Here is what the monster 400+ node shader produces:
It is in this thread:
http://www.runtimedna.com/mod/forum/messages.php?ShowMessage=265218
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)
This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.
A very simple scene: Take a cube, can be the box prop and set the diffuse color to red (255,0,0), specular and ambient color to black.
Now take the one side square prop or another cube and scale it up until is much bigger than the first cube.
Take the first cube and translate it up (ytrans) to the middle of the square prop, then translate it back (ztrans) until is some distance behind the square. You must not see it now.
Set the diffuse color of the square to green (0,255,0), specular and ambient color to black.
Now make the square 100% transparent.
The square is a green glass window and the cube is some object that you want to see through the window.
Render the scene and you will see nothing more than a red cube. Here is the problem!!!!!
The cube cannot be red, it must be black!!!!
You are looking through a green glass and the object has no green component in its color, it is red, so it must look black and never red.
Stupidity also evolves!