Test the Forward Renderer in your PC VR projects with the 4.14 Preview

Consider that a happy accident since I never tested it outside d3d11 =) Thanks for the info, I created a bug report for the guys who work on Mac.

I’m also glad (& slightly surprised) the Forward Renderer mostly worked for you on Mac in 4.14 - [CORRECTION] as of 4.15 enabling MSAA shouldn’t crash on Mac, but it may not be 100% functional - apologies, support for this is coming but not sure exactly when.

Thanks DanielW and marksatt-pitbull, good to hear this! I’ll check it out soon.

Hi
I can’t find any doc regarding r.MSAACount i know setting it to 1 will toggle AA to TAA right ? then what is other option ? from 2 till 5 ? and best one is 5? what is equivalent to 2x and 4x ?

thanks

Here is what i found!

/edit: MSAASample count seems to use the same numbers :slight_smile:

Wow , thanks a lot mate :smiley:

Aha, I didn’t see this thread before I posted my question - Forward renderer: any alternatives for World Normal in post process? - XR Development - Epic Developer Community Forums

Since the gbuffer isn’t used by the forward renderer, our post process using SceneTexture World Normal no longer works. It’s the only thing preventing us from moving forward! Is there any work arounds for this? We need access to scene normals for an outline shader - any possible way to check angle changes in the scene? We would really love to be able to use MSAA since it makes VR look so beautiful.

You’re effectively trying to do a deferred operation in the forward renderer, those are incompatible.

One thing you can try is to derive the world normal off of the depth buffer. This will have a number of issues: At depth discontinuities the normal will be wrong. Due to MSAA, the normal will be wrong on edges because the scene depth texture does not contain MSAA sample information.

Thanks for replying, could you elaborate on the bolded? Would this just mean tweaking the depth pass to have enough precision to be able to detect very minor changes, such as angles? Or is something more involved necessary?

The alternative, which I’ve tried and failed at, is to have normal-based outlines created in materials since not every asset needs to have this aesthetic. Is there anyone who’s a pro at materials that I could PM who might be able to help me out?

There’s an example of deriving normal off of the depth buffer in ParticleSimulationShader.usf, CollideWithDepthBuffer. It’s needed in the forward renderer to support particle depth buffer collision, since the GBuffer normal is not available.

Is it a bug that a material does not render with forward, when using 15/16 samplers ?

Edit:

I also made a post about a problem with MSAA and Alpha 2 Coverage here.

The forward renderer uses one more sampler in the base pass than the deferred renderer. Solution - use shared samplers on your texture sample nodes to fit under the limit.

Thanks, this works. :slight_smile:

Little late to the party here.

The result I have with forward rendering + MSAA enabled has significantly increased the visual quality of the HMD however,
when enabling forward rendering it seems to have added a strange specular edge to the materials that flickers?

On screen this is not so visible but with the lower resolution of the HMD (vive) it becomes much more noticeable and also introduces strange white reflections at some perspectives.
I believe the reflections are coming from the roughness of the material, so get the feeling it maybe down to the reflection sphere.

Looking for more information on the reason for the added specular edges so I can work with the limitations to get the best results.
I have noticed it has been mentioned here but not understanding the reason or how to resolve.

‘Normal to Roughness’ can reduce the flickering on surfaces. This is a simple material option(Forward rendering category on the left). Otherwise it is a good idea to add something like 0.25-0.5 to the overall roughness of all surfaces in VR with MSAA.

Thanks for the info, I i did some testing today and it’s the roughness along edges that is causing the issue.

Reducing the roughness amount reduces the effect. I have also been reducing metallic levels.

This issue is actually related to the default scratched edge effect produced by substance painter’s smart materials so if anyone is also using substance painter,
keep in mind that for the current implementation of forward rendering + MSAA, you may need to tweak the
default roughness values and maybe also the metallic values to avoid the flickery edge issues.

Any info when Forward Rendering gets IES profile light functions updates?
I was hoping to see it at 4.15 release

I see the forward renderer now has dynamic shadows support. Which is neat, but I am seeing a concerning amount of aliasing in the further away cascades of a directional light, is there a method in the engine (4.15 binary release) right now to combat it?

Is the renderer forward or forward+? I hope for forward+.

Thank you , I want to implement this by my noob status currently prevents me from knowing how to go about doing this? Can you point me to a tutorial or some pointers please? Thank you