const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ssao2.fragment-xV7kpvfh.js","./index-6jOCfdig.js","./index-Ds2meNS5.js","./index-W6UN98iO.css","./ssao2.fragment-nQV7KSTh.js","./ssaoCombine.fragment-C343suo2.js","./ssaoCombine.fragment-DCb__z9e.js"])))=>i.map(i=>d[i]);
import{aL as b,b8 as f,ap as C,bw as x,a as R,V as T,bj as E,d as B,E as w,L as g,bx as F,aH as S,f as A,_ as n,s as a,R as I}from"./index-6jOCfdig.js";import{P as v,a as d}from"./postProcessRenderEffect-CzoXG0LT.js";import{G as V}from"./geometryBufferRenderer-DoMoHHt8.js";import"./postProcessRenderPipelineManagerSceneComponent-C3rID0Lx.js";import{_ as P}from"./index-Ds2meNS5.js";import{R as H}from"./rawTexture-CpjOe2U7.js";import"./engine.multiRender-QnOAzSmL.js";import"./svelte/svelte_svelte.js";import"./svelte/svelte_animate.js";import"./svelte/svelte_attachments.js";import"./svelte/svelte_easing.js";import"./svelte/svelte_internal_client.js";import"./svelte/svelte_internal_flags_async.js";import"./svelte/svelte_internal_flags_legacy.js";import"./svelte/svelte_internal_flags_tracing.js";import"./svelte/svelte_internal_server.js";import"./svelte/svelte_legacy.js";import"./svelte/svelte_motion.js";import"./svelte/svelte_reactivity.js";import"./svelte/svelte_reactivity_window.js";import"./svelte/svelte_server.js";import"./svelte/svelte_store.js";import"./svelte/svelte_transition.js";import"./svelte/svelte_events.js";import"./bumpFragment-DOrWyWCF.js";import"./helperFunctions-C8obpaoJ.js";import"./sceneUboDeclaration-CBM--qyH.js";import"./bumpVertex-CXH2mSLh.js";class M{constructor(){this.enabled=!1,this.name="ssao2",this.texturesRequired=[6,5]}}class l extends b{_gatherImports(e,t){e?(this._webGPUReady=!0,t.push(P(()=>import("./ssao2.fragment-xV7kpvfh.js"),__vite__mapDeps([0,1,2,3]),import.meta.url))):t.push(P(()=>import("./ssao2.fragment-nQV7KSTh.js"),__vite__mapDeps([4,1,2,3]),import.meta.url))}get textureWidth(){return this._textureWidth}set textureWidth(e){this._textureWidth!==e&&(this._textureWidth=e)}get textureHeight(){return this._textureHeight}set textureHeight(e){this._textureHeight!==e&&(this._textureHeight=e)}set samples(e){this._samples=e,this.updateEffect(),this._sampleSphere=this._generateHemisphere()}get samples(){return this._samples}set epsilon(e){this._epsilon=e,this.updateEffect()}get epsilon(){return this._epsilon}updateEffect(){super.updateEffect(this._getDefinesForSSAO())}constructor(e,t,s){super({...s,name:e,engine:t.getEngine(),useShaderStore:!0,useAsPostProcess:!0,fragmentShader:l.FragmentUrl,uniforms:l.Uniforms,samplers:l.Samplers,defines:`#define SSAO
#define SAMPLES 8
#define EPSILON 0.0001`,shaderLanguage:t.getEngine().isWebGPU?1:0}),this.camera=null,this._textureWidth=0,this._textureHeight=0,this._samples=8,this.totalStrength=1,this.radius=2,this.maxZ=100,this.minZAspect=.2,this.base=0,this._epsilon=.02,this._bits=new Uint32Array(1),this._scene=t,this._createRandomTexture(),this.updateEffect(),this._sampleSphere=this._generateHemisphere()}bind(e=!1){super.bind(e);const t=this._drawWrapper.effect,s=this.camera;if(!s)return;const r=s.getProjectionMatrix();if(t.setArray3("sampleSphere",this._sampleSphere),t.setFloat("randTextureTiles",32),t.setFloat("samplesFactor",1/this.samples),t.setFloat("totalStrength",this.totalStrength),t.setFloat2("texelSize",1/this.textureWidth,1/this.textureHeight),t.setFloat("radius",this.radius),t.setFloat("maxZ",this.maxZ),t.setFloat("minZAspect",this.minZAspect),t.setFloat("base",this.base),t.setFloat("near",s.minZ),s.mode===f.PERSPECTIVE_CAMERA){t.setMatrix3x3("depthProjection",l.PERSPECTIVE_DEPTH_PROJECTION);const i=Math.tan(s.fov/2);s.fovMode===f.FOVMODE_VERTICAL_FIXED?(t.setFloat("xViewport",i*this._scene.getEngine().getAspectRatio(s,!0)),t.setFloat("yViewport",i)):(t.setFloat("xViewport",i),t.setFloat("yViewport",i/this._scene.getEngine().getAspectRatio(s,!0)))}else{const i=this._scene.getEngine().getRenderWidth()/2,h=this._scene.getEngine().getRenderHeight()/2,m=s.orthoLeft??-i,u=s.orthoRight??i,_=s.orthoBottom??-h,y=s.orthoTop??h;t.setMatrix3x3("depthProjection",l.ORTHO_DEPTH_PROJECTION),t.setFloat4("viewport",m,u,_,y)}t.setMatrix("projection",r),t.setTexture("randomSampler",this._randomTexture)}dispose(){this._randomTexture.dispose(),super.dispose()}_createRandomTexture(){const t=new Uint8Array(65536),s=C.Zero();for(let i=0;i<t.length;)s.set(x(0,1),x(0,1)).normalize().scaleInPlace(255),t[i++]=Math.floor(s.x),t[i++]=Math.floor(s.y),t[i++]=0,t[i++]=255;const r=H.CreateRGBATexture(t,128,128,this._scene,!1,!1,2);r.name="SSAORandomTexture",r.wrapU=R.WRAP_ADDRESSMODE,r.wrapV=R.WRAP_ADDRESSMODE,this._randomTexture=r}_radicalInverseVdC(e){return this._bits[0]=e,this._bits[0]=(this._bits[0]<<16|this._bits[0]>>16)>>>0,this._bits[0]=(this._bits[0]&1431655765)<<1|(this._bits[0]&2863311530)>>>1>>>0,this._bits[0]=(this._bits[0]&858993459)<<2|(this._bits[0]&3435973836)>>>2>>>0,this._bits[0]=(this._bits[0]&252645135)<<4|(this._bits[0]&4042322160)>>>4>>>0,this._bits[0]=(this._bits[0]&16711935)<<8|(this._bits[0]&4278255360)>>>8>>>0,this._bits[0]*23283064365386963e-26}_hammersley(e,t){return[e/t,this._radicalInverseVdC(e)]}_hemisphereSampleUniform(e,t){const s=t*2*Math.PI,r=1-e*.85,i=Math.sqrt(1-r*r);return new T(Math.cos(s)*i,Math.sin(s)*i,r)}_generateHemisphere(){const e=this.samples,t=[];let s,r=0;for(;r<e;){if(e<16)s=this._hemisphereSampleUniform(Math.random(),Math.random());else{const i=this._hammersley(r,e);s=this._hemisphereSampleUniform(i[0],i[1])}t.push(s.x,s.y,s.z),r++}return t}_getDefinesForSSAO(){const e=this._epsilon??.02;let s=`#define SSAO
#define SAMPLES ${this._samples??8}
#define EPSILON ${e.toFixed(4)}`;return this.camera?.mode===f.ORTHOGRAPHIC_CAMERA&&(s+=`
#define ORTHOGRAPHIC_CAMERA`),s}}l.ORTHO_DEPTH_PROJECTION=[1,0,0,0,1,0,0,0,1];l.PERSPECTIVE_DEPTH_PROJECTION=[0,0,0,0,0,0,1,1,1];l.FragmentUrl="ssao2";l.Uniforms=["sampleSphere","samplesFactor","randTextureTiles","totalStrength","radius","base","range","projection","near","texelSize","xViewport","yViewport","viewport","maxZ","minZAspect","depthProjection"];l.Samplers=["randomSampler","depthSampler","normalSampler"];class p extends b{_gatherImports(e,t){e?(this._webGPUReady=!0,t.push(P(()=>import("./ssao2.fragment-xV7kpvfh.js"),__vite__mapDeps([0,1,2,3]),import.meta.url))):t.push(P(()=>import("./ssao2.fragment-nQV7KSTh.js"),__vite__mapDeps([4,1,2,3]),import.meta.url))}constructor(e,t=null,s,r){super({...r,name:e,engine:t||E.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:p.FragmentUrl,uniforms:p.Uniforms,samplers:p.Samplers,defines:`#define BLUR
`+(s?`#define BLUR_H
`:"")}),this._bypassBlur=!1,this.textureSize=0,this.bilateralSamples=16,this.bilateralSoften=0,this.bilateralTolerance=0,this._expensiveBlur=!0,this._isHorizontal=s;const i=this._getDefinesForBlur(this.expensiveBlur,this.bypassBlur),h=this._getSamplersForBlur(this.bypassBlur);this.updateEffect(i,null,h)}set bypassBlur(e){const t=this._getDefinesForBlur(this.expensiveBlur,e),s=this._getSamplersForBlur(e);this.updateEffect(t,null,s),this._bypassBlur=e}get bypassBlur(){return this._bypassBlur}set expensiveBlur(e){const t=this._getDefinesForBlur(e,this._bypassBlur);this.updateEffect(t),this._expensiveBlur=e}get expensiveBlur(){return this._expensiveBlur}bind(e=!1){super.bind(e);const t=this._drawWrapper.effect;t.setFloat("outSize",this.textureSize),t.setInt("samples",this.bilateralSamples),t.setFloat("soften",this.bilateralSoften),t.setFloat("tolerance",this.bilateralTolerance)}_getSamplersForBlur(e){return e?["textureSampler"]:["textureSampler","depthSampler"]}_getDefinesForBlur(e,t){let s=`#define BLUR
`;return t&&(s+=`#define BLUR_BYPASS
`),e||(s+=`#define BLUR_LEGACY
`),this._isHorizontal?s+`#define BLUR_H
`:s}}p.FragmentUrl="ssao2";p.Uniforms=["outSize","samples","soften","tolerance"];p.Samplers=["textureSampler","depthSampler"];class c extends b{_gatherImports(e,t){e?(this._webGPUReady=!0,t.push(P(()=>import("./ssaoCombine.fragment-C343suo2.js"),__vite__mapDeps([5,1,2,3]),import.meta.url))):t.push(P(()=>import("./ssaoCombine.fragment-DCb__z9e.js"),__vite__mapDeps([6,1,2,3]),import.meta.url))}constructor(e,t=null,s){super({...s,name:e,engine:t||E.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:c.FragmentUrl,uniforms:c.Uniforms,samplers:c.Samplers}),this.camera=null,this.useViewportInCombineStage=!0}bind(e=!1){super.bind(e);const t=this._drawWrapper.effect;if(this.camera){const s=this.camera.viewport;this.useViewportInCombineStage?t.setVector4("viewport",B.Vector4[0].copyFromFloats(s.x,s.y,s.width,s.height)):t.setVector4("viewport",B.Vector4[0].copyFromFloats(0,0,1,1))}}}c.FragmentUrl="ssaoCombine";c.Uniforms=["viewport"];c.Samplers=["originalColor"];class U{get camera(){return this._ssaoPostProcess.camera}set camera(e){this._ssaoPostProcess.camera=e,this._ssaoCombinePostProcess.camera=e}set samples(e){this._ssaoPostProcess.samples=e}get samples(){return this._ssaoPostProcess.samples}get totalStrength(){return this._ssaoPostProcess.totalStrength}set totalStrength(e){this._ssaoPostProcess.totalStrength=e}get radius(){return this._ssaoPostProcess.radius}set radius(e){this._ssaoPostProcess.radius=e}get maxZ(){return this._ssaoPostProcess.maxZ}set maxZ(e){this._ssaoPostProcess.maxZ=e}get minZAspect(){return this._ssaoPostProcess.minZAspect}set minZAspect(e){this._ssaoPostProcess.minZAspect=e}get base(){return this._ssaoPostProcess.base}set base(e){this._ssaoPostProcess.base=e}get epsilon(){return this._ssaoPostProcess.epsilon}set epsilon(e){this._ssaoPostProcess.epsilon=e}set bypassBlur(e){this._ssaoBlurXPostProcess.bypassBlur=e,this._ssaoBlurYPostProcess.bypassBlur=e}get bypassBlur(){return this._ssaoBlurXPostProcess.bypassBlur}set expensiveBlur(e){this._ssaoBlurXPostProcess.expensiveBlur=e,this._ssaoBlurYPostProcess.expensiveBlur=e}get expensiveBlur(){return this._ssaoBlurXPostProcess.expensiveBlur}get bilateralSamples(){return this._ssaoBlurXPostProcess.bilateralSamples}set bilateralSamples(e){this._ssaoBlurXPostProcess.bilateralSamples=e,this._ssaoBlurYPostProcess.bilateralSamples=e}get bilateralSoften(){return this._ssaoBlurXPostProcess.bilateralSoften}set bilateralSoften(e){this._ssaoBlurXPostProcess.bilateralSoften=e,this._ssaoBlurYPostProcess.bilateralSoften=e}get bilateralTolerance(){return this._ssaoBlurXPostProcess.bilateralTolerance}set bilateralTolerance(e){this._ssaoBlurXPostProcess.bilateralTolerance=e,this._ssaoBlurYPostProcess.bilateralTolerance=e}get useViewportInCombineStage(){return this._ssaoCombinePostProcess.useViewportInCombineStage}set useViewportInCombineStage(e){this._ssaoCombinePostProcess.useViewportInCombineStage=e}isReady(){return this._ssaoPostProcess.isReady()&&this._ssaoBlurXPostProcess.isReady()&&this._ssaoBlurYPostProcess.isReady()&&this._ssaoCombinePostProcess.isReady()}constructor(e,t){this.name=e,this._scene=t,this._ssaoPostProcess=new l(this.name,this._scene),this._ssaoBlurXPostProcess=new p(this.name+" BlurX",this._scene.getEngine(),!0),this._ssaoBlurYPostProcess=new p(this.name+" BlurY",this._scene.getEngine(),!1),this._ssaoCombinePostProcess=new c(this.name+" Combiner",this._scene.getEngine())}dispose(){this._ssaoPostProcess?.dispose(),this._ssaoBlurXPostProcess?.dispose(),this._ssaoBlurYPostProcess?.dispose(),this._ssaoCombinePostProcess?.dispose()}}class o extends v{get totalStrength(){return this._thinSSAORenderingPipeline.totalStrength}set totalStrength(e){this._thinSSAORenderingPipeline.totalStrength=e}get maxZ(){return this._thinSSAORenderingPipeline.maxZ}set maxZ(e){this._thinSSAORenderingPipeline.maxZ=e}get minZAspect(){return this._thinSSAORenderingPipeline.minZAspect}set minZAspect(e){this._thinSSAORenderingPipeline.minZAspect=e}set epsilon(e){this._thinSSAORenderingPipeline.epsilon=e}get epsilon(){return this._thinSSAORenderingPipeline.epsilon}set samples(e){this._thinSSAORenderingPipeline.samples=e}get samples(){return this._thinSSAORenderingPipeline.samples}set textureSamples(e){this._textureSamples=e,this._prePassRenderer?this._prePassRenderer.samples=e:this._originalColorPostProcess.samples=e}get textureSamples(){return this._textureSamples}get _geometryBufferRenderer(){return this._forceGeometryBuffer?this._forcedGeometryBuffer??this._scene.geometryBufferRenderer:null}get _prePassRenderer(){return this._forceGeometryBuffer?null:this._scene.prePassRenderer}get radius(){return this._thinSSAORenderingPipeline.radius}set radius(e){this._thinSSAORenderingPipeline.radius=e}get base(){return this._thinSSAORenderingPipeline.base}set base(e){this._thinSSAORenderingPipeline.base=e}set bypassBlur(e){this._thinSSAORenderingPipeline.bypassBlur=e}get bypassBlur(){return this._thinSSAORenderingPipeline.bypassBlur}set expensiveBlur(e){this._thinSSAORenderingPipeline.expensiveBlur=e}get expensiveBlur(){return this._thinSSAORenderingPipeline.expensiveBlur}get bilateralSamples(){return this._thinSSAORenderingPipeline.bilateralSamples}set bilateralSamples(e){this._thinSSAORenderingPipeline.bilateralSamples=e}get bilateralSoften(){return this._thinSSAORenderingPipeline.bilateralSoften}set bilateralSoften(e){this._thinSSAORenderingPipeline.bilateralSoften=e}get bilateralTolerance(){return this._thinSSAORenderingPipeline.bilateralTolerance}set bilateralTolerance(e){this._thinSSAORenderingPipeline.bilateralTolerance=e}static get IsSupported(){const e=w.LastCreatedEngine;return e?e._features.supportSSAO2:!1}get useViewportInCombineStage(){return this._thinSSAORenderingPipeline.useViewportInCombineStage}set useViewportInCombineStage(e){this._thinSSAORenderingPipeline.useViewportInCombineStage=e}get scene(){return this._scene}constructor(e,t,s,r,i=!1,h=0){if(super(t.getEngine(),e),this.SSAOOriginalSceneColorEffect="SSAOOriginalSceneColorEffect",this.SSAORenderEffect="SSAORenderEffect",this.SSAOBlurHRenderEffect="SSAOBlurHRenderEffect",this.SSAOBlurVRenderEffect="SSAOBlurVRenderEffect",this.SSAOCombineRenderEffect="SSAOCombineRenderEffect",this._textureSamples=1,this._forcedGeometryBuffer=null,this._forceGeometryBuffer=!1,this._currentCameraMode=-1,this._thinSSAORenderingPipeline=new U(e,t),this._scene=t,this._ratio=s,this._textureType=h,i instanceof V?(this._forceGeometryBuffer=!0,this._forcedGeometryBuffer=i):this._forceGeometryBuffer=i,!this.isSupported){g.Error("The current engine does not support SSAO 2.");return}const m=this._ratio.ssaoRatio||s,u=this._ratio.blurRatio||s;this._forceGeometryBuffer?(this._forcedGeometryBuffer||t.enableGeometryBufferRenderer(),t.geometryBufferRenderer?.generateNormalsInWorldSpace&&g.Error("SSAO2RenderingPipeline does not support generateNormalsInWorldSpace=true for the geometry buffer renderer!")):(t.enablePrePassRenderer(),t.prePassRenderer?.generateNormalsInWorldSpace&&g.Error("SSAO2RenderingPipeline does not support generateNormalsInWorldSpace=true for the prepass renderer!")),this._originalColorPostProcess=new F("SSAOOriginalSceneColor",1,null,R.BILINEAR_SAMPLINGMODE,t.getEngine(),void 0,this._textureType),this._originalColorPostProcess.onBeforeRenderObservable.add(()=>{const _=this._scene.activeCamera;this._thinSSAORenderingPipeline._ssaoPostProcess.camera=_,_&&this._currentCameraMode!==_.mode&&(this._currentCameraMode=_.mode,this._thinSSAORenderingPipeline._ssaoPostProcess.updateEffect())}),this._originalColorPostProcess.samples=this.textureSamples,this._createSSAOPostProcess(1,h),this._createBlurPostProcess(m,u,this._textureType),this._createSSAOCombinePostProcess(u,this._textureType),this.addEffect(new d(t.getEngine(),this.SSAOOriginalSceneColorEffect,()=>this._originalColorPostProcess,!0)),this.addEffect(new d(t.getEngine(),this.SSAORenderEffect,()=>this._ssaoPostProcess,!0)),this.addEffect(new d(t.getEngine(),this.SSAOBlurHRenderEffect,()=>this._blurHPostProcess,!0)),this.addEffect(new d(t.getEngine(),this.SSAOBlurVRenderEffect,()=>this._blurVPostProcess,!0)),this.addEffect(new d(t.getEngine(),this.SSAOCombineRenderEffect,()=>this._ssaoCombinePostProcess,!0)),t.postProcessRenderPipelineManager.addPipeline(this),r&&t.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(e,r)}getClassName(){return"SSAO2RenderingPipeline"}dispose(e=!1){for(let t=0;t<this._scene.cameras.length;t++){const s=this._scene.cameras[t];this._originalColorPostProcess.dispose(s),this._ssaoPostProcess.dispose(s),this._blurHPostProcess.dispose(s),this._blurVPostProcess.dispose(s),this._ssaoCombinePostProcess.dispose(s)}e&&!this._forcedGeometryBuffer&&this._scene.disableGeometryBufferRenderer(),this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name,this._scene.cameras),this._scene.postProcessRenderPipelineManager.removePipeline(this._name),this._thinSSAORenderingPipeline.dispose(),super.dispose()}_rebuild(){super._rebuild()}_createBlurPostProcess(e,t,s){this._blurHPostProcess=this._createBlurFilter("BlurH",e,s,!0),this._blurVPostProcess=this._createBlurFilter("BlurV",t,s,!1)}_createBlurFilter(e,t,s,r){const i=new S(e,p.FragmentUrl,{size:t,samplingMode:2,engine:this._scene.getEngine(),textureType:this._textureType,effectWrapper:r?this._thinSSAORenderingPipeline._ssaoBlurXPostProcess:this._thinSSAORenderingPipeline._ssaoBlurYPostProcess});return i.onApply=h=>{const m=this._ratio.blurRatio||this._ratio,u=r?this._originalColorPostProcess.width*m:this._originalColorPostProcess.height*m,_=r?this._originalColorPostProcess.width:this._originalColorPostProcess.height;this._thinSSAORenderingPipeline._ssaoBlurXPostProcess.textureSize=u>0?u:_,this._thinSSAORenderingPipeline._ssaoBlurYPostProcess.textureSize=u>0?u:_,this._geometryBufferRenderer?h.setTexture("depthSampler",this._geometryBufferRenderer.getGBuffer().textures[0]):this._prePassRenderer&&h.setTexture("depthSampler",this._prePassRenderer.getRenderTarget().textures[this._prePassRenderer.getIndex(5)])},i.samples=this.textureSamples,i.autoClear=!1,i}_getTextureSize(){const e=this._scene.getEngine(),t=this._prePassRenderer;let s={width:e.getRenderWidth(),height:e.getRenderHeight()};if(t&&this._scene.activeCamera?._getFirstPostProcess()===this._ssaoPostProcess){const r=t.getRenderTarget();r&&r.textures&&(s=r.textures[t.getIndex(4)].getSize())}else this._ssaoPostProcess.inputTexture&&(s.width=this._ssaoPostProcess.inputTexture.width,s.height=this._ssaoPostProcess.inputTexture.height);return s}_createSSAOPostProcess(e,t){this._ssaoPostProcess=new S("ssao",l.FragmentUrl,{size:e,samplingMode:2,engine:this._scene.getEngine(),textureType:t,effectWrapper:this._thinSSAORenderingPipeline._ssaoPostProcess}),this._ssaoPostProcess.autoClear=!1,this._ssaoPostProcess.onApply=s=>{this._geometryBufferRenderer?(s.setTexture("depthSampler",this._geometryBufferRenderer.getGBuffer().textures[0]),s.setTexture("normalSampler",this._geometryBufferRenderer.getGBuffer().textures[1])):this._prePassRenderer&&(s.setTexture("depthSampler",this._prePassRenderer.getRenderTarget().textures[this._prePassRenderer.getIndex(5)]),s.setTexture("normalSampler",this._prePassRenderer.getRenderTarget().textures[this._prePassRenderer.getIndex(6)]));const r=this._getTextureSize();this._thinSSAORenderingPipeline._ssaoPostProcess.textureWidth=r.width,this._thinSSAORenderingPipeline._ssaoPostProcess.textureHeight=r.height},this._ssaoPostProcess.samples=this.textureSamples,this._forceGeometryBuffer||(this._ssaoPostProcess._prePassEffectConfiguration=new M)}_createSSAOCombinePostProcess(e,t){this._ssaoCombinePostProcess=new S("ssaoCombine",c.FragmentUrl,{size:e,samplingMode:2,engine:this._scene.getEngine(),textureType:t,effectWrapper:this._thinSSAORenderingPipeline._ssaoCombinePostProcess}),this._ssaoCombinePostProcess.onApply=s=>{this._thinSSAORenderingPipeline._ssaoCombinePostProcess.camera=this._scene.activeCamera,s.setTextureFromPostProcessOutput("originalColor",this._originalColorPostProcess)},this._ssaoCombinePostProcess.autoClear=!1,this._ssaoCombinePostProcess.samples=this.textureSamples}serialize(){const e=A.Serialize(this);return e.customType="SSAO2RenderingPipeline",e}static Parse(e,t,s){return A.Parse(()=>new o(e._name,t,e._ratio,void 0,e._forceGeometryBuffer,e._textureType),e,t,s)}}n([a()],o.prototype,"totalStrength",null);n([a()],o.prototype,"maxZ",null);n([a()],o.prototype,"minZAspect",null);n([a("epsilon")],o.prototype,"epsilon",null);n([a("samples")],o.prototype,"samples",null);n([a("textureSamples")],o.prototype,"_textureSamples",void 0);n([a()],o.prototype,"_forceGeometryBuffer",void 0);n([a()],o.prototype,"_ratio",void 0);n([a()],o.prototype,"_textureType",void 0);n([a()],o.prototype,"radius",null);n([a()],o.prototype,"base",null);n([a("bypassBlur")],o.prototype,"bypassBlur",null);n([a("expensiveBlur")],o.prototype,"expensiveBlur",null);n([a()],o.prototype,"bilateralSamples",null);n([a()],o.prototype,"bilateralSoften",null);n([a()],o.prototype,"bilateralTolerance",null);I("BABYLON.SSAO2RenderingPipeline",o);export{o as SSAO2RenderingPipeline};
