VR Forward renderer by Oculus Team

It might be worth checking out. How is that different from Epic’s VR renderer?

Epic’s VR renderer for desktop is deferred, this one is forward+

Only? Oculus or or will it be possible with both headsets?

It is compatible with the htc vive. I tried it last night. Check out my video. I haven’t done too much testing but it seems like its a really good performance boost. I’d even go as far as saying that you could use it for non vr projects to get faster performance.

Awesome! Nice informative video as well. Struggling with some performance of our scene on the vive ATM so this could come in handy!

I recall seeing an announcement of a built-in forward renderer for VR for Unreal Engine, too. I wonder if it’s related to the forward mobile renderer?
Or maybe it’s a collaboration, and this is the one they’re talking about.

Looks like it is a completely separate renderer. I tried the unreal one alongside and it didn’t seem to do anything so they are probably separate.

Thanks for video! excited to try this, compiling right now XD

I compiled it and loaded my VIVE project on it, but didn’t notice any difference at all. I’m not using screenspace reflections or ambient occlusion, and I’m still getting 90fps (same as I was getting with deferred rendering). Am I missing something here? Do I have to change something on my project’s files for this to work?

did you set r.UseClusteredForward 1 to switch to the new renderer? Haven’t tried it yet, but that seems to be a thing.

I just compiled this and tried it with my DK2 (Oculus runtime 1.4, GTX 770). I tried Epic’s landscape mountains demo and the UE4 City 17 attic/stairwell recreation. Both of these would previously give me 37 fps at all times (due to vsync), with the exception of some empty spots in the City 17 demo where I managed to get 75 fps. This is with instanced stereo rendering on and almost all settings (AA, effects, post processing and shadows) on medium or low. With forward rendering I got a rock solid 75 FPS in both demos… wait for it… with all settings maxed! A staggering improvement.

Do note there is some loss in visual fidelity - you can definitely notice a difference in image quality between the deferred and forward renderers. However it’s a surprisingly small difference, especially considering the enormous fps gain. I think it is well worth the tradeoff for VR applications. Try it for yourself though, I won’t deny I’m a bit of a framerate junkie, so that may cloud my judgement :wink:

I’m not sure I understand your question - are you trying to get more than 90 fps on your Vive? If so that won’t work, the Vive has a 90Hz panel so it will not go above 90 fps normally. You can probably disable vsync to get around this (which would be useful for benchmarking), but keep in mind that this won’t give you any benefits, only possible screen tearing which is quite uncomfortable in VR.

Cool! I’m not trying to get more than 90 fps, but I didn’t notice any difference when using the two rendering methods. That’s why I was asking if I have to do anything else other than just opening my project with this new UE4 build (as in maybe I didn’t switch the render method completely?). Apparently you have to set r.UseClusteredForward to 1, and that will switch to the new renderer?

I’ll try that later today.

Yep, r.UseClusteredForward 1 will switch to the forward renderer. Try switching between 0 and 1 a couple of times, you’ll see the difference quite quickly.

I think epic mentioned supporting something like this on the livesteam on Thursday when they talked about 4.13+ We’ve been looking at this too at work, but haven’t gotten around to testing it out fully. Thanks Daniel for that video, looks worth while.

Keep meaning to try this!
i neeeeeeeed those extra FPS so ill give a shot 2night, and report back.
Cheers :slight_smile:

I guess those transparent smoke trails in the Showdown demo will look a bit solid in forward renderer as the (as far as I know) materials need temporal AA to get the effect to look right. Is transparency cheaper in forward rendering vs deferred?

Maybe its just me, but…i dont see any difference in quality or fps. I guess i did something wrong, though i have no idea what.

I cloned the repo, compiled everything, started the editor and loaded my own project, started the game and opened the console typing “r.UseClusteredForward 1” and nothing happens. Is there any special additional setting i have to make? Is there any setting in the properties that makes the forward renderer disabled or something like that?


Hi Indy

It worked for me after setting r.UseClusteredForward to 1. I just put that on an event begin play > execute console command on the level blueprint.

I can now scale the game up to 250% (render resolution) with no frame drops at all. Prior to that, I was running at 120% with some frame drops. The game looks a lot sharper now. Also, I changed all my materials to use fake reflections using cubemaps/hdri, since this method doesn’t allow for screenspace reflections. Final result is not as realistic, but still pretty good.

Something you could do for reflections is to create a 360 panoramic of the scene (in high detail), then convert that into a cubemap.

That’s exactly what I’m doing :slight_smile: