@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
45 lines (44 loc) • 1.87 kB
TypeScript
import type { RenderTargetTexture } from "../../Materials/Textures/renderTargetTexture.js";
import type { Viewport } from "../../Maths/math.viewport.js";
import type { Nullable } from "../../types.js";
import { WebXRLayerWrapper } from "../webXRLayerWrapper.js";
import { WebXRLayerRenderTargetTextureProvider } from "../webXRRenderTargetTextureProvider.js";
import type { WebXRSessionManager } from "../webXRSessionManager.js";
import type { WebXRRenderTarget } from "../webXRTypes.js";
/**
* Wraps XRWebGLLayer's created by Babylon Native.
* @internal
*/
export declare class NativeXRLayerWrapper extends WebXRLayerWrapper {
readonly layer: XRWebGLLayer;
constructor(layer: XRWebGLLayer);
}
/**
* Provides render target textures for layers created by Babylon Native.
* @internal
*/
export declare class NativeXRLayerRenderTargetTextureProvider extends WebXRLayerRenderTargetTextureProvider {
readonly layerWrapper: NativeXRLayerWrapper;
private _nativeRTTProvider;
private _nativeLayer;
constructor(sessionManager: WebXRSessionManager, layerWrapper: NativeXRLayerWrapper);
trySetViewportForView(viewport: Viewport): boolean;
getRenderTargetTextureForEye(eye: XREye): Nullable<RenderTargetTexture>;
getRenderTargetTextureForView(view: XRView): Nullable<RenderTargetTexture>;
getFramebufferDimensions(): Nullable<{
framebufferWidth: number;
framebufferHeight: number;
}>;
}
/**
* Creates the xr layer that will be used as the xr session's base layer.
* @internal
*/
export declare class NativeXRRenderTarget implements WebXRRenderTarget {
canvasContext: WebGLRenderingContext;
xrLayer: Nullable<XRWebGLLayer>;
private _nativeRenderTarget;
constructor(_xrSessionManager: WebXRSessionManager);
initializeXRLayerAsync(xrSession: XRSession): Promise<XRWebGLLayer>;
dispose(): void;
}