@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.
30 lines • 1.47 kB
JavaScript
import { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture.pure.js";
/**
* A render target texture for a WebXR layer that renders into a specific array layer of its underlying
* texture (e.g. one layer per eye of a layered projection-layer texture array).
*
* The array-layer index is kept here, in the XR area, rather than on the general-purpose
* {@link RenderTargetTexture}. It mirrors how {@link MultiviewRenderTarget} keeps its XR-specific bind
* behavior in a subclass that overrides {@link _bindFrameBuffer}: the scene binds a camera's
* `outputRenderTarget` with no arguments, so the target itself must know which layer to bind.
* @internal
*/
export class WebXRLayerRenderTargetTexture extends RenderTargetTexture {
constructor() {
super(...arguments);
/**
* The array layer index this render target binds when the scene binds it with no explicit layer.
* Defaults to 0. Set per eye by the WebGPU XR layer provider so each eye renders into its own layer.
*/
this.layerIndex = 0;
}
/**
* @internal
* @param faceIndex face index to bind to if this is a cubetexture
* @param layer defines the index of the texture to bind in the array; defaults to {@link layerIndex}
*/
_bindFrameBuffer(faceIndex = 0, layer = this.layerIndex) {
super._bindFrameBuffer(faceIndex, layer);
}
}
//# sourceMappingURL=webXRLayerRenderTargetTexture.js.map