dsman Posted February 3, 2018 Share Posted February 3, 2018 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?). Quote Link to comment Share on other sites More sharing options...
Wingnut Posted February 6, 2018 Share Posted February 6, 2018 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. Quote Link to comment Share on other sites More sharing options...
Guest Posted February 6, 2018 Share Posted February 6, 2018 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) Quote Link to comment Share on other sites More sharing options...
dsman Posted February 9, 2018 Author Share Posted February 9, 2018 @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. Quote Link to comment Share on other sites More sharing options...
dsman Posted February 9, 2018 Author Share Posted February 9, 2018 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. Quote Link to comment Share on other sites More sharing options...
Christoph Posted February 9, 2018 Share Posted February 9, 2018 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. Quote Link to comment Share on other sites More sharing options...
HoloLite Posted February 9, 2018 Share Posted February 9, 2018 @dsman for my case, the default rendering pipeline with fxaa does smooth out the aliasing a bit, but it also introduces a bit of flickering. It was not the complete solution by any means. But the root issue seems to be coming from enabling vrhelper's teleportation. Quote Link to comment Share on other sites More sharing options...
dsman Posted February 9, 2018 Author Share Posted February 9, 2018 @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). Quote Link to comment Share on other sites More sharing options...
Guest Posted February 12, 2018 Share Posted February 12, 2018 Changing minZ and MaxZ helps with the precision because I was assuming that the flickering comes from depth precision Do you think you can capture a small video of the flickering ? (using the browser rendered image when in VR mode) @HoloLite: The teleportation AA issue will soon be fixed https://github.com/BabylonJS/Babylon.js/issues/3733 Quote Link to comment Share on other sites More sharing options...
HoloLite Posted February 12, 2018 Share Posted February 12, 2018 @Deltakosh I can create the playground for you to see the flickers in vr headset. Later today I will finish it. Thanks for looking into the teleport issues. GameMonetize 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.