I know that we have irradiance map and baked reflection cubemaps, but it would be really great if we got the GPU map baking system like in Unity / Unreal. We have great pathtracer (Cycles) that can be used to this purpose. I guess Armory uses it this way. Maybe developers could add map baking to Eevee at some point, this way Blender eevee indirect lighting quality would compete with the best game engines
I’m sure there will be improvements to indirect lighting, but I doubt baking lightmaps is the way forward. You can only bake out some components of the lighting anyway, it takes a long time and requires special UV layouts for all your geometry. And then it’s invalid on the next frame when a lightsource or object moves. Materials don’t interact well with the baked lighting information because it lacks the directional information.
Eevee will probably get indirect lighting via raytracing sooner or later.
Look at all the nice archviz animation produced by ue4-users like ue4arch etc. We have all the components needed to mimic this workflow already in blender, they are just split into the two renderengines cycles/eevee and need some love like automating uv-creation, batch-baking system for all objects in the scene and denoising baked results, similar to the baketool from Cogumelo softworks.
Yes, pretty much what @Piotr_Adamowicz said.
We want to keep things straight forward as possible and lightmap baking is time consuming and not bullet proof for users.
We could bake directional lightmaps that would react to normal maps but they gets really big.
I agree that for archvis it is a must because of everything is static.
Hypothetically it IS possible and we are looking at how it would be best. But for now it remains on the backburners.
Integrating lightmap management in blender would be a big task in itself.
Well, yeah, you can bake out a lightmap + normal map per every single light in the scene and then you have directional information, but that’s just crazy.
Even then, you only have a single direction per texel, when in reality you’d want the whole visibility hemisphere per texel (maybe via something like spherical harmonics).
That’s a LOT of data.
(maybe via something like spherical harmonics).
Yes this is what I meant. You can encode 3 directions and it’s already enough for most case anyway.
Yeah, I think it would be great for arch-viz (quality) but also for animations (not every scene requires dynamic lighting and there are many static elements in each scene). I guess it’s a big task, but if we could increase GI quality in Eevee (this or another way) I think that it would become more useful for many. So hoping for the best
About baking lighting… but into textures: I can’t find any info if texture baking will be added to Eevee, is anybody knows if it’s planned?
(maybe it’s already there, but if so I’ve missed it :-p)
Yes please help us out blender
That would be perfect to have lightmaps baking system in EEVEE! Developers, please do some work with that issue.
Hi. What s your opinion on Spherical Gaussian Lightmaps and Probe Volumes.
These could be a really nice fit and can get really close to ground truth cycles with the help of cycles.)
The Lightmap creation in Blender is pretty forward. I do it for Unity and Unreal since a long time and it s standard to generate an UV 1 set for Lightmaps when you prepare for an GameEngine.
The Baking Lab shows some nice overview and comparrision between ground truth path traced and
- Diffuse – a single RGB value containing the result of applying a standard diffuse BRDF to the incoming lighting, with an albedo of 1.0
- Half-Life 2 – directional irradiance projected onto the Half-Life 2 basis[6], making for a total of 3 sets of RGB coefficients (9 floats total)
- L1 SH – radiance projected onto the first two orders of spherical harmonics, making for a total of 4 sets of RGB coefficients (12 floats total). Supports environment specular via a 3D lookup texture.
- L2 SH – radiance projected on the first three orders of spherical harmonics, making for a total of 9 sets of RGB coefficients (27 floats total). Supports environment specular via a 3D lookup texture.
- L1 H-basis – irradiance projected onto the first two orders of H-basis[7], making for a total of 4 sets of RGB coefficients (12 floats total).
- L2 H-basis – irradiance projected onto the first three orders of H-basis, making for a total of 6 sets of RGB coefficients (18 floats total).
- SG5 – radiance represented by the sum of 5 SG lobes with fixed directions and sharpness, making for a total of 5 sets of RGB coefficients (15 floats total). Supports environment specular via an approximate evaluation of per-lobe specular contribution.
- SG6 – radiance represented by the sum of 6 SG lobes with fixed directions and sharpness, making for a total of 6 sets of RGB coefficients (18 floats total). Supports environment specular via an approximate evaluation of per-lobe specular contribution.
- SG9 – radiance represented by the sum of 9 SG lobes with fixed directions and sharpness, making for a total of 9 sets of RGB coefficients (27 floats total). Supports environment specular via an approximate evaluation of per-lobe specular contribution.
- SG12 – radiance represented by the sum of 12 SG lobes with fixed directions and sharpness, making for a total of 12 sets of RGB coefficients (36 floats total). Supports environment specular via an approximate evaluation of per-lobe specular contribution.
For an fast test.
There is also an precompiled binary to fast test and bake all probes in 3 different scenes with different ibl, sun and area light…
and ground truth path traced comparison.
Amazing playground.
Really impressive comparision.
and here some .ppt how shows nice the use of SG Lightmaps, SG Probes … and the mix with standard reflection probes …
https://readyatdawn.sharefile.com/share/view/s9979ff4b57c4543b
Realtime Movie generation and interactive preview in EEVEE should be very very close to cycles output at the cost of prebake and lightmap authoring.
Where can the addon be found?
There are 3 steps involved.
-
install amory addon (only needed for ui)
https://github.com/armory3d/armory/wiki/setup -
install HDR_Lightmapper addon
https://github.com/Naxela/HDR_Lightmapper/releases -
[optional] to use denoising enable checkbox and locate path to the denoiser .exe in the addon folder