@xviewer.js/postprocessing 1.0.5-alhpa.1 → 1.0.5-alhpa.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.cjs CHANGED
@@ -12,7 +12,7 @@ class PostProcessing extends core.Component {
12
12
  get composer() {
13
13
  return this._composer;
14
14
  }
15
- constructor({ pass = [], msaa = false, frameBufferType = three.HalfFloatType, ...props } = {}){
15
+ constructor({ renderPass, pass = [], msaa = false, frameBufferType = three.HalfFloatType, ...props } = {}){
16
16
  super(), this.order = -1, this._effects = [];
17
17
  this.onLoad = ()=>{
18
18
  const { renderer, scene, camera } = this.context;
@@ -22,7 +22,7 @@ class PostProcessing extends core.Component {
22
22
  frameBufferType,
23
23
  multisampling
24
24
  }, props));
25
- this._composer.addPass(new postprocessing.RenderPass(scene, camera));
25
+ this._composer.addPass(renderPass != null ? renderPass : new postprocessing.RenderPass(scene, camera));
26
26
  const passes = Array.isArray(pass) ? pass : [
27
27
  pass
28
28
  ];
package/dist/main.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.cjs","sources":["../src/PostProcessing.ts"],"sourcesContent":["import {\n BlendFunction,\n BloomEffect,\n DepthOfFieldEffect,\n Effect,\n EffectComposer,\n EffectPass,\n FXAAEffect,\n KernelSize,\n MaskFunction,\n Pass,\n RenderPass,\n SMAAEffect,\n ToneMappingEffect,\n ToneMappingMode\n} from \"postprocessing\";\n\nimport { Component, PropertyManager, Renderer } from \"@xviewer.js/core\";\nimport { HalfFloatType, UnsignedByteType, FloatType } from \"three\";\n\nconst { _getClassProperties } = PropertyManager;\n\ntype PassOptions = { effect?: Effect | Effect[], encodeOutput?: boolean }\ntype PostProcessingProps = ConstructorParameters<typeof EffectComposer>[1] & {\n pass?: PassOptions | PassOptions[] | Pass | Pass[];\n msaa?: boolean | number;\n frameBufferType?: typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType;\n}\n\nexport class PostProcessing extends Component {\n order: number = -1;\n\n private _effects: Effect[] = [];\n private _renderer: Renderer;\n private _composer: EffectComposer;\n\n get effects() {\n return this._effects;\n }\n get composer() {\n return this._composer;\n }\n\n constructor({\n pass = [],\n msaa = false,\n frameBufferType = HalfFloatType,\n ...props\n }: PostProcessingProps = {}) {\n super();\n this.onLoad = () => {\n const { renderer, scene, camera } = this.context;\n const multisampling = msaa ? typeof msaa === \"number\" ? msaa : Math.min(4, renderer.capabilities.maxSamples) : 0;\n\n this._renderer = this.viewer.getComponent(Renderer);\n this._composer = new EffectComposer(renderer, Object.assign({ frameBufferType, multisampling }, props));\n this._composer.addPass(new RenderPass(scene, camera));\n \n const passes = Array.isArray(pass) ? pass : [pass];\n passes.forEach(pass => {\n if (pass instanceof Pass) {\n this._composer.addPass(pass);\n }\n else {\n const { effect = [], encodeOutput = true } = pass\n const effects = Array.isArray(effect) ? effect : [effect];\n this._effects = this._effects.concat(effects);\n const effectPass = new EffectPass(camera, ...effects);\n effectPass.encodeOutput = encodeOutput;\n this._composer.addPass(effectPass);\n }\n });\n this._effects.forEach(target => {\n Object.defineProperty(target, \"blendOpacity\", {\n get: () => target.blendMode.getOpacity(),\n set: (v) => target.blendMode.setOpacity(v)\n })\n Object.defineProperty(target, \"blendFunction\", {\n get: () => target.blendMode.blendFunction,\n set: (v) => target.blendMode.blendFunction = v,\n })\n })\n }\n\n this.onDestroy = () => this._composer.dispose();\n\n this.render = (dt) => this._composer.render(dt);\n this.resize = (width, height) => this._composer.setSize(width, height);\n\n this.onEnable = () => this._renderer.enabled = false;\n this.onDisable = () => this._renderer.enabled = true;\n }\n}\n\n_getClassProperties(PostProcessing.name, {\n effects: { flat: true }\n})\n\n_getClassProperties(Effect.name, {\n blendOpacity: { min: 0, max: 1 },\n blendFunction: { value: BlendFunction }\n})\n\n_getClassProperties(BloomEffect.name, {\n intensity: { min: 0, max: 10 },\n dithering: {},\n kernelSize: { value: KernelSize }\n})\n\n_getClassProperties(ToneMappingEffect.name, {\n mode: { value: ToneMappingMode }\n})\n\n_getClassProperties(FXAAEffect.name, {\n minEdgeThreshold: { min: 0, max: 1 },\n maxEdgeThreshold: { min: 0, max: 1 },\n subpixelQuality: { min: 0, max: 1 },\n samples: {}\n})\n\n_getClassProperties(SMAAEffect.name, {\n edgesTexture: {},\n weightsTexture: {},\n})\n\n_getClassProperties(DepthOfFieldEffect.name, {\n bokehScale: {},\n maskFunction: { value: MaskFunction },\n target: {},\n})"],"names":["_getClassProperties","PropertyManager","PostProcessing","Component","effects","_effects","composer","_composer","pass","msaa","frameBufferType","HalfFloatType","props","order","onLoad","renderer","scene","camera","context","multisampling","Math","min","capabilities","maxSamples","_renderer","viewer","getComponent","Renderer","EffectComposer","Object","assign","addPass","RenderPass","passes","Array","isArray","forEach","Pass","effect","encodeOutput","concat","effectPass","EffectPass","target","defineProperty","get","blendMode","getOpacity","set","v","setOpacity","blendFunction","onDestroy","dispose","render","dt","resize","width","height","setSize","onEnable","enabled","onDisable","name","flat","Effect","blendOpacity","max","value","BlendFunction","BloomEffect","intensity","dithering","kernelSize","KernelSize","ToneMappingEffect","mode","ToneMappingMode","FXAAEffect","minEdgeThreshold","maxEdgeThreshold","subpixelQuality","samples","SMAAEffect","edgesTexture","weightsTexture","DepthOfFieldEffect","bokehScale","maskFunction","MaskFunction"],"mappings":"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"}
1
+ {"version":3,"file":"main.cjs","sources":["../src/PostProcessing.ts"],"sourcesContent":["import {\n BlendFunction,\n BloomEffect,\n DepthOfFieldEffect,\n Effect,\n EffectComposer,\n EffectPass,\n FXAAEffect,\n KernelSize,\n MaskFunction,\n Pass,\n RenderPass,\n SMAAEffect,\n ToneMappingEffect,\n ToneMappingMode\n} from \"postprocessing\";\n\nimport { Component, PropertyManager, Renderer } from \"@xviewer.js/core\";\nimport { HalfFloatType, UnsignedByteType, FloatType } from \"three\";\n\nconst { _getClassProperties } = PropertyManager;\n\ntype PassOptions = { effect?: Effect | Effect[], encodeOutput?: boolean }\ntype PostProcessingProps = ConstructorParameters<typeof EffectComposer>[1] & {\n pass?: PassOptions | PassOptions[] | Pass | Pass[];\n msaa?: boolean | number;\n frameBufferType?: typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType;\n renderPass?: Pass;\n}\n\nexport class PostProcessing extends Component {\n order: number = -1;\n\n private _effects: Effect[] = [];\n private _renderer: Renderer;\n private _composer: EffectComposer;\n\n get effects() {\n return this._effects;\n }\n get composer() {\n return this._composer;\n }\n\n constructor({\n renderPass,\n pass = [],\n msaa = false,\n frameBufferType = HalfFloatType,\n ...props\n }: PostProcessingProps = {}) {\n super();\n this.onLoad = () => {\n const { renderer, scene, camera } = this.context;\n const multisampling = msaa ? typeof msaa === \"number\" ? msaa : Math.min(4, renderer.capabilities.maxSamples) : 0;\n\n this._renderer = this.viewer.getComponent(Renderer);\n this._composer = new EffectComposer(renderer, Object.assign({ frameBufferType, multisampling }, props));\n this._composer.addPass(renderPass ?? new RenderPass(scene, camera));\n\n const passes = Array.isArray(pass) ? pass : [pass];\n passes.forEach(pass => {\n if (pass instanceof Pass) {\n this._composer.addPass(pass);\n }\n else {\n const { effect = [], encodeOutput = true } = pass\n const effects = Array.isArray(effect) ? effect : [effect];\n this._effects = this._effects.concat(effects);\n\n const effectPass = new EffectPass(camera, ...effects);\n effectPass.encodeOutput = encodeOutput;\n this._composer.addPass(effectPass);\n }\n });\n this._effects.forEach(target => {\n Object.defineProperty(target, \"blendOpacity\", {\n get: () => target.blendMode.getOpacity(),\n set: (v) => target.blendMode.setOpacity(v)\n })\n Object.defineProperty(target, \"blendFunction\", {\n get: () => target.blendMode.blendFunction,\n set: (v) => target.blendMode.blendFunction = v,\n })\n })\n }\n\n this.onDestroy = () => this._composer.dispose();\n\n this.render = (dt) => this._composer.render(dt);\n this.resize = (width, height) => this._composer.setSize(width, height);\n\n this.onEnable = () => this._renderer.enabled = false;\n this.onDisable = () => this._renderer.enabled = true;\n }\n}\n\n_getClassProperties(PostProcessing.name, {\n effects: { flat: true }\n})\n\n_getClassProperties(Effect.name, {\n blendOpacity: { min: 0, max: 1 },\n blendFunction: { value: BlendFunction }\n})\n\n_getClassProperties(BloomEffect.name, {\n intensity: { min: 0, max: 10 },\n dithering: {},\n kernelSize: { value: KernelSize }\n})\n\n_getClassProperties(ToneMappingEffect.name, {\n mode: { value: ToneMappingMode }\n})\n\n_getClassProperties(FXAAEffect.name, {\n minEdgeThreshold: { min: 0, max: 1 },\n maxEdgeThreshold: { min: 0, max: 1 },\n subpixelQuality: { min: 0, max: 1 },\n samples: {}\n})\n\n_getClassProperties(SMAAEffect.name, {\n edgesTexture: {},\n weightsTexture: {},\n})\n\n_getClassProperties(DepthOfFieldEffect.name, {\n bokehScale: {},\n maskFunction: { value: MaskFunction },\n target: {},\n})"],"names":["_getClassProperties","PropertyManager","PostProcessing","Component","effects","_effects","composer","_composer","renderPass","pass","msaa","frameBufferType","HalfFloatType","props","order","onLoad","renderer","scene","camera","context","multisampling","Math","min","capabilities","maxSamples","_renderer","viewer","getComponent","Renderer","EffectComposer","Object","assign","addPass","RenderPass","passes","Array","isArray","forEach","Pass","effect","encodeOutput","concat","effectPass","EffectPass","target","defineProperty","get","blendMode","getOpacity","set","v","setOpacity","blendFunction","onDestroy","dispose","render","dt","resize","width","height","setSize","onEnable","enabled","onDisable","name","flat","Effect","blendOpacity","max","value","BlendFunction","BloomEffect","intensity","dithering","kernelSize","KernelSize","ToneMappingEffect","mode","ToneMappingMode","FXAAEffect","minEdgeThreshold","maxEdgeThreshold","subpixelQuality","samples","SMAAEffect","edgesTexture","weightsTexture","DepthOfFieldEffect","bokehScale","maskFunction","MaskFunction"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -10,7 +10,7 @@ class PostProcessing extends Component {
10
10
  get composer() {
11
11
  return this._composer;
12
12
  }
13
- constructor({ pass = [], msaa = false, frameBufferType = HalfFloatType, ...props } = {}){
13
+ constructor({ renderPass, pass = [], msaa = false, frameBufferType = HalfFloatType, ...props } = {}){
14
14
  super(), this.order = -1, this._effects = [];
15
15
  this.onLoad = ()=>{
16
16
  const { renderer, scene, camera } = this.context;
@@ -20,7 +20,7 @@ class PostProcessing extends Component {
20
20
  frameBufferType,
21
21
  multisampling
22
22
  }, props));
23
- this._composer.addPass(new RenderPass(scene, camera));
23
+ this._composer.addPass(renderPass != null ? renderPass : new RenderPass(scene, camera));
24
24
  const passes = Array.isArray(pass) ? pass : [
25
25
  pass
26
26
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/PostProcessing.ts"],"sourcesContent":["import {\n BlendFunction,\n BloomEffect,\n DepthOfFieldEffect,\n Effect,\n EffectComposer,\n EffectPass,\n FXAAEffect,\n KernelSize,\n MaskFunction,\n Pass,\n RenderPass,\n SMAAEffect,\n ToneMappingEffect,\n ToneMappingMode\n} from \"postprocessing\";\n\nimport { Component, PropertyManager, Renderer } from \"@xviewer.js/core\";\nimport { HalfFloatType, UnsignedByteType, FloatType } from \"three\";\n\nconst { _getClassProperties } = PropertyManager;\n\ntype PassOptions = { effect?: Effect | Effect[], encodeOutput?: boolean }\ntype PostProcessingProps = ConstructorParameters<typeof EffectComposer>[1] & {\n pass?: PassOptions | PassOptions[] | Pass | Pass[];\n msaa?: boolean | number;\n frameBufferType?: typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType;\n}\n\nexport class PostProcessing extends Component {\n order: number = -1;\n\n private _effects: Effect[] = [];\n private _renderer: Renderer;\n private _composer: EffectComposer;\n\n get effects() {\n return this._effects;\n }\n get composer() {\n return this._composer;\n }\n\n constructor({\n pass = [],\n msaa = false,\n frameBufferType = HalfFloatType,\n ...props\n }: PostProcessingProps = {}) {\n super();\n this.onLoad = () => {\n const { renderer, scene, camera } = this.context;\n const multisampling = msaa ? typeof msaa === \"number\" ? msaa : Math.min(4, renderer.capabilities.maxSamples) : 0;\n\n this._renderer = this.viewer.getComponent(Renderer);\n this._composer = new EffectComposer(renderer, Object.assign({ frameBufferType, multisampling }, props));\n this._composer.addPass(new RenderPass(scene, camera));\n \n const passes = Array.isArray(pass) ? pass : [pass];\n passes.forEach(pass => {\n if (pass instanceof Pass) {\n this._composer.addPass(pass);\n }\n else {\n const { effect = [], encodeOutput = true } = pass\n const effects = Array.isArray(effect) ? effect : [effect];\n this._effects = this._effects.concat(effects);\n const effectPass = new EffectPass(camera, ...effects);\n effectPass.encodeOutput = encodeOutput;\n this._composer.addPass(effectPass);\n }\n });\n this._effects.forEach(target => {\n Object.defineProperty(target, \"blendOpacity\", {\n get: () => target.blendMode.getOpacity(),\n set: (v) => target.blendMode.setOpacity(v)\n })\n Object.defineProperty(target, \"blendFunction\", {\n get: () => target.blendMode.blendFunction,\n set: (v) => target.blendMode.blendFunction = v,\n })\n })\n }\n\n this.onDestroy = () => this._composer.dispose();\n\n this.render = (dt) => this._composer.render(dt);\n this.resize = (width, height) => this._composer.setSize(width, height);\n\n this.onEnable = () => this._renderer.enabled = false;\n this.onDisable = () => this._renderer.enabled = true;\n }\n}\n\n_getClassProperties(PostProcessing.name, {\n effects: { flat: true }\n})\n\n_getClassProperties(Effect.name, {\n blendOpacity: { min: 0, max: 1 },\n blendFunction: { value: BlendFunction }\n})\n\n_getClassProperties(BloomEffect.name, {\n intensity: { min: 0, max: 10 },\n dithering: {},\n kernelSize: { value: KernelSize }\n})\n\n_getClassProperties(ToneMappingEffect.name, {\n mode: { value: ToneMappingMode }\n})\n\n_getClassProperties(FXAAEffect.name, {\n minEdgeThreshold: { min: 0, max: 1 },\n maxEdgeThreshold: { min: 0, max: 1 },\n subpixelQuality: { min: 0, max: 1 },\n samples: {}\n})\n\n_getClassProperties(SMAAEffect.name, {\n edgesTexture: {},\n weightsTexture: {},\n})\n\n_getClassProperties(DepthOfFieldEffect.name, {\n bokehScale: {},\n maskFunction: { value: MaskFunction },\n target: {},\n})"],"names":["_getClassProperties","PropertyManager","PostProcessing","Component","effects","_effects","composer","_composer","pass","msaa","frameBufferType","HalfFloatType","props","order","onLoad","renderer","scene","camera","context","multisampling","Math","min","capabilities","maxSamples","_renderer","viewer","getComponent","Renderer","EffectComposer","Object","assign","addPass","RenderPass","passes","Array","isArray","forEach","Pass","effect","encodeOutput","concat","effectPass","EffectPass","target","defineProperty","get","blendMode","getOpacity","set","v","setOpacity","blendFunction","onDestroy","dispose","render","dt","resize","width","height","setSize","onEnable","enabled","onDisable","name","flat","Effect","blendOpacity","max","value","BlendFunction","BloomEffect","intensity","dithering","kernelSize","KernelSize","ToneMappingEffect","mode","ToneMappingMode","FXAAEffect","minEdgeThreshold","maxEdgeThreshold","subpixelQuality","samples","SMAAEffect","edgesTexture","weightsTexture","DepthOfFieldEffect","bokehScale","maskFunction","MaskFunction"],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sources":["../src/PostProcessing.ts"],"sourcesContent":["import {\n BlendFunction,\n BloomEffect,\n DepthOfFieldEffect,\n Effect,\n EffectComposer,\n EffectPass,\n FXAAEffect,\n KernelSize,\n MaskFunction,\n Pass,\n RenderPass,\n SMAAEffect,\n ToneMappingEffect,\n ToneMappingMode\n} from \"postprocessing\";\n\nimport { Component, PropertyManager, Renderer } from \"@xviewer.js/core\";\nimport { HalfFloatType, UnsignedByteType, FloatType } from \"three\";\n\nconst { _getClassProperties } = PropertyManager;\n\ntype PassOptions = { effect?: Effect | Effect[], encodeOutput?: boolean }\ntype PostProcessingProps = ConstructorParameters<typeof EffectComposer>[1] & {\n pass?: PassOptions | PassOptions[] | Pass | Pass[];\n msaa?: boolean | number;\n frameBufferType?: typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType;\n renderPass?: Pass;\n}\n\nexport class PostProcessing extends Component {\n order: number = -1;\n\n private _effects: Effect[] = [];\n private _renderer: Renderer;\n private _composer: EffectComposer;\n\n get effects() {\n return this._effects;\n }\n get composer() {\n return this._composer;\n }\n\n constructor({\n renderPass,\n pass = [],\n msaa = false,\n frameBufferType = HalfFloatType,\n ...props\n }: PostProcessingProps = {}) {\n super();\n this.onLoad = () => {\n const { renderer, scene, camera } = this.context;\n const multisampling = msaa ? typeof msaa === \"number\" ? msaa : Math.min(4, renderer.capabilities.maxSamples) : 0;\n\n this._renderer = this.viewer.getComponent(Renderer);\n this._composer = new EffectComposer(renderer, Object.assign({ frameBufferType, multisampling }, props));\n this._composer.addPass(renderPass ?? new RenderPass(scene, camera));\n\n const passes = Array.isArray(pass) ? pass : [pass];\n passes.forEach(pass => {\n if (pass instanceof Pass) {\n this._composer.addPass(pass);\n }\n else {\n const { effect = [], encodeOutput = true } = pass\n const effects = Array.isArray(effect) ? effect : [effect];\n this._effects = this._effects.concat(effects);\n\n const effectPass = new EffectPass(camera, ...effects);\n effectPass.encodeOutput = encodeOutput;\n this._composer.addPass(effectPass);\n }\n });\n this._effects.forEach(target => {\n Object.defineProperty(target, \"blendOpacity\", {\n get: () => target.blendMode.getOpacity(),\n set: (v) => target.blendMode.setOpacity(v)\n })\n Object.defineProperty(target, \"blendFunction\", {\n get: () => target.blendMode.blendFunction,\n set: (v) => target.blendMode.blendFunction = v,\n })\n })\n }\n\n this.onDestroy = () => this._composer.dispose();\n\n this.render = (dt) => this._composer.render(dt);\n this.resize = (width, height) => this._composer.setSize(width, height);\n\n this.onEnable = () => this._renderer.enabled = false;\n this.onDisable = () => this._renderer.enabled = true;\n }\n}\n\n_getClassProperties(PostProcessing.name, {\n effects: { flat: true }\n})\n\n_getClassProperties(Effect.name, {\n blendOpacity: { min: 0, max: 1 },\n blendFunction: { value: BlendFunction }\n})\n\n_getClassProperties(BloomEffect.name, {\n intensity: { min: 0, max: 10 },\n dithering: {},\n kernelSize: { value: KernelSize }\n})\n\n_getClassProperties(ToneMappingEffect.name, {\n mode: { value: ToneMappingMode }\n})\n\n_getClassProperties(FXAAEffect.name, {\n minEdgeThreshold: { min: 0, max: 1 },\n maxEdgeThreshold: { min: 0, max: 1 },\n subpixelQuality: { min: 0, max: 1 },\n samples: {}\n})\n\n_getClassProperties(SMAAEffect.name, {\n edgesTexture: {},\n weightsTexture: {},\n})\n\n_getClassProperties(DepthOfFieldEffect.name, {\n bokehScale: {},\n maskFunction: { value: MaskFunction },\n target: {},\n})"],"names":["_getClassProperties","PropertyManager","PostProcessing","Component","effects","_effects","composer","_composer","renderPass","pass","msaa","frameBufferType","HalfFloatType","props","order","onLoad","renderer","scene","camera","context","multisampling","Math","min","capabilities","maxSamples","_renderer","viewer","getComponent","Renderer","EffectComposer","Object","assign","addPass","RenderPass","passes","Array","isArray","forEach","Pass","effect","encodeOutput","concat","effectPass","EffectPass","target","defineProperty","get","blendMode","getOpacity","set","v","setOpacity","blendFunction","onDestroy","dispose","render","dt","resize","width","height","setSize","onEnable","enabled","onDisable","name","flat","Effect","blendOpacity","max","value","BlendFunction","BloomEffect","intensity","dithering","kernelSize","KernelSize","ToneMappingEffect","mode","ToneMappingMode","FXAAEffect","minEdgeThreshold","maxEdgeThreshold","subpixelQuality","samples","SMAAEffect","edgesTexture","weightsTexture","DepthOfFieldEffect","bokehScale","maskFunction","MaskFunction"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xviewer.js/postprocessing",
3
- "version": "1.0.5-alhpa.1",
3
+ "version": "1.0.5-alhpa.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -13,10 +13,10 @@
13
13
  "types/**/*"
14
14
  ],
15
15
  "dependencies": {
16
- "@xviewer.js/core": "1.0.5-alhpa.1"
16
+ "@xviewer.js/core": "1.0.5-alhpa.3"
17
17
  },
18
18
  "peerDependencies": {
19
- "postprocessing": ">= 6.37.7"
19
+ "postprocessing": ">= 6.38.0"
20
20
  },
21
21
  "scripts": {
22
22
  "b:types": "tsc"
@@ -9,6 +9,7 @@ type PostProcessingProps = ConstructorParameters<typeof EffectComposer>[1] & {
9
9
  pass?: PassOptions | PassOptions[] | Pass | Pass[];
10
10
  msaa?: boolean | number;
11
11
  frameBufferType?: typeof UnsignedByteType | typeof HalfFloatType | typeof FloatType;
12
+ renderPass?: Pass;
12
13
  };
13
14
  export declare class PostProcessing extends Component {
14
15
  order: number;
@@ -17,6 +18,6 @@ export declare class PostProcessing extends Component {
17
18
  private _composer;
18
19
  get effects(): Effect[];
19
20
  get composer(): EffectComposer;
20
- constructor({ pass, msaa, frameBufferType, ...props }?: PostProcessingProps);
21
+ constructor({ renderPass, pass, msaa, frameBufferType, ...props }?: PostProcessingProps);
21
22
  }
22
23
  export {};