mirror of
https://github.com/servo/servo.git
synced 2025-06-16 04:14:29 +00:00
44 lines
1.5 KiB
Text
44 lines
1.5 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://immersive-web.github.io/layers/#XRWebGLBindingtype
|
|
[SecureContext, Exposed=Window, Pref="dom.webxr.layers.enabled"]
|
|
interface XRWebGLBinding {
|
|
constructor(XRSession session, XRWebGLRenderingContext context);
|
|
|
|
// readonly attribute double nativeProjectionScaleFactor;
|
|
|
|
// XRProjectionLayer createProjectionLayer(GLenum textureTarget, optional XRProjectionLayerInit init = {});
|
|
// XRQuadLayer createQuadLayer(GLenum textureTarget, XRLayerInit init);
|
|
// XRCylinderLayer createCylinderLayer(GLenum textureTarget, XRLayerInit init);
|
|
// XREquirectLayer createEquirectLayer(GLenum textureTarget, XRLayerInit init);
|
|
// XRCubeLayer createCubeLayer(XRLayerInit init);
|
|
|
|
XRWebGLSubImage? getSubImage(XRLayer layer, XRFrame frame); // for mono layers
|
|
XRWebGLSubImage? getViewSubImage(XRLayer layer, XRView view); // for stereo layers
|
|
};
|
|
|
|
dictionary XRProjectionLayerInit {
|
|
boolean depth = true;
|
|
boolean stencil = false;
|
|
boolean alpha = true;
|
|
double scaleFactor = 1.0;
|
|
};
|
|
|
|
dictionary XRLayerInit {
|
|
required unsigned long pixelWidth;
|
|
required unsigned long pixelHeight;
|
|
XRLayerLayout layout = "mono";
|
|
boolean depth = false; // This is a change from typical WebGL initialization, but feels appropriate.
|
|
boolean stencil = false;
|
|
boolean alpha = true;
|
|
};
|
|
|
|
enum XRLayerLayout {
|
|
"mono",
|
|
"stereo",
|
|
"stereo-left-right",
|
|
"stereo-top-bottom"
|
|
};
|
|
|