GPU Lightmass not working on Landscape

Hi, I tried to bake a simple scene with a Landscape and two objects with GPU Lightmass. The Objects are fine but the Landscape appears black with normal Swarm baking it works fine. Is this a bug or I am doing something wrong. I am using UE5.3.2 with raytracing on a 3090GPU.


Swarm


GPULightmass

1 Like

Hey @hieblertom :smiley: Would you be able to provide us with some additional details so we can try to reproduce this?

  • Do you have Nanite enabled on the landscape?
  • Are there any settings modified in the Lightmass Importance Volume?
  • Are there any settings modified in the Post Processing Volume?
  • What are your system specifications?

I’ve gone ahead and filed a ticket for us to investigate once we are able to reproduce the issue. You can track the issue once it has gone through our approval process here

Hi I used the Third Person Template, created a new empty Level. In the Level I created a Landscape with a simple heightfield. Then I brought in DirectionalLight, SkyAtmosphere, SkyLight and ExponentialHeightFog. I switched The SkyLight and the DirectionalLight to static and enabled cast raytraced shadows for both. In The ProjectSettings I enabled Support Hardware Raytracing and Raytraced Shadows, I also activated virtual texture support and virtual texture lightmaps. (Tried both setting on and off with the same result) Then I but in a LightmassImportanceVolume and left it at its default settings only adjusted the size and position so it matches my Landscape. I also put in a postprocessVolume with exposure set to manual and ExposureCompensation to 9.88. The Global Illumionation Methode is RayTracing and the Type for that is Brute Force 1 and 4. The GPU Lightmass baking settings I also left at default. I Hope this helps to reproduce the issue. Thanks!

1 Like

hi @hieblertom ,
could you zip up your project with the failed area save all. This may have been fixed in 5.4 or it may be a similar problem to nanite landscape .I found then i can follow source code to find error. Could PM message or up load please

Hi Jim, I’m having a similar issue to hieblertom, in that landscapes don’t seem to bake properly at all in 5.3 using GPULM. Below is a google drive link to an example project for you to repro the bug. For me the landscape lightmap seems to be very corrupted:

i’d not bake a 1 square km landscape, but i can confirm it’s baking trash.

note: the lighting is initially broken. the denoiser (oid) fails too and all components use a singular lightmap.

i did not use exposure compensation, but shot with a “proper light value” at ev 1,1. i mean… the exposure doesn’t matter for the bake. the light values do.

Hi @brisck1 Thanks for the example project
I dont have a problem on LGPU 5.3.2 Binary Lightmass, or CPU Lightmass

There is a problem on Epic GPULightmass, but as it was tested by some one else on RTX card, running diferent settings causes problems that only Epic can fix.

Thank you for the information @hieblertom ! We’ll continue to investigate the issue on our side.

Hi, Jimbohalo10 here is the link to my Projectfile. I am on Win10 with a RTX3090 and the latest driver. Thanks for looking into

https://drive.google.com/drive/folders/1LMpnf6zcRbOrX9oKSpQlcdKGD0OrUqv4?usp=sharing

Hi @brisck1,
I have now built a new source code version to allow me to use Epic GPU Lightmass.

I have turned on enhanced checking when I built my version of 5.3.2 which is much slower, but checks more
I have got two check failure about shaders.
I dont know what they mean and I dont know how to fix them

Assertion failed: Shader.IsValid() [File:D:\Users\Owner\Source\Repos\lgpu53\Engine\Source\Runtime\RenderCore\Public\GlobalShader.h] [Line: 211]
Failed to find shader type FClearVolumeCS in Platform PCD3D_SM5

Assertion failed: 0 [File:D:\Users\Owner\Source\Repos\lgpu53\Engine\Source\Runtime\Renderer\Public\MeshPassProcessor.h] [Line: 881]
Invalid shader binding frequency requested

These errors in the normal binary 5.3.2 are allowed to pass undetected and therefore produce the strange picture

I have no idea how to fix them

hi @hieblertom ,
I have had a look at the project. I have managed to rebuild the picture with Luoshuang’s GPULightmass 5.3.2 Binary It was quite amazing an unexpected and it was very quick.

I have checked the logs for your run and there is nothing wrong with your attempts to rebuild. There are NOT any hardware or software errors in the log of your run.

I expect your want to use Epic GPU Lightmass and I have looked at the code. I only really understand LGPU code so you will need to wait for Epic to fix the problem.
The CPU and LGPU Lightmass both end with “Building Reflection” is running and in the bottom is “Compiler Shaders” counting down CPU and LGPU have different counts. I cannot see where the Shaders are build in Epic GPU, but I wonder if this due to the new addition of Nanite Landscape which is not supported in LGPU or CPU.

Great thank you that you had a look at my project. Its great to hear that there is an alternative like LGPU I can use to bake my stuff. Is this a plugin or can I find it on github.

Hi @hieblertom,
There is a patch to 5.3.2standard binary to run LGPU 5.3.2 on GitHub
jimshalo10/GPULightmass-5-3-1-BIN-patch (github.com)

The announcement post is here
Luoshuang’s GPULightmass Announce 5.3.2 binary patch to UE 5 Epic Launcher

It works fine on RTX cards

Any Problems post or PM me Thanks.

Hi @Matthew.Ivey and @hieblertom ,
Have a look at line 88 of BaseLlightmass.ini

; Approximately clamp the number of surface samples generated to ~30mb (only for Landscape currently)
MaxSurfaceLightSamples=500000

Are we sure that Epic GPULightmass does not generate more SurfaceLightSamples than CPU/LGPU and hence this hit this limit and therefore “build Reflection Captures” silently fails

The thing I’ve noticed in 5.3x is that CPU Lightmass fails to bake any bounce/indirect light from a stationary skylight (you should be able to repro this in my test project) Whereas GPU Lightmass does bake indirect, but completely breaks on landscapes.

I’ve tried LGPU, but it seems to fall over with larger scenes for me, so I’m completely out of options at the moment… :frowning:

I really need to see the logs from the crashes jn

Documents\Unreal Projects\LightmapTest_UE530\Saved\Crashes\UECC-Windows-
8ED134D84B09B1457FD38AA524808285_0002\LightmapTest_UE530.log

If you could zip/rar all the files from
Documents\Unreal Projects\LightmapTest_UE530\Saved\Crashes\

Documents\Unreal Projects\LightmapTest_UE530\Saved\Logs

by Personal message.
I dont need any projects uploaded. You can send by personal message DM on forum

Hi @hieblertom , @brisck1 @glitchered @Matthew.Ivey @motorsep @Miguel1900 ,

There appear to be a fix to this problem, according to the above link.
This is a commit for 5.4, but its been quite easy to convert to 5.3.2
I have put the replacement binary dll file in a new repository along with the updated source.

EpicGPULightMass Landscape 5.3.2 Patch/README.md

This has been built to work with 5.3.2
The only was this can be tested is by the people highlighted
Therefore please can you report back

This is the cross link to original request for 5.3.2 back port of the patch
Epic’s GPUlightmass - original request
Update
Feedback suggests that problems encountered with this patch are in fact due to Windows 11(Eleven) DirectX 12 Ultimate DXR drivers
There is NO official support for Windows 11 on Unreal 5

4 Likes

can confirm it’s working. neat. :slight_smile:

This is excellent! Thanks so much for this! :slight_smile:

I just tested this patch and it worked perfectly. Cannot thank you enough for saving my â– â– â–  this week!