I have a new Phone the Galaxy Note 8 ! My old Google Cardboard NS-MVRCG1 Viewer which works well enough.
Here's what I've been able to determine is the state of affairs for THREE JS and VR. Please advise or correct my understanding thanks.
So maybe it seems StereoEffect was created first and splits the screen into two views for each eye.
Later people realized Barrel distortion was missing and created CardboardEffect.
What I'm guessing is it was realized with all the different devices something more was needed to understand the different devices so maybe then VREffect was established to replace both StereoEffect and it's evolved CardboardEffect, which have been obsolesced by VREffect.
This was referenced https://github.com/w3c/webvr/blob/master/explainer.md in https://w3c.github.io/webvr/
alas it's all pre-release and not ready to sort out yet (another assumption).
These links I plucked out of VREffects source
https://github.com/mrdoob/three.js/blob/master/examples/js/effects/VREffect.js
of which one can see TWO Eyes/Cameras L & R in that code, but it's default operation (replacing CardboardEffect in my example code) is only one view (no stereo).
Here is my experiences so far:
Only CardboardEffect and StereoEffect show split screens.
Main question is what am I missing to enabled VREffect to show in stereo?
In both Stereo and Cardboard despite trying extreme settings to 'Separation', I noted that separation is working but there's something fundamentally wrong with the screen spacing I guess because trying all sorts of settings with separation never gets the eyes to align properly (it's not my phones' alignment in cardboard as test with the official Cardboard App show).
I tried the sites examples filtering for 'vr' and so just to start with the vr cubes example https://threejs.org/examples/webvr_cubes.html
either accessed directly like this link or from inside the Examples, when clicking Enable VR button they both flicker, reload a new tab (proven in Chrome DevTools inspector switching to new tab), and then it returns to a single camera view with the enable VR button (no change) that simple doesn't work. It's even crashed the mobile browser but I can't see any errors reported through DevTools (via USB inspection).
So there's no current working example for a Stereo View with even a basic Cardboard setup.
From what I can tell, (without any documentation to be found either and with my limited testing experiences) is we are missing the ability to set the screen barrel dimensions, and screen parameters for various devices etc. (is there a list somewhere of these device specific dimensions?)
The only warning was Orientation depreciated without a secure SSL connection (I think it means) [no errors reported or visible or seen even briefly while crashing out aka reloading new tab etc.].
Maybe I'm missing WebVRManager? or documentation to know what to set this too setVRDisplay in VREffect?
It sure would be nice to see a basic (current note 8) cardboard example that works.
Documentation filters zero results for 'vr' or 'effect' even, so "What gives?", please help me understand what might be happen with all this. Did I magically guess right with my thoughts above/below?
Maybe it's almost ready but no example and/or documentation, or it's waiting for a spec for loading devices' complex viewer distortion settings/parameters etc.
Finally is there a way to temporarily hack (add more adjustment values to) any/all of the (Stereo) *Effects to adjust the screen settings so I'm not damaging my eyes hopelessly trying to get them uncrossed with only an indocumented depreciated separation setting?
_Anyway I guess that's enough to open this query for now (I'm sure others have the same questions), maybe if learn more I'll add something to this in time._
Thanks for your continued support and understanding. Master James
Chrome Browser on Android Note 8 with Google Cardboard NS-MVRCG1
I did try this and any webvr settings in google chrome flags
https://stackoverflow.com/questions/37920050/how-to-enable-webvr-on-google-chrome
This live demo also crashes on my mobile the same way.
https://borismus.github.io/webvr-boilerplate/
Not surprisingly same tab reload (aka crash/refresh) happens here
https://googlevr.github.io/webvr-ui/examples/basic.html
Is there a TL;DR version of your question?
Yes in Bold above [Main question is what am I missing to enabled VREffect to show in stereo?]. Also "Any plan for documentation and/or example of which VR solution is needed or will survive (StereoEffect, CardboardEffect, and/or VREffect)?" (with basic cardboard setup.)
Sorry I'm feeling rather nooby again (not sure that's entirely my fault... probably). also super loved seeing my example in your presentation, thanks for that as well. I'm pretty passionate about this stuff so I want to see it excel and I guess I tend to panic into a rant when feeling dazed and confused.
Also you'll note if read/skip to end all examples are failing.
Yes, everything evolved into VREffect (and now, built into WebGLRenderer) as the WebVR API came on the scene.
The demos should work out of the box currently on a phone+browser that supports WebVR. You'll need the Google VR Services installed. Try these as well:
https://webvr.info/samples/
Yeah. Please, use the webvr
examples as reference.
https://threejs.org/examples/?q=webvr
Right thank you for confirming whats up @mkeblx Michael!
So I have the latest phone with the latest OS with "Google VR Services" already pre installed and the samples at webvr.info (and everywhere ALL) when clicking for Enable VR stereo mode as I've said "Crash the Chrome Browser" rarely and always cause a tab reload/refresh (returning to the same none VR state), so I'm confirming they're not working and I see no error cause it crashes or reloads the tab when looking with USB dev console etc. (meaning the tab disappears so maybe am appropriate breakpoint is suggestible, etc.).
Please advise what I can do to help diagnose the most serious problem.
_Much & Many special thanks and appreciation for your continued support and understanding my VR Brethren._
If Chrome is crashing you should file a bug on the chromium issue tracker.
I'm guessing it's officially been broken somewhere. Looking for an API changes log maybe?
I found this link wondering if there's a known problem etc.
http://www.androidpolice.com/2017/09/15/chrome-team-ama-reveals-details-autofill-api-support-re-working-webvr/
Down the page is a blurb called "WebVR is being re-worked".
The comment went on to say that Google intends to remove support for the old WebVR API after the new one is completed, but the company will provide resources to developers for migrating existing content.
Please, file a bug on the chromium issue tracker.
Okay so it took about a week to figure this out. (On the eighth day I rested.)
It was crashing because the phones default out-of-the-box resolution is not true but rather set to...
FHD+ 2220x1080 while the OLED screen is actually capable of WQHD+ 2960x1440
_I think you can tell where I'm going with this._
If you don't go into the settings>display and set it to the proper true resolution all attempts at VR will crash and reload with no explanation errors etc.
Please feel free to close this as acknowledgement that the answer to the problem has been found and noted. Oh wait that was done for some reason already!?
I would like to report the bug as recommended. I'm sure that's easier to solve then to find the solution but I also have no idea where to do that either. Found it https://www.chromium.org/issue-tracking No wait that doesn't look right this is a Samsung issue. Or maybe it's a Android driver issue? Where do you recommend I report this?
I will follow up on WebGLRenderer next, thanks again since that comment helps answer the real question here.
_As a starter suggestion maybe in the documentation put all the old VR effects stuff but say "see WebGLRenderer" or something that helps find out the answer to the title of this question, or maybe on the things that come up Googling like more of these git forum discussions, and add a reference to a posting saying these things have migrated and merged then it will show the cross reference to the article explaining (without cluttering the docs). I guess it could be this post but it's not as good as having an official one or an action plan for the future so this stuff doesn't get away from us like Battling the Googleplex seems to be lately (overly complex). [Reading through the initial post probably demonstrates a typical use case experience for three js and enforces the need for this to help people to not be overwhelmed with the lack of explanation, as the changes of rushing into the singularity can compound as I feel they have in this case.]_
I got bounce from
issuetracker.google.com
for WebVR issues to bugs.chromium.org
so I made an attempt hopefully they can forward to the next party up the chain.
Threejs, WebVR, Chrome, (Chromium), Android, Samsung.
https://bugs.chromium.org/p/chromium/issues/detail?id=793725
They have resolved the issue in Chrome version 63 (pushed today).
Now everybody's WebVR will actually work (without changing default resolution to device maximum).
Apparently it was an already know bug.
https://bugs.chromium.org/p/chromium/issues/detail?id=753865
Most helpful comment
Is there a TL;DR version of your question?