Page 1 of 2

bug with shadow through transparent glass material?

Posted: Sun Dec 31, 2006 3:12 am
by soxofaan
I made following simple test-scene with blender: a floor plane and a piece of glass on a non-transparent stick, lit with sun light:

Image

The left part of the shadow is as expected: the sunlight passes through the glass and there is no shadow, while the stick does cast a shadow. However, the part of the shadows seen through the glass are the same for the glass and the stick.

what's wrong here?
is this a bug?

setup: Indigo 0.6 on Wine/Kubuntu, blender 2.42a, Indigo exporter v0.6 test 6 beta 1

glass material:

Code: Select all

	<material>
		<name>glass</name>
		<specular>
			<normal_reflectance>0.000</normal_reflectance>
			<ior>1.500</ior>
			<transparent>true</transparent>
			<cauchy_b_coeff>0.000</cauchy_b_coeff>
			<rgb_absorptivity>0.015 0.003 0.000</rgb_absorptivity>
		</specular>
	</material>

Posted: Sun Dec 31, 2006 3:43 am
by Phil
Hi,

take a look here:
http://www.indigorenderer.com/joomla/fo ... .php?t=758

Try disabling the bidirectionnal option, this is probably the problem here.

Regards, Phil

Posted: Sun Dec 31, 2006 5:48 am
by soxofaan
Thanks Phil

I experimented some more with shadows through glass:

more pieces of glass, with sun light (and bidirectional enabled): has wrong shadows seen through the glass
Image

with an mesh light instead of sun light: the shadows look all right
Image

with sun light and bidirectional disabled: the shadows look all right
Image

regards
soxofaan

Posted: Sun Dec 31, 2006 1:02 pm
by CTZn
What you see is internal reflection, at certain angles light doesn't exit the inner borders but bounce on them. This is no bug :) A softer light makes a softer reflection, that's all.

Posted: Sun Dec 31, 2006 10:19 pm
by manitwo
This is definatly a bug ctzn :) look at the first image: (afaik) sunlight can only go through glas one time, not twice.
This is a "bug" in the bidir code of indigo (which nick knows about), simply turn bidir off and everthing is alright :wink:
btw: maxwell do have the same problem with "sunlight through glas", and they can't turn bidir off, they have
to cheat real glas with a kind of ghost-material(only reflection).

Posted: Mon Jan 01, 2007 12:28 am
by CTZn
Well if you turn bi-dir off, you remove some abilities of the renderer, amongst them TIR, wich is no bug to me but a real process, exagerated here by the sun intensity at tonemapping. Light can make many internal bounces before exiting the surface. It never exits one optic fiber but at the ends.

Cheers

btw I love this site ;)

Posted: Mon Jan 01, 2007 1:09 am
by Phil
Hi CTZn,

:D thanks for the links 8)

Regards, Phil

Posted: Tue Jan 02, 2007 12:23 pm
by IanT
CTZn wrote:Well if you turn bi-dir off, you remove some abilities of the renderer, amongst them TIR, wich is no bug to me but a real process, exagerated here by the sun intensity at tonemapping. Light can make many internal bounces before exiting the surface. It never exits one optic fiber but at the ends.

Cheers

btw I love this site ;)
There's nothing particularly special about bi-directional path tracing that makes it able to handle TIR better than plain path-tracing :wink:

EDIT to say ... TIR only occurs at quite steep light/viewing angles, it certainly wouldn't occur to any great degree given the geometry of that scene. This is obvious from all the renders, where the illuminated part of the ground behind the glass is quite bright. If there were plenty of TIR going on, the shadow cast by the glass would be very dark, regardless of whether it's directly viewed or viewed through the glass.

Ian.

Posted: Wed Jan 03, 2007 11:29 am
by soxofaan
Concerning TIR and related stuff I tried a different scene: a glass cube lit by sunlight through a hole (Indigo v0.6).

with bi-dir:
Image

without bi-dir:
Image

As you can see the caustics from transmitted light are present in both cases. Caustics from reflection on the from-air-to-glass interfaces (white caustics) and caustics from TIR (cyan colored caustics) are only present in the render with bi-dir enabled.

Another observation is that the "shadow of the hole" is not the same in the two images. In the bi-dir image, the hole-shadow touches the image edge, while the no-bi-dir does not reaches so far. The two input xml files were exactly the same, except for the line about bi-directional enabling. Is this (another) bug?

soxofaan

Posted: Thu Jan 04, 2007 2:33 am
by CTZn
A difference is not necessarily a bug. You invoke different behaviours of light with bidir on or off, so no wonder there are differences ! Don't call everything a bug :roll:

Posted: Thu Jan 04, 2007 2:41 am
by IanT
CTZn wrote:A difference is not necessarily a bug. You invoke different behaviours of light with bidir on or off, so no wonder there are differences ! Don't call everything a bug :roll:
Just to be clear ... with 99% of scenes (this scene in particular), PT and BiPT should produce identical results after enough time, especially with MLT on top. In this context "unbiased" means "correct" and the original image posted at the top is definitely incorrect and certainly can't be explained by TIR effects.

Ian.

Posted: Thu Jan 04, 2007 3:29 am
by CTZn
IanT wrote:the original image posted at the top is definitely incorrect and certainly can't be explained by TIR effects.
I have to desagree :) Can you demonstrate what you say ? I can demonstrate I think this is TIR effect :)

Posted: Thu Jan 04, 2007 3:37 am
by IanT
CTZn wrote:
IanT wrote:the original image posted at the top is definitely incorrect and certainly can't be explained by TIR effects.
I have to desagree :) Can you demonstrate what you say ? I can demonstrate I think this is TIR effect :)
LOL.

OK, armed with all your vast experience of BiPT/PT and implementing an MLT renderer, esplain how the contrast difference between the ground and sky (as viewed through the glass) looks correct, but how the contrast between the tall rod's shadow and the ground (as viewed through the glass) is almost non-existent. Then explain, in technical terms, how differences between BiPT and PT leads to the dramatic disparity in results.

Looking forward to the explanation... :wink:

Ian.

Posted: Thu Jan 04, 2007 3:51 am
by CTZn
Well in fact I was specially focusing on the precise TIR effect wich shows up as a straight light line crossing the shadows. But now I realize you are talking about the shadows not mixing good with biPT, right ?

Well looks wrong for sure, I'm just wondering if that's not a tonemapping issue because the sun is so strong ! Light is not dimmed linearly in this image, so maybe slightly darker values introduce much darker shadows... that would explain why with a meshlight shadows look good. Or maybe that's a bug but me too want a demonstration :P

Posted: Thu Jan 04, 2007 3:58 am
by IanT
CTZn wrote:
IanT wrote:the original image posted at the top is definitely incorrect and certainly can't be explained by TIR effects.
I have to desagree :) Can you demonstrate what you say ? I can demonstrate I think this is TIR effect :)
I missed the edit before replying first so, as I've got nothing better to do at the moment, here goes...

Image

There is plenty of light from the sun being transmitted through the glass (see 1)

There is plenty of light being transmitted through the glass to the camera (see 2). You might argue that what we see in the glass is a total reflection but this can't be the case, otherwise there woudln't be a dark patch at 3.

From the above, there's clearly little or no TIR occurring at either the viewing or dominant illumination angles.


Now look again at 3. From 2 we know that the viewer can see plenty of details through the glass and that the contrast of those details isn't significantly affected. In which case, why is the detail of the shadow/ground (as viewed through the glass) not apparent?

And while I was typing this, I just read your last response ... yes, I'm talking about why the shadow viewed through the glass is invisible.

There appears to be a TIR caustic just below the glass (and one behind it) which would be the sun light entering the top of the glass and bouncing around a few times before emerging from the bottom. This looks like it's a correct TIR effect which is missing from the PT render for some reason (probably because PT is less efficient at finding rare caustics ... TIR is a red-herring in this case, it just makes it less likely to find the caustic but it would show up eventually).

Re: tonemapping ... I don't think this is the problem, otherwise the PT render should show the same bug. I've never seen tonemapping so dramatically change the contrast of a detail when the original image isn't particularly high dynamic range to start off with.

Maybe we were indeed talking about different things :wink:

Ian.