I understand point lights with dynamic shadows are quite expensive, but what is the cost of a point light with shadow-casting turned of? How many can I have in a scene? 50? 500? 5000?
Depending how much pixel area they cover. I guess that if you have more than few dozen fully screen covering lights you will notice some problems. But you need to profile this in your scene.
Thanks Kalle, I just did a GPU profile on 500 dynamic point lights. I found reducing the attenuation radius to the smallest possible value gave a very large performance boost.
why do you even need a 500 point lights?
Usualy - 2-3-5 not small (radius at 300-500) on scene - take a 0.5-0.8ms each on i5-6600k + gtx 1070
There might be good reasons for this. Maybe scene is big. Fortnite has hundreds of lights but scattered to really big map. Just think city at night. There are thousands of lights which can be seen really far away.
lol. I’m not complaining about this: D It just numbers for statistics, and yes - you see this lights very very close they light the whole scene, so i think it`s ok.
Fortnie has fully dynamic lighting without baked part and lighting scenarios?
It’s fully dynamic. Sun/moon directional light revolving and dynamic skylight occluded with DFAO.
Hello, i would like to add this question in this topic, i think it would be usefull for a lot of people to have an answer.
In this old post ( Guidelines for creating game with dynamic lights only and good performance - Unreal Engine Forums ), DanielW said this:
‘‘Use IES profiles to get interesting looks on smaller lights that can’t cast shadows. Limit the number and influence radius of dynamic shadow-casting lights. Point lights cost ~2x more than spot lights wrt shadows. The cost of shadows is basically: NumberOfLights * NumberOfMeshesAffected * NumberOfTrianglesInThoseMeshes. That’s the GPU cost. On the CPU side, it’s NumberOfLights * NumberOfMeshesAffected * NumberOfSeparateObjects.’’.
If I recall correctly, the point light is basically 6 spots lights, but I was very curious if DanielW was right and if this is still of actuality in unreal 4.18.
Thank you very much !