{"ast":null,"code":"import { WebXRCompositionLayerRenderTargetTextureProvider, WebXRCompositionLayerWrapper } from \"./WebXRCompositionLayer.js\";\n/**\n * Wraps xr projection layers.\n * @internal\n */\nexport class WebXRProjectionLayerWrapper extends WebXRCompositionLayerWrapper {\n constructor(layer, isMultiview, xrGLBinding) {\n super(() => layer.textureWidth, () => layer.textureHeight, layer, \"XRProjectionLayer\", isMultiview, sessionManager => new WebXRProjectionLayerRenderTargetTextureProvider(sessionManager, xrGLBinding, this));\n this.layer = layer;\n }\n}\n/**\n * Provides render target textures and other important rendering information for a given XRProjectionLayer.\n * @internal\n */\nclass WebXRProjectionLayerRenderTargetTextureProvider extends WebXRCompositionLayerRenderTargetTextureProvider {\n constructor(_xrSessionManager, _xrWebGLBinding, layerWrapper) {\n super(_xrSessionManager, _xrWebGLBinding, layerWrapper);\n this.layerWrapper = layerWrapper;\n this._projectionLayer = layerWrapper.layer;\n }\n _getSubImageForView(view) {\n return this._xrWebGLBinding.getViewSubImage(this._projectionLayer, view);\n }\n getRenderTargetTextureForView(view) {\n return this._getRenderTargetForSubImage(this._getSubImageForView(view), view.eye);\n }\n getRenderTargetTextureForEye(eye) {\n const lastSubImage = this._lastSubImages.get(eye);\n if (lastSubImage) {\n return this._getRenderTargetForSubImage(lastSubImage, eye);\n }\n return null;\n }\n trySetViewportForView(viewport, view) {\n const subImage = this._lastSubImages.get(view.eye) || this._getSubImageForView(view);\n if (subImage) {\n this._setViewportForSubImage(viewport, subImage);\n return true;\n }\n return false;\n }\n}\nexport const defaultXRProjectionLayerInit = {\n textureType: \"texture\",\n colorFormat: 0x1908 /* WebGLRenderingContext.RGBA */,\n depthFormat: 0x88f0 /* WebGLRenderingContext.DEPTH24_STENCIL8 */,\n scaleFactor: 1.0,\n clearOnAccess: false\n};","map":{"version":3,"names":["WebXRCompositionLayerRenderTargetTextureProvider","WebXRCompositionLayerWrapper","WebXRProjectionLayerWrapper","constructor","layer","isMultiview","xrGLBinding","textureWidth","textureHeight","sessionManager","WebXRProjectionLayerRenderTargetTextureProvider","_xrSessionManager","_xrWebGLBinding","layerWrapper","_projectionLayer","_getSubImageForView","view","getViewSubImage","getRenderTargetTextureForView","_getRenderTargetForSubImage","eye","getRenderTargetTextureForEye","lastSubImage","_lastSubImages","get","trySetViewportForView","viewport","subImage","_setViewportForSubImage","defaultXRProjectionLayerInit","textureType","colorFormat","depthFormat","scaleFactor","clearOnAccess"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/XR/features/Layers/WebXRProjectionLayer.js"],"sourcesContent":["import { WebXRCompositionLayerRenderTargetTextureProvider, WebXRCompositionLayerWrapper } from \"./WebXRCompositionLayer.js\";\n/**\n * Wraps xr projection layers.\n * @internal\n */\nexport class WebXRProjectionLayerWrapper extends WebXRCompositionLayerWrapper {\n constructor(layer, isMultiview, xrGLBinding) {\n super(() => layer.textureWidth, () => layer.textureHeight, layer, \"XRProjectionLayer\", isMultiview, (sessionManager) => new WebXRProjectionLayerRenderTargetTextureProvider(sessionManager, xrGLBinding, this));\n this.layer = layer;\n }\n}\n/**\n * Provides render target textures and other important rendering information for a given XRProjectionLayer.\n * @internal\n */\nclass WebXRProjectionLayerRenderTargetTextureProvider extends WebXRCompositionLayerRenderTargetTextureProvider {\n constructor(_xrSessionManager, _xrWebGLBinding, layerWrapper) {\n super(_xrSessionManager, _xrWebGLBinding, layerWrapper);\n this.layerWrapper = layerWrapper;\n this._projectionLayer = layerWrapper.layer;\n }\n _getSubImageForView(view) {\n return this._xrWebGLBinding.getViewSubImage(this._projectionLayer, view);\n }\n getRenderTargetTextureForView(view) {\n return this._getRenderTargetForSubImage(this._getSubImageForView(view), view.eye);\n }\n getRenderTargetTextureForEye(eye) {\n const lastSubImage = this._lastSubImages.get(eye);\n if (lastSubImage) {\n return this._getRenderTargetForSubImage(lastSubImage, eye);\n }\n return null;\n }\n trySetViewportForView(viewport, view) {\n const subImage = this._lastSubImages.get(view.eye) || this._getSubImageForView(view);\n if (subImage) {\n this._setViewportForSubImage(viewport, subImage);\n return true;\n }\n return false;\n }\n}\nexport const defaultXRProjectionLayerInit = {\n textureType: \"texture\",\n colorFormat: 0x1908 /* WebGLRenderingContext.RGBA */,\n depthFormat: 0x88f0 /* WebGLRenderingContext.DEPTH24_STENCIL8 */,\n scaleFactor: 1.0,\n clearOnAccess: false,\n};\n"],"mappings":"AAAA,SAASA,gDAAgD,EAAEC,4BAA4B,QAAQ,4BAA4B;AAC3H;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,SAASD,4BAA4B,CAAC;EAC1EE,WAAWA,CAACC,KAAK,EAAEC,WAAW,EAAEC,WAAW,EAAE;IACzC,KAAK,CAAC,MAAMF,KAAK,CAACG,YAAY,EAAE,MAAMH,KAAK,CAACI,aAAa,EAAEJ,KAAK,EAAE,mBAAmB,EAAEC,WAAW,EAAGI,cAAc,IAAK,IAAIC,+CAA+C,CAACD,cAAc,EAAEH,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/M,IAAI,CAACF,KAAK,GAAGA,KAAK;EACtB;AACJ;AACA;AACA;AACA;AACA;AACA,MAAMM,+CAA+C,SAASV,gDAAgD,CAAC;EAC3GG,WAAWA,CAACQ,iBAAiB,EAAEC,eAAe,EAAEC,YAAY,EAAE;IAC1D,KAAK,CAACF,iBAAiB,EAAEC,eAAe,EAAEC,YAAY,CAAC;IACvD,IAAI,CAACA,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,gBAAgB,GAAGD,YAAY,CAACT,KAAK;EAC9C;EACAW,mBAAmBA,CAACC,IAAI,EAAE;IACtB,OAAO,IAAI,CAACJ,eAAe,CAACK,eAAe,CAAC,IAAI,CAACH,gBAAgB,EAAEE,IAAI,CAAC;EAC5E;EACAE,6BAA6BA,CAACF,IAAI,EAAE;IAChC,OAAO,IAAI,CAACG,2BAA2B,CAAC,IAAI,CAACJ,mBAAmB,CAACC,IAAI,CAAC,EAAEA,IAAI,CAACI,GAAG,CAAC;EACrF;EACAC,4BAA4BA,CAACD,GAAG,EAAE;IAC9B,MAAME,YAAY,GAAG,IAAI,CAACC,cAAc,CAACC,GAAG,CAACJ,GAAG,CAAC;IACjD,IAAIE,YAAY,EAAE;MACd,OAAO,IAAI,CAACH,2BAA2B,CAACG,YAAY,EAAEF,GAAG,CAAC;IAC9D;IACA,OAAO,IAAI;EACf;EACAK,qBAAqBA,CAACC,QAAQ,EAAEV,IAAI,EAAE;IAClC,MAAMW,QAAQ,GAAG,IAAI,CAACJ,cAAc,CAACC,GAAG,CAACR,IAAI,CAACI,GAAG,CAAC,IAAI,IAAI,CAACL,mBAAmB,CAACC,IAAI,CAAC;IACpF,IAAIW,QAAQ,EAAE;MACV,IAAI,CAACC,uBAAuB,CAACF,QAAQ,EAAEC,QAAQ,CAAC;MAChD,OAAO,IAAI;IACf;IACA,OAAO,KAAK;EAChB;AACJ;AACA,OAAO,MAAME,4BAA4B,GAAG;EACxCC,WAAW,EAAE,SAAS;EACtBC,WAAW,EAAE,MAAM,CAAC;EACpBC,WAAW,EAAE,MAAM,CAAC;EACpBC,WAAW,EAAE,GAAG;EAChBC,aAAa,EAAE;AACnB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}