The state of Distance Field GI in 4.8

Hi

Completely understand the reasons. I think performance is a valid thing to be focusing on, even if it’s not the most immediately fun. Who knows, maybe increasing performance will involve cool new techniques?

Thanks for the info.:slight_smile:

Wonderful! Good decision. Hopefully you guys do not only focus on GPU performance optimization. It was very challenging to push our game to 60 fps on Xbox One and we had to implement a lot of systems (like pre-spawning) to cope with the CPU overhead of actors. But it’s great to hear that you don’t only focus on new features but performance too. I’m looking forward to see the results :slight_smile:

Well the thing really capping GI right now is performance, if it’s not useable for a cross platform game then it’s not widely useable, and making everything else perform reasonably frees up more bandwidth/ALU’s/etc. for GI to take up. The implementation of DFAO/GI right now could definitely still use performance refactoring, but no matter how fast it gets it’ll still take up a lot to get looking good.

As for refactoring everything else, I would guess a lot of it will be the nitty gritty technical stuff that’s not terribly new and exciting, at least from a feature perspective.

DanielW, is the performance goal just for the rendering team or is this for all aspects of UE4?

I would really like to see UE4 take advantage of multithreading for AI, Blueprints & Streaming in order to maximise CPU usage on 4+ core systems.

A minimal repro project: Dropbox - Test.7z - Simplify your life

@DanielW
Maybe the Multiple Local IBL(associated with DFAO) would be an alternative solution. See also this thread: https://forums.unrealengine.com/showthread.php?70858-Enable-IBL-from-Reflection-Capture-Sphere-Box-(Multiple-local-IBL)&highlight=GI

Luoshuang, thanks a lot for the repro, I’m investigating, there’s some weird stuff going on.

I think in another thread about runtime landscape modification one Epic staff said they would really like to see a pull request for this although they don’t have the time to implement it themselves at the moment :slight_smile: But I could be wrong… I really would to like to see it!

Big optimization push for many areas of the engine, not just rendering :slight_smile:

I tried to set up everything to test DFGI but it doesn’t seem to work with my scene.

Our work machines use nVidia Quadro cards, could that be an issue?

guys should I remove the semicolon (:wink: in ConsoleVariables.ini???

for this:
r.HeightfieldGlobalIllumination=1
r.HeightfieldInnerBounceDistance=3000
r.HeightfieldOuterBounceDistanceScale=3
r.HeightfieldTargetUnitsPerTexel=200

sorry, newbie in console.

Remove semicolons in front of the lines you want to be active. The semicolon makes it so that line is not read by UE.

thank you for answering Frepp73.

the DFGI doesn’t work (4.9) and i’m starting to get frustrated with this engine.

Hi Bladerskb,

DFGI is functioning in 4.9. It just needs to be enabled and you need to make sure that your Engine Scalability settings are set to EPIC along with making sure that you’re using Windows with a DX11 GPU.

To enable DFGI you can see this post: The state of Distance Field GI in 4.8 - Rendering - Epic Developer Community Forums

Hey Tim, I did do all of that and it didn’t work. Neither DFGI or HFGI (which is what I really wanted) works.

It was a frustrating day yesterday, its always frustrating when you set out time to do something but can’t even get past step 1 to begin. Its a running them of UE frankly.
But I will post my sample project in an hour or so.

I did some tests with dfgi and I have no clue what is wrong with this.

Here is my project.
Its 4.8.

Its working now but its barely visible.
But when I visualize, it shows up as it should.

http://abload.de/img/visualizepxume.png

Here is my consolevariable

[Startup]

r.DistanceFieldGI=1
r.VPLMeshGlobalIllumination=1
r.SurfelDensity=.05

(This is for DFGI.will add HFGI once I get this fully working.)

Bladerskb, did you figure out the problem? I’m having the same issue, DFGI is visualized properly but doesn’t show up when the scene it lit and the intensity slider in post-process volume has no effect.