Weird response to BI Indirect Lighting - kinda backwards

I’m doing a Hades-like scene (Ragnarok, actually) and for now am using a large billboard with a separately-rendered image for the hot spots. In this rendering it’s the only light source in play, using Indirect Lighting at Level 4 with 2 Bounces.


The problem is the way the rocky crags react to the light. The big one on the left is lit backwards, the smaller center one should be a near-silhouette, and only the one on the right shows a semblance of the highlight & shadows being in their proper order. Anyone know what gives?

I made sure the crags’ normals were all pointing outward, applied both Scale & Rotation, but they still look the same – weird.

The first thing that comes to mind is you accidentally turned on “Invert Z Depth” for the rock material. Can you post the blend file?

Thanks, CD38, I checked that parameter and it’s not enabled. I have found not a solution but good-enough workaround – by altering some aspects of the billboard mesh I was able to at least fill in the “shadowed” side of the large crag, making things look more balanced, like an even fill light/environmental light. The file would be too big to attach but if I can re-create it as above, I’ll post it on pasteall.org.

I put together a rough layout of your scene and with basic materials it seems to work. But I do see what you mean with your render. A highlight should appear on the left side of your large rock formation. It may be material related?

Attachments


26_indirect_lighting.blend (83.8 KB)

To me it looks like your rocks are made from a glossy material and are reflecting something white that is lying behind and to the right of the camera.

First I guess I should state that I’m using BI here, not Cycles, so let’s make sure we’re all on the same rendering path :wink:

@Atom: That example is exactly what I expected in general lighting patterns, but it did not, and does not, act that way in my scene. I don’t have much I can tweak on the Material, its a simple RGB shader with an Image Texture applied to Color and Normal (Bump) channels, currently temp but a good placeholder for what I plan as the final.

@ moony: Agreed, except that there are no other objects or light sources in the scene, I triple-checked that because it looks exactly like what you suggest. The problem is definitely related to the I.L. from the fiery billboard object, because changing its angle, or turning off I.L., removes the skewed lighting pattern. I have other Lamps in the scene but made sure they were on inactive layers and also had their “Do Not Render Me” button pushed.

Because that BG image is big (full 1080p) & the other texture (1024^2) might be relevant, I’m not sure I can pack everything needed into a file even pasteall.org can accept, but I’ll try to re-create the issue in some fashion so I can post it for analysis.

Here’s an exemplar file, pared down to only the I.L. source (the billboard) with a simplified image, the craggy rock meshes, and some cylinder primitives to reconstruct what Atom’s file does:

Weird_IL.blend (1.08 MB)

The lighting weirdness persists:


Playing around with your example file I did find a way to brighten your problem area. The first thing I did was to apply transformations on the geometry. Then open up the material, go to the texture and the color chit right under RGB to Intensity is set very dark. It looks like the Indirect Lighting is using that color as a multiplier. If you brighten up that color the indirect lighting brightens up as well.

Attachments


The material shown is just a placeholder for the crags, the problem occurs regardless of material, or even when no material is applied. But your suggestion does help balance the lighting a bit for that particular material. I did something similar by adjusting the light source, enough to mask the odd lighting pattern in the more complete scene, where some halo particle-fog effects help make it even less noticeable.

Still, I’d really like to know why the I.L. acts so odd in this case, it seems a very straightforward setup, but apparently isn’t. I used a great deal of I.L. in my show reel, but never ran across anything this egregious.

What if you tried something like this BLEND file. I broke your plane emitter into two planes. One plane just emits and the other is the shadeless texture. I am not sure if Indirect Lighting can be both? I have never really tried to use it that way. I put the emit plane behind the texture plane and turned off traceable for the texture plane. The light from the emit seems to pass through it and affect the crags, giving the expected highlight on the left side.

Attachments


Weird_IL.blend (431 KB)

I do appreciate your efforts, Atom, but it’s the overall “wrongness” of the lighting that is at issue. I already have a workaround I can live with for the more complete file, but was hoping maybe an actual solution might be found, to change the lighting pattern to the expected.

My experience with I.L to this point indicates that any an all objects will radiate light. The Emit value can be used to modulate that, but even at Emit = 0, objects of high value and high saturation/intensity will affect nearby surfaces. Since I.L. does not use raytraced sampling (it requires the Approximate method in the BI), the “traceable” property isn’t relevant afaik, either for emission or reception of I.L.

I have discovered, though, that the Material property “Ambient” can be used to modulate how an object responds to I.L. If set at zero, no I.L. affect the material. At 1.0 it responds fully to I.L. This also applies, btw, to Environmental Lighting. As a result, I usually set my Ambient RGB to <0,0,0> (black), since the E.L. and I.L. effective substitute for “traditional” Ambient lighting when used.

I.L. emission control can be accomplished by reducing the Intensity of the Diffuse material channel, but this does create problems maintaining the right Diffuse appearance. With some materials, compensating with the Specular values can help (Spec doesn’t contribute to I.L.), but it’s not a trivial thing. General rule of thumb – any fairly bright and saturated object will radiate I.L, as a way of imitating bounce light from such objects. I guess Cycles uses a more physically-accurate method for this effect. And,as you have observed, I.L. lighting is always shadowless, so it has to be used carefully as a principal light source. I’m running into this with the full scene, which includes a very long particle-hair wig that tends to glow like something out of a old Marvel comic. In “normal” lighting it’s a very good blonde hair shader, but with I.L. enabled, it gets a bit too radioactive. Marilyn on thorium (heh).

I’m gonna call this one on account o’ rain, No solution has presented itself to me, either, and I can’t spend more time futzing with it. I did try setting my scene up to use I.L. with the workaround that made the odd lighting less noticeable, but the result is not pleasant and the render time is unbelievable (for this kind of scene, at least). So I’m a gonna drop back & punt, in other words, just fake it. Layer-restricted lamps instead of I.L., a lot more direct control over the outcome. Adapt & overcome!

The GI in the Blender Internal renderer was never designed to be correct anyway, it’s just a little something that one could use to add a little more depth to the lighting (not to mention it being somewhat of a hack like so many other things in BI’s shading system)

As a result I personally never used it, if you want good GI then you should switch the engine to Cycles.

But Indirect Lighting isn’t really a form of GI, it’s a fake of bounced light, or spill it’s sometimes called. But in any case, for this project it’s out. I’ve found that for this scene, at least, the Approximate Gather method takes around 10x longer to complete (if it ever really does!) than Raytraced Gather. Once the rendering starts, the sampled Gather is incredibly slow , mainly due to the very long & thick head of air the character in the scene has. But at least it does begin to render. With Approximate, I’ve left the scene cooking for four hours and it had not yet gotten out of the “Occlusion Preprocesing” stage, not one pixel rendered. That’s just not right.

Its not calculating true reflections (or at least a reduction of power of the light over the distance of reflection) of the light by the objects…

What is happening is the right most rock is throwing reflected light onto the middle and left rock.

The left rock is throwing light onto the middle rock and right one.

The result is the middle rock is lit by two reflections so is bright, when one would assume it to be in shaddow :-/

[Edit]
Actually I think it might be doing it correctly after all… the top of the left most rock is showing a lot darker on the right hand side, suggesting that it is receiving very little reflected light, yet at the bottom it is lit on its right hand side from reflected light.
[/edit]

Attachments