Jump to content

Far mesh flickering in WebVR HMD


Recommended Posts

If I use VR normally on any Oculus app, the meshes however far it is, aren't flickering, even with any reflecting material or any advanced shaders. But when using Babylon WebVR, meshes that are far, flicker so heavily.

What is causing that flickering? Is it Aliasing? I think Aliasing should affect all edges not just meshes which are far. Also, this only appears inside VR HMD, not in the split screen view in the browser on the PC display (hence, couldn't get the screenshot as well).

I believe this has something to do with GPU param settings (Anisotropic filtering? Aliasing level?).

Link to comment
Share on other sites

Hi dsman!   Sorry for the slow replies here, and for the low-participation in your controller keys thread, too. 

The forum has been a little sleepy, lately.  :)  Late winter.  Many have burrowed-deep beneath the haystacks... to stay warm and dry.  ;)

Thx for the report and clear details of the issue.  I learn things... when you speak.  thx!

I'm going to ping @davrous.  David is a great coder, swell guy, and likely the most experienced-in-VR person that we have nearby.  Perhaps he has some advice.  (hi/thx, Dav!)

Thx for the patience.  Stay tuned.

Just out of curiosity... do you know what camera 'metrics' are, dsman?  See JS console here... https://www.babylonjs-playground.com/#VVCUZ#1

A strange pile of properties which I know little-about.  Not sure if those values apply to this issue... but what the heck.  :)

Link to comment
Share on other sites

I think you are seeing depth flickering

Can you make sure to set camera.maxZ to the lowest possible value (and set canera.minZ = 1 for instance). You need to reduce the distance between this two values to get the maximum possible precision


(You have to do it on the WebVRCamera obviously)

Link to comment
Share on other sites

@WingnutThanks for pointing to that PG. I didn't know all those properties of course. Still not sure if any of this could apply to the flickering problem. 

@Deltakosh    Well minZ and maxZ is simply clipping the scene. The mesh I see as flickering one are not even that farther. The scene just a small room. 

Also, I am confused whether it is aliasing. I now doubt more that it's simply aliasing. But I assume webVRCamera doesn't require setting up FXAA() or "camera.samples =4" like in case of webgl 2.0 for vrDeviceOrientationCamera. 

How do we increase anti-aliasing quality? I have also tried setting "enhance application setting" for Nvidia GPU settings and set it to 8x. But I think this way of applying anisotropic filtering or anti-aliasing doesn't work with browsers. 



Link to comment
Share on other sites

 I also checked following thread. A thing to note is although we are using webVRFreeCamera, we are not using VRHelper. We have our own teleportation logic. 

I still tried the method @HoloLite used in the linked PG. Which is to use default rendering pipeline with FXAA post process. It actually increased the aliasing. 


Link to comment
Share on other sites

In order to force your application into your defined AA you should try to change "enhance  the application setting" to the last one that's something like "disable application settings". My Nivida Settings are in german so I don't know how it's called exactly in the english version. That should override the application's settings and use your own.

However flickering is usually your depth buffer.

Note: The size of your room does not matter for the buffer. You can test if that's the case by moving "flickering" objects a bit away from each other, so they do not overlap or are too close together.

Link to comment
Share on other sites

@Christoph    Yes, we can override application setting (The drop-down item name is "Override application setting"). But for Anti-Aliasing, the Nvidia control panel doesn't have override option. Its either "Application-controlled" or "Enhance application setting". And I believe these settings don't affect WebGL running inside a browser. But not sure. 

Also, it's not z-fighting's flickering for sure (The one which happens when faces of meshes are relatively too close). 

@HoloLite   For me enabling FXAA in default rendering pipeline made it worse. Not sure why. (Maybe because sceneoptimizer is turned on and it reduced the resolution since postprocesses were too consuming).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...