123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * Wrapper over subclasses of XRLayer.
- * @internal
- */
- export class WebXRLayerWrapper {
- /**
- * Check if fixed foveation is supported on this device
- */
- get isFixedFoveationSupported() {
- return this.layerType == "XRWebGLLayer" && typeof this.layer.fixedFoveation == "number";
- }
- /**
- * Get the fixed foveation currently set, as specified by the webxr specs
- * If this returns null, then fixed foveation is not supported
- */
- get fixedFoveation() {
- if (this.isFixedFoveationSupported) {
- return this.layer.fixedFoveation;
- }
- return null;
- }
- /**
- * Set the fixed foveation to the specified value, as specified by the webxr specs
- * This value will be normalized to be between 0 and 1, 1 being max foveation, 0 being no foveation
- */
- set fixedFoveation(value) {
- if (this.isFixedFoveationSupported) {
- const val = Math.max(0, Math.min(1, value || 0));
- this.layer.fixedFoveation = val;
- }
- }
- /**
- * Create a render target provider for the wrapped layer.
- * @param xrSessionManager The XR Session Manager
- * @returns A new render target texture provider for the wrapped layer.
- */
- createRenderTargetTextureProvider(xrSessionManager) {
- this._rttWrapper = this._createRenderTargetTextureProvider(xrSessionManager);
- return this._rttWrapper;
- }
- dispose() {
- if (this._rttWrapper) {
- this._rttWrapper.dispose();
- this._rttWrapper = null;
- }
- }
- constructor(
- /** The width of the layer's framebuffer. */
- getWidth,
- /** The height of the layer's framebuffer. */
- getHeight,
- /** The XR layer that this WebXRLayerWrapper wraps. */
- layer,
- /** The type of XR layer that is being wrapped. */
- layerType,
- /** Create a render target provider for the wrapped layer. */
- _createRenderTargetTextureProvider) {
- this.getWidth = getWidth;
- this.getHeight = getHeight;
- this.layer = layer;
- this.layerType = layerType;
- this._createRenderTargetTextureProvider = _createRenderTargetTextureProvider;
- this._rttWrapper = null;
- }
- }
- //# sourceMappingURL=webXRLayerWrapper.js.map
|