nativeXRRenderTarget.d.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import type { RenderTargetTexture } from "../../Materials/Textures/renderTargetTexture";
  2. import type { Viewport } from "../../Maths/math.viewport";
  3. import type { Nullable } from "../../types";
  4. import { WebXRLayerWrapper } from "../webXRLayerWrapper";
  5. import { WebXRLayerRenderTargetTextureProvider } from "../webXRRenderTargetTextureProvider";
  6. import type { WebXRSessionManager } from "../webXRSessionManager";
  7. import type { WebXRRenderTarget } from "../webXRTypes";
  8. /**
  9. * Wraps XRWebGLLayer's created by Babylon Native.
  10. * @internal
  11. */
  12. export declare class NativeXRLayerWrapper extends WebXRLayerWrapper {
  13. readonly layer: XRWebGLLayer;
  14. constructor(layer: XRWebGLLayer);
  15. }
  16. /**
  17. * Provides render target textures for layers created by Babylon Native.
  18. * @internal
  19. */
  20. export declare class NativeXRLayerRenderTargetTextureProvider extends WebXRLayerRenderTargetTextureProvider {
  21. readonly layerWrapper: NativeXRLayerWrapper;
  22. private _nativeRTTProvider;
  23. private _nativeLayer;
  24. constructor(sessionManager: WebXRSessionManager, layerWrapper: NativeXRLayerWrapper);
  25. trySetViewportForView(viewport: Viewport): boolean;
  26. getRenderTargetTextureForEye(eye: XREye): Nullable<RenderTargetTexture>;
  27. getRenderTargetTextureForView(view: XRView): Nullable<RenderTargetTexture>;
  28. getFramebufferDimensions(): Nullable<{
  29. framebufferWidth: number;
  30. framebufferHeight: number;
  31. }>;
  32. }
  33. /**
  34. * Creates the xr layer that will be used as the xr session's base layer.
  35. * @internal
  36. */
  37. export declare class NativeXRRenderTarget implements WebXRRenderTarget {
  38. canvasContext: WebGLRenderingContext;
  39. xrLayer: Nullable<XRWebGLLayer>;
  40. private _nativeRenderTarget;
  41. constructor(_xrSessionManager: WebXRSessionManager);
  42. initializeXRLayerAsync(xrSession: XRSession): Promise<XRWebGLLayer>;
  43. dispose(): void;
  44. }