1
$\begingroup$

The cube size, cascade size, high bit depth, soft shadow and threshold. Does putting the setting on the highest better? or it depends? its seems that i've tried to put the setting on the highest and the light doesnt emit anything at all. but when i reduce the cube size, it seems to work fine. also when i render. the light seems to be flicker on certain frame.

this is the 2k cube size with high bit depth. works fineenter image description here

this is the 4k cube size with high bit depthenter image description here

this is 4k cube with high bit depth turn offenter image description here

yes, the render display the same as all of this. can someone give me a bit of an explanation whats happening here

$\endgroup$

1 Answer 1

3
$\begingroup$

The way EEVEE works is not actually by casting light rays like Cycles, but by approximating light and shadow by "looking" out from the center of each Light Object and checking if any objects stand between it and other objects. If so, it casts a shadow behind that object.

The cube map resolution is essentially the number of times in each direction that the light will look. We could conceuptualize this by surrounding the light with a wireframe cube, where each vertex represents a pixel on the cubemap.

Lower resolution:

enter image description here

Higher: enter image description here

Bit depth can be thought of as the number of decimal places the values can be calculated to.

Like if an object is, in reality, 1.0008m away from another object, using a lower bit depth might force EEVEE to make some decisions about rounding, like it might pick between the object being actually 1.0m or 1.1m away and drop the ".0008m". which we know is not 100% accurate.

Real location, no rounding.

enter image description here

Rounded down:

enter image description here

Rounded up:

enter image description here

This is not exactly how this works, but merely serves to explain the concept.

Higher bit depth means we allow EEVEE to use more decimal places for more accurate shadow casting.

All of this comes at a cost though. Increasing these values dramatically increases memory usage. From the docs:

enter image description here

A 512px cubemap has ~1.5 million pixels in it.

enter image description here

This will increase exponentially the higher resolution you go.

So if your scene has 30 lights and you set your cubemap resolution to 4k it means you have a total of 6,039,797,760 pixels to check light casts for each frame. Checking High Bit Depth essentially doubles that memory footprint.

I'm inclined to believe that the reason the lights don't show up when you check both is that you don't have enough memory to handle this load and EEVEE essentially gives up.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.