VR Forward renderer by Oculus Team

you are welcome @daveSchoneveld. I want to thank you for the landscape video you made. I’m writing a guide based on it.

Gotcha, most people just use a default / generic HDRI image for reflections, which doesn’t make sense imo :slight_smile:

As far as implementing forward rendering, isn’t forward rendering itself a much better solution towards real-time GI? I thought I read/heard that somewhere - and the reason UE4 didn’t do well in the GI department was due to deferred rendering?

If I’m correct we can now use MSAA instead of TXAA right? Can someone tell me if high res screenshots looks better with MSAA vs TXAA (which does not make good high res shot due to it’s ‘‘temporal’’ nature, of course).
I will use the oculus ue4 if I can render clean high res screenshots!!!

I really seem to be the only one that doesnt get this to work? :frowning:

Anyone else not being able to run lightmass with this build?

https://dl.dropboxusercontent.com/u/2739873/lightmass_fail.png

I tried using Temporal AA, but the results are way too blurry. I’m going with no AA at all, and setting the render resolution to at least 200%. Gives better results IMO.

Edit: Sorry, just noticed that this is not what you asked :smiley: It’s late and I should go to bed. I’ll leave my comment here because it might be relevant to other people.

tried recompiling lightmass?

I have not been able to get this to work yet btw
Lightmass works for me though. And it works as normal until i enable the flag :slight_smile:
I was planning on waiting until it got put into the official epic branch anyhow…

You have to build lightmass in VS then problem solved

Sweet, I’ll try that. Do I just open the solution on VS, look for lightmass and hit build? I don’t have a lot of experience with this kind of stuff, but I’ll try it tonight. Thanks!

This is great - got it working and the speed gains are considerable. If anyone here is in the know what are the downsides to Forward? As far as I can see - and these unfortunately reduce the look of my app too much - the environment cubemap no longer affects the shading and the motion blur is gone - what else takes a hit?

Yes! Transparency blending in a forward renderer is straightforward, assuming you have a solution for sorting the different blended items. (Various solutions have various trade-offs)

Temporal AA has always been excessive and wipes away fine motion and texture detail. It’s really obvious how bad it is on debug lines which become hard to see. It’s a shame epic hasn’t given this some attention because i think the tradeoffs are too big. All post processing type should be subtle and improve image quality. The other problem is how it’s required to fake certain which don’t even look that nice most of the time.

Does this mean unreal could have nice water that doesn’t look plastic?

I can get it to work with a simple new test project and can switch forward rendering on/off via console without problems. Starting in standalone game play mode from editor.

When I try it with an existing project (based on “Landscape Mountains”) it will crash right after starting as standalone game from editor (forward rendering was not turned on at that point).


[2016.06.01-12.22.48:681]  2]LogWindows:Error: === Critical error: ===
Assertion failed: (GIsCriticalError || !NumMarks) [File:E:\UE4\src\4.11-ofr\UnrealEngine\Engine\Source\Runtime\Core\Public\Misc\MemStack.h] [Line: 90]

Play in viewport seems to be working, but only if I have the HTC Vive disconnected. It will still crash when turning forward rendering off after it was on.

Was anyone able to get the forward renderer to work with “Landscape Mountains” (and HTC Vive headset) or do you also experience these crashes?

This made my DK2 project functional again on the HTC Vive, almost untouched and using Post Processing (DOF and Film but had to turn off AO which was running fine with the DK2). The parts that were dropping to 45fps remained solid at 90 with almost unnoticeable visual change. I hope something like this gets introduced in the official UE4 soon. For those who had problems getting it running, it didn’t work for me on the first trial because I forgot to select the 4.11-ofr branch in the cloned repository.

This is running very well for me except Clear Coat materials don’t seem to work. For me they just look like default lit when I switch to the forward renderer. Has anyone got clear coat working or have a work around for it? Clear Coat is described here: .unrealengine.com/latest/INT/Engine/Rendering/Materials/MaterialProperties/LightingModels/

Also, the docs mention box reflection captures work, but I could only get it to work with a sphere capture.

Is there any ETA for a 4.12 version?

There is a 4.12 branch on github

https://github.com/Oculus-VR/UnrealEngine/tree/4.12

I don’t think so. Forward rendering doesn’t magically get you illumination information that you don’t have in a deferred renderer.

That’s the regular Oculus-maintained engine fork, not the forward rendering branch. At the moment they only have one for 4.11.

If anyone has an idea how to get clear coat materials working with the forward render I’d love to know. Otherwise the render is working very well. I also had to set my light to stationary instead of static.