Closed Bug 1304109 Opened 8 years ago Closed 8 years ago

[webvr] ThreeJS WebVR examples are appearing black in WebVR

Categories

(Core :: Graphics, defect)

All
Windows
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox52 --- affected

People

(Reporter: kip, Assigned: kip)

References

()

Details

I have reproduced the black screen within the HMD with the threejs WebVR video example with an Oculus DK2 and the current Nightly.

The video was playing correctly on the 2d monitor before entering VR, suggesting that it is not an unsupported codec.
I have confirmed that this issue is also affecting OpenVR / HTC Vive
It appears that this occurs for all Threejs.org webvr examples and is not specific to video.
Summary: [webvr] 360 Video Sites are appearing black in WebVR → [webvr] ThreeJS WebVR examples are appearing black in WebVR
An update to the VREffect.js used by threejs caused the regression.

There is a difference in how Firefox and the Chromium experimental builds return VRLayer.leftBounds and VRLayer.rightBounds.

When not set, Firefox is returning an empty array for these attributes, while Chromium is returning null.

Brian Chirls will be updating the VREffect.js to compensate.

I'll add an issue on the WebVR spec to ensure the WebIDL defines the attributes as not nullable.
dictionary VRLayer {
  VRSource? source = null;
  sequence<float>? leftBounds = [ ];
  sequence<float>? rightBounds = [ ];
};

Must become:

dictionary VRLayer {
  VRSource? source = null;
  sequence<float> leftBounds = [ ];
  sequence<float> rightBounds = [ ];
};

Firefox already has this fix, but the WebIDL in the spec is still including the nullability.
I have added a PR to the spec to update the WebIDL to match that used by Firefox:

https://github.com/w3c/webvr/pull/96

I'll close this issue as no changes will be required, assuming the WebIDL change can be merged into the spec.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.