Question about LPV

Hey guys!
I’m wondering about LPV fate.
It’s second most voted feature in Rendering tab, right after Parallel rendering, however it’s STILL only in backlog.
You can find a lot of threads about LPV on this forum and I think this feature one of the most intriguing in UE4.
I understand that production-quality LPV implementation is serious business and can took a lot resources, so I want to ask - will there be any serious improvements or I should not thinking about production-ready LPV in this year?

Depending on what you want to use it for, it might not be a solution you would ever want to use. I wouldn’t count on it ever being a full dynamic GI solution.

LPV + Some kind of screen space solution would provide nice results.

The biggest draw back of current LPV implementation is lack of Cascading. Because of that it produces very poor results.

The biggest drawback is that the LPV area is too small for a reasonable amount of detail. You can make it bigger but that lowers the detail and you might as well not be using it at that point.

Yes. That is what Cascading would solve :wink:

I’m not sure what that does, can you explain?

Simply speaking it’s technique of creating something in cascades.
First cascade (closest to camera), have highest resolution (in case of LPV highest desnsity volume grid), and subsequent cascades have lower.

Yeah, that’d definitely help, currently it’s only a specific area, which doesn’t work for interiors because it ends up black where the LPV ends, probably not as noticeable in exterior environments but still an issue.

Yep, made a thread a while back asking about cascading LPV, which is very similar to cascading shadows. Starting to wonder if they’re dependent on Lionhead for updates. I asked a couple devs at the Portland developer meetup that didn’t have answers either, which is understandable since they’re focused on only specific parts of the engine or specific projects.

Certainly not lacking in imagination for what I want to use LPVs for, surprising how quickly dead ends were encountered. No offense to the Epic team which are doing awesome work, but it made me sad that the only update to LPV in 4.3 was fixing a crash that didn’t exist in previous versions :frowning:

Any lighting solution that is dependent of stagnant static scenes is staying disabled whether I’m using LPV or not, unless of course I decide to abandon my project and make something that is just a twist on the same old rehashed formulas we’ve been seeing for years with only a minority of stand out exceptions.

I’d like to hear more about this from Epic as well.
Dynamic light is all people ever talk about when it comes to engines so anything that can improve it should be done.
As zeOrb already said, LPV is obviously something people want, judging by the Trello board.
Especially now that Epic have started to focus more on allowing larger games/world to be made using the World browser I think improving how you can use dynamic light should be a priority.

People don’t really want LPV, it’s just the only option in UE4 for dynamic GI. It would be better if they integrated the Nvidia GI system, which is supposed to run well and not have the issues of other dynamic GI solutions.

There is a lot of cool tech from Nvidia, but since a lot of their tech is not cross-platform it would segment a part of our user base. This is why PhysX destructibles and Apex clothing work off the CPU rather than GPU.


I don’t know enough information about it, but from what I understand, their Gameworks systems can work on other hardware, it’s not like PhysX where it gets a performance benefit from CUDA (though I’d guess that they’d still work better on Nvidia hardware)

Currently the rendering team is focusing on parallel rendering, which means the splitting up of CPU side rendering work so that it can be processed on multiple cores. This is a big task so it’s taking a lot of our time and it’s important to drawing lots of anything (objects, foliage, shadows, etc) on PC and consoles.

I know this is not the answer you guys are looking for, just trying to be transparent. This push will take a few months, hopefully we can get back to working on dynamic lighting features after that. It may not come in the form of LPV improvements.

Understand (;
For my part I will say that any improvements for real time indirect lighting are very much welcome addition!

I have two questions:

  1. Is there any prediction where the Multithreaed Renderig will be available ? Something like this year, first quater of next year.
  2. Will it scale to all available CPU cores, or it will be limited to just using hardcoded X cores ?

We’re checking in changes incrementally to the main branch. The first execution of rendering work on other cores will be in the upcoming 4.4, but this is just one of the first steps and has a bunch of sync points which will be removed later.

We’re taking a data-parallel approach so it will scale to however many cores are available to the task graph system, which is typically NumPhysicalCores - 2, since the Game Thread and Rendering Thread get dedicated cores assigned.

Sadly PC will not see huge improvements from this effort, because of the way D3D11 was designed. There’s a video driver thread in the background that will quickly become the bottleneck for rendering many objects as we lower our renderer’s single threaded duration. This is one of the main things Microsoft is hoping to address in the upcoming D3D12.

Well, it’s right choice of priorities, so no complains! :slight_smile:

Yep, as Darthviper said it’s not exactly LPV what I need, but just some form of dynamic GI.

I’m trying to fake somehow dynamic GI for my daytime system, but maximum what I can achieve — synchronous tinting global lights and updating sky colors :c

The new Distance Field AO does go some way to improving dynamic outdoor lighting!

The new Distance Field AO does go some way to improving dynamic outdoor lighting![/QUOTE]

If I change Skylight from stationary to movable I immediately lose all data for reflections

Nice to see Dev discussion going on here. Honestly I don’t care what the method is as long it’s dynamic and not dependent on static baked scenes.

Aside from distance based cascading, I also had radial cascading around emissive light sources in mind. Distance field AO is indeed impressive, glad you’re working on a game that is dynamic!

Has there been any investigation into DX11.2’s Tiled Resources + 3D Textures? (Partially resident textures) IIRC both PS4 and XboxOne Support Tiled Resources. I know there was discussion of ditching Octree from SVOGI in favor of 3D textures in combination with Tiled Resources, though I haven’t seen any great usage yet. Obviously there are other promising methods on the rise as well. Though I always hate the idea of upgrading windows just for a new version of DX.

As far as LPVs go, UE4 isn’t Open Source, but it’s close. I watched the the back and fourth exchange as Rama was trying to get his Snap feature integrated into the engine. There were a lot of special conditions, standards and rules he had to adapt to, changes he had to make to fit the “Epic way”.

@JamesG: Remember how your fluid surface plugin request turned out? :wink:

So I was thinking, for features backlogged on the roadmap in general, why not release guidelines like that for all of those features. Whether it is internal notes or a white paper. Perhaps not to finish the feature completely, but to help fast track it. Or if there’s an experimental feature documented in a paper you can’t justify spending time on implementing.

This is an interesting paper, though since it is based on screenspace it will probably break easily when things are changing off screen. Just wondering if there’s a hybrid solution to take the cheapest technique and use an optimization or method on a conditional basis to compensate for weaknesses.

If I were a programmer with some spare time, that’s what I would be doing right now.

(Forgive me if any of this has been addressed already, been out of town and unable to keep up)