diff --git a/packages/viewer-sandbox/src/Sandbox.ts b/packages/viewer-sandbox/src/Sandbox.ts index f351f5b64..e670bbc28 100644 --- a/packages/viewer-sandbox/src/Sandbox.ts +++ b/packages/viewer-sandbox/src/Sandbox.ts @@ -50,6 +50,7 @@ export default class Sandbox { intensity: 0.8, kernelRadius: 0.35, // World space kernelSize: 16, + bias: 0.01, minDistance: 0, maxDistance: 0.008 } @@ -528,6 +529,17 @@ export default class Sandbox { this.viewer.requestRender() }) + staticAoFolder + .addInput(Sandbox.pipelineParams.staticAoParams, 'bias', { + min: -1, + max: 1, + step: 0.0001 + }) + .on('change', () => { + this.viewer.getRenderer().pipelineOptions = Sandbox.pipelineParams + this.viewer.requestRender() + }) + staticAoFolder .addInput(Sandbox.pipelineParams.staticAoParams, 'kernelSize', { min: 1, diff --git a/packages/viewer/src/modules/pipeline/Pipeline.ts b/packages/viewer/src/modules/pipeline/Pipeline.ts index fba729c31..cdfe54a78 100644 --- a/packages/viewer/src/modules/pipeline/Pipeline.ts +++ b/packages/viewer/src/modules/pipeline/Pipeline.ts @@ -178,7 +178,7 @@ export class Pipeline { case PipelineOutputType.PROGRESSIVE_AO: pipeline.push(this.depthPass) - pipeline.push(this.normalsPass) + // pipeline.push(this.normalsPass) pipeline.push(this.dynamicAoPass) pipeline.push(this.staticAoPass) pipeline.push(this.copyOutputPass) diff --git a/packages/viewer/src/modules/pipeline/StaticAOPass.ts b/packages/viewer/src/modules/pipeline/StaticAOPass.ts index 5248ef42c..71cd070f4 100644 --- a/packages/viewer/src/modules/pipeline/StaticAOPass.ts +++ b/packages/viewer/src/modules/pipeline/StaticAOPass.ts @@ -43,6 +43,7 @@ export interface StaticAoPassParams { intensity: number kernelRadius: number kernelSize: number + bias: number minDistance: number maxDistance: number } @@ -51,6 +52,7 @@ export const DefaultStaticAoPassParams = { intensity: 0.8, kernelRadius: 0.35, // World space kernelSize: 16, + bias: 0.01, minDistance: 0, maxDistance: 0.008 } @@ -190,6 +192,7 @@ export class StaticAOPass extends Pass implements SpeckleProgressivePass { this.aoMaterial.uniforms['intensity'].value = this.params.intensity this.aoMaterial.uniforms['kernelRadius'].value = this.params.kernelRadius + this.aoMaterial.uniforms['bias'].value = this.params.bias this.aoMaterial.uniforms['frameIndex'].value = this.frameIndex this.aoMaterial.uniforms['minDistance'].value = this.params.minDistance