Lightmap calculation

I need some Informations about Lightmap calculation, hopefully someone can help me:

  1. Are Lightmaps calculated per static Object on CPU. So one Thread is used per Object?
  2. Then the Lightmaps are combined in a Atlas Texture?
  3. How does this works? Doesn’t the Lightmap of one Object is dependent from Indirect Reflections of other Objects?
  1. Lightmass is multithreaded but I don’t think they split the task based on objects. They probably use a raytracing specific way to use resources.
  2. Yes, the more lightmaps you have the more atlases are created.
  3. “Lightmass creates lightmaps with complex light interactions like area shadowing and diffuse interreflection.” (From CPU Lightmass Global Illumination | Unreal Engine Documentation )

I’ve seen dark or light bleeding on objects where something went sideways but with reasonable UVs and lightmap resolution things should work fine.

Hey Zoltan, thx for the answers…
I’ve got more :slight_smile:

Lightmaps need padding between UV-Shells.
In the Lightmap Atlas it looks like they fill the padding just with black… [link][2]

Wouldn’t bleed the black into a UV-Shell if we sample near the edge of the shell (interpolation…)?
Or is there some kind of [edge padding?][1]

https://dnnrz1gqa.blob.core.windows.net/portals/Images/Engine/Content/Types/StaticMeshes/LightmapUnwrapping/WorldSettings_PackedLightmap.png?sv=2017-04-17&sr=b&si=DNNFileManagerPolicy&sig=x04LUZIi4ATMJ01C8jpLMMOy5bY5DzMEkSTxQezeJYU%3D