← All ideas
  • Published 28 Aug 2019

Automatic irradiance sample placement

Hello. My background is in professional architectural visualizations. I have been studying Eevee for this purpose and I am quite pleasantly surprised by the results I can achieve with it.

One thing that is degrading the quality and slowing my workflow is irradiance volume placement. It is quite hard to manually achieve good distribution and avoid light/darkness bleed. Some irradiance samples get placed inside objects and there's not much you can do about it if you want the object to be included in the calculations.

I wish there was an automatic system to place irradiance samples to fill a volume. The system would avoid placing samples inside objects and make sure there is good coverage near surfaces and less coverage in empty space.

UE4 has at least partially something like this. You place a volume and UE4 will fill that volume automatically with samples, placing more samples close to walls and floors.

I believe it would not be too hard to implement. Simple solution would be to first generate a dense sample grid, then test each sample to see if they are inside any object and remove those. Not sure if there is an efficient way to do that though when object count is large? Density could be a bit harder, you would have to test each sample to see how far is the closest surface.

100%

Development Status: Open

Upvote 18 Downvote 0
tmammela
28 Aug 2019

4 Comments

orpot

it could be done with the bounding box center. I asked this somewhere. I could do it in an add-on but no interest. it should be implemented

2
tmammela Author

* @m.brockers * Not sure if bounding box can be used for this. Overlapping test would have to be done on "real" geometry, for example I might have a building with outer walls modeled as one object yet I need samples inside that object. Now I realize this might be difficult to make. Maybe only test to see if there is surface close and are the surface normals pointing towards the sample?

orpot

* @tmammela * yes to set the size of the irradiance box you can use bounding box and even multiply his size on xyz by a factor

Sir_Waffle

I'd love this type of implementation. It would make irradiance caching so much easier in EEVEE.

1