Page MenuHome

[EEVEE] Discrepancy between multiple and single irradiance volumes
Closed, InvalidPublicBUG

Description

System Information
Operating system: Linux-4.15.0-55-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GT 710/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 390.116

Blender Version
Broken: version: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: rBf6cb5f54494e

Short description of error
Rendering a given scene using a single irradiance volume lightprobe versus multiple irradiance volume lightprobes (both sampling from the same locations) gives different results. This assumes that no other lightprobes are present (save for a single reflection cubemap), and that the influence area of all lightprobes involved covers the entire area of interest. In the case where there are multiple lightprobes, every single lightprobe covers the entire area of interest in its influence area.

The results of this discrepancy can be seen in the image below.

Exact steps for others to reproduce the error
Open up each of the attached .blend files found below. Press [Num0] to move viewport to the placed camera, then press [F12] to render. The resulting render in single_lightprobe_scene.blend should match the right image, and the render in multi_lightprobe_scene.blend should match the left image.

The lightprobe placement and configuration can be obtained from the two blend files. multi_lightprobe_scene.blend contains 9 lightprobes that, altogether, sample from the same positions as the single lightprobe in single_lightprobe_scene.blend, once each. All lightprobes in both scenes have an influence area encompassing the entire room; in multi_lightprobe_scene.blend every single lightprobe's influence area covers the entire room.


Update

The below file contains a simple scene with 1 light probe, sampling from 9 points.

The below file contains the same scene with 9 lightprobes, each sampling from one point (which all correspond to one of the 9 points sampled from above).

The render result with the single lightprobe case is as follows using Blender 2.82:

The render result with the multiple lightprobe case is as follows using Blender 2.82:

Note the brighter lighting pattern in the single lightprobe test case. I don't know if the two cases are supposed to be identical, though.

The system info of the version of Blender used to test this is in the below file.

Event Timeline

I've just opened your attached file. There are multiple faces are placed at a same place.

And found some faces with no area.

Could you check that and try after merging faces or vertices?

Hi Hiroyuki,

I tried to fix the zero-area faces (on the 'antibleed barrier' object) by selecting all faces and using Fill Holes/Degenerate Dissolve. I haven't been able to figure out how to resolve the multiple faces placed at same location, though (it seems that they are on separate sides of the thin mesh). I've attached the files below.

I'm still getting the loss of indirect lighting, though. If all else fails, I feel that I can replicate this issue in a scene with a simpler mesh (that would not have the issues observed above).

I've been able to replicate this issue in a simple scene (an extruded cube, with the lightprobes, light sources, and cameras all inside the inner layer of the cube). The render can be seen below; note that the same issue with the loss of indirect lighting occurs on the render with multiple irradiance volumes.

The blend files for this scene can be found below.

Hi GalerkinBunny,

I've just see your new simple one and "fixed" scene.

First of all, I understand the "fixed" one still have multiple polygons are in a same place too. I also tried "Merge Vertices by Distance"; I believe that is renamed function of "Remove Double" in previous version.
But these faces with more than 3 or 4 vertices cannot be merged. I think this is because of having convex polygon and they have different number of vertices for each "front" and "back" faces.
If you built this model in other tools and imported to Blender, the other tools may involves the result of CAD function such like solid modeling. Exporting solid model from CAD causes some problem for polygon modeler sometime.

Any way, I also tried to learn Light-Probe function with your new simple .blend. This is the first time to use Eevee's light baking for me. Thank you:)

I think that you want to put these probe at arbitrary place right?, but light-probe object cannot be edited their probe point with "Edit-mode" at this time;version.
So, I thought that you had to arrange these probes by using multiple light-probe object.

Your each probe has no volume and their probes are arranged in line. Actually, Eevee may be able to calculate light information for each position, but, room faces being lighted with simple projection mapping technique, I think Eevee cannot project these information during rendering. This means that I think we have to wait until Blender will have function to edit in "Edit-mode" for light-probe.

But this is just my thought as a user. It is probably a bug in fact;Please some one respond us.
And I also recommend that you would try to post this topic to other open board such BlenderArtist or somewhere. Not few designers may have some thought about this.

Thanks.

These files are much larger than they would have to be, probably. Please, always try to create small files for bug reports if possible.

In any case, I'm not sure if this qualifies as a bug. Is there some documentation saying that the results for both files should be exactly the same?

@Clément Foucault (fclem), is this working as intended?

Campbell Barton (campbellbarton) changed the task status from Needs Triage to Needs Information from User.Feb 12 2020, 8:58 AM

@Bryon Leung (GalerkinBunny) please submit a simplified test file.

More than a week without reply or activity.
Due to the policy of the tracker closing for until required info/data are provided.

If the problem persists please open a new report with the required information.

@Campbell Barton (campbellbarton) I've attached test files to this message.

The below file contains a simple scene with 1 light probe, sampling from 9 points.

The below file contains the same scene with 9 lightprobes, each sampling from one point (which all correspond to one of the 9 points sampled from above).

The render result with the single lightprobe case is as follows using Blender 2.82:

The render result with the multiple lightprobe case is as follows using Blender 2.82:

Note the brighter lighting pattern in the single lightprobe test case. I don't know if the two cases are supposed to be identical, though.

The system info of the version of Blender used to test this is in the below file.

Clément Foucault (fclem) reopened this task as Confirmed.Feb 22 2020, 11:39 AM
Clément Foucault (fclem) removed Campbell Barton (campbellbarton) as the assignee of this task.
Clément Foucault (fclem) changed the subtype of this task from "Report" to "Bug".
Clément Foucault (fclem) claimed this task.

In the last files the volume of influences are overlapping each others and have almost the same size each.

Their influence could be seen as alpha blended on top of each other. Much like alpha blending, the outcome depends on the order in which the volumes are evaluated. The ordering is well defined and sort volumes by size, using the the smaller ones in priority.
https://docs.blender.org/manual/en/latest/render/eevee/light_probes/irradiance_volumes.html#blending

So in the multi lightprobe test, the scene is only illuminated by 1 grid, leading to much less detailed lighting.

If you don't overlap the volumes too much you can get more or less the same result as with one dense volume but never exactly the same.

So this is working as intended.