@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.0.5 → 3.0.6

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.
@@ -1,5 +1,5 @@
1
+ import { Camera, Texture, Vector2, WebGLRenderer, WebGLRenderTarget } from 'three';
1
2
  import { Pass } from 'postprocessing';
2
- import { Camera, Texture, Vector2, WebGLRenderTarget, WebGLRenderer } from 'three';
3
3
  export declare class PoissionDenoisePass extends Pass {
4
4
  static DefaultOptions: {
5
5
  iterations: number;
@@ -12,11 +12,7 @@ export declare class PoissionDenoisePass extends Pass {
12
12
  distance: number;
13
13
  normalTexture: null;
14
14
  };
15
- static blueNoiseTextureImage: Promise<import("@shapediver/viewer.shared.services").HttpResponse<{
16
- buffer: ArrayBuffer;
17
- blob: Blob;
18
- }>>;
19
- static blueNoiseTexture: Texture;
15
+ static blueNoiseTexture?: Texture;
20
16
  index: number;
21
17
  inputTexture: Texture;
22
18
  iterations: number;
@@ -1 +1 @@
1
- {"version":3,"file":"PoissionDenoisePass.d.ts","sourceRoot":"","sources":["../../../../../src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACN,MAAM,EAON,OAAO,EAEP,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,MAAM,OAAO,CAAC;AAoBf,qBAAa,mBAAoB,SAAQ,IAAI;IAG5C,OAAc,cAAc;;;;;;;;;;MAA6B;IAEzD,OAAc,qBAAqB;;;QAA+F;IAClI,OAAc,gBAAgB,EAAE,OAAO,CAAC;IAEjC,KAAK,SAAK;IACV,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,SAAwC;IAClD,MAAM,SAAK;IACX,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,iBAAiB,CAAC;IACjC,KAAK,SAAS;IACd,OAAO,SAAM;gBAMR,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAA8B;IAkFzI,IAAW,OAAO,YAEjB;IAMM,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IA4B1F,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE;IAqBlD,MAAM,CAAC,QAAQ,EAAE,aAAa;IA4B9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAsB5C"}
1
+ {"version":3,"file":"PoissionDenoisePass.d.ts","sourceRoot":"","sources":["../../../../../src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts"],"names":[],"mappings":"AACA,OAAO,EACN,MAAM,EAON,OAAO,EAEP,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAkBtC,qBAAa,mBAAoB,SAAQ,IAAI;IAG5C,OAAc,cAAc;;;;;;;;;;MAA6B;IACzD,OAAc,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAElC,KAAK,SAAK;IACV,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,SAAwC;IAClD,MAAM,SAAK;IACX,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,iBAAiB,CAAC;IACjC,KAAK,SAAS;IACd,OAAO,SAAM;gBAMR,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAA8B;IAqFzI,IAAW,OAAO,YAEjB;IAMM,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IA4B1F,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE;IAqBlD,MAAM,CAAC,QAAQ,EAAE,aAAa;IA4B9B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAsB5C"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PoissionDenoisePass = void 0;
4
- const postprocessing_1 = require("postprocessing");
5
- const three_1 = require("three");
6
4
  const basic_1 = require("../utils/shader/basic");
7
- const sampleBlueNoise_1 = require("../utils/shader/sampleBlueNoise");
8
- const poissionDenoise_1 = require("./shader/poissionDenoise");
5
+ const three_1 = require("three");
9
6
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
7
+ const postprocessing_1 = require("postprocessing");
8
+ const poissionDenoise_1 = require("./shader/poissionDenoise");
9
+ const sampleBlueNoise_1 = require("../utils/shader/sampleBlueNoise");
10
10
  const finalFragmentShader = poissionDenoise_1.poissionDenoise.replace('#include <sampleBlueNoise>', sampleBlueNoise_1.sampleBlueNoise);
11
11
  const defaultPoissonBlurOptions = {
12
12
  iterations: 1,
@@ -20,7 +20,7 @@ const defaultPoissonBlurOptions = {
20
20
  normalTexture: null
21
21
  };
22
22
  class PoissionDenoisePass extends postprocessing_1.Pass {
23
- // #endregion Properties (9)
23
+ // #endregion Properties (11)
24
24
  // #region Constructors (1)
25
25
  constructor(camera, inputTexture, depthTexture, options = defaultPoissonBlurOptions) {
26
26
  super('PoissionBlurPass');
@@ -29,15 +29,19 @@ class PoissionDenoisePass extends postprocessing_1.Pass {
29
29
  this.radius = 8;
30
30
  this.rings = 5.625;
31
31
  this.samples = 16;
32
- if (!PoissionDenoisePass.blueNoiseTexture) {
33
- PoissionDenoisePass.blueNoiseTextureImage.then((response) => {
34
- viewer_shared_services_1.Converter.instance.responseToImage(response).then((image) => {
35
- PoissionDenoisePass.blueNoiseTexture = new three_1.Texture(image);
32
+ if (PoissionDenoisePass.blueNoiseTexture === undefined) {
33
+ viewer_shared_services_1.HttpClient.instance.loadTexture('https://viewer.shapediver.com/v3/graphics/LDR_RGBA_0.png').then(result => {
34
+ const url = URL.createObjectURL(result.data.blob);
35
+ new three_1.TextureLoader().load(url, texture => {
36
+ URL.revokeObjectURL(url);
37
+ PoissionDenoisePass.blueNoiseTexture = texture;
36
38
  PoissionDenoisePass.blueNoiseTexture.minFilter = three_1.NearestFilter;
37
39
  PoissionDenoisePass.blueNoiseTexture.magFilter = three_1.NearestFilter;
38
40
  PoissionDenoisePass.blueNoiseTexture.wrapS = three_1.RepeatWrapping;
39
41
  PoissionDenoisePass.blueNoiseTexture.wrapT = three_1.RepeatWrapping;
40
42
  PoissionDenoisePass.blueNoiseTexture.colorSpace = three_1.NoColorSpace;
43
+ PoissionDenoisePass.blueNoiseTexture.needsUpdate = true;
44
+ this.fullscreenMaterial.uniforms.blueNoiseTexture.value = PoissionDenoisePass.blueNoiseTexture;
41
45
  });
42
46
  });
43
47
  }
@@ -91,14 +95,13 @@ class PoissionDenoisePass extends postprocessing_1.Pass {
91
95
  }
92
96
  });
93
97
  }
94
- this.fullscreenMaterial.uniforms.blueNoiseTexture.value = PoissionDenoisePass.blueNoiseTexture;
95
98
  }
96
99
  // #endregion Constructors (1)
97
- // #region Public Accessors (1)
100
+ // #region Public Getters And Setters (1)
98
101
  get texture() {
99
102
  return this.renderTargetB.texture;
100
103
  }
101
- // #endregion Public Accessors (1)
104
+ // #endregion Public Getters And Setters (1)
102
105
  // #region Public Methods (4)
103
106
  generateDenoiseSamples(numSamples, numRings, r, texelSize) {
104
107
  const angleStep = (2 * Math.PI * numRings) / numSamples;
@@ -139,7 +142,7 @@ class PoissionDenoisePass extends postprocessing_1.Pass {
139
142
  render(renderer) {
140
143
  this.fullscreenMaterial.uniforms.index.value = 0;
141
144
  const noiseTexture = this.fullscreenMaterial.uniforms.blueNoiseTexture.value;
142
- if (noiseTexture) {
145
+ if (noiseTexture !== undefined && noiseTexture !== null && noiseTexture instanceof three_1.Texture) {
143
146
  const { width, height } = noiseTexture.source.data;
144
147
  this.fullscreenMaterial.uniforms.blueNoiseRepeat.value.set(this.renderTargetA.width / width, this.renderTargetA.height / height);
145
148
  }
@@ -165,7 +168,6 @@ class PoissionDenoisePass extends postprocessing_1.Pass {
165
168
  }
166
169
  }
167
170
  exports.PoissionDenoisePass = PoissionDenoisePass;
168
- // #region Properties (9)
171
+ // #region Properties (11)
169
172
  PoissionDenoisePass.DefaultOptions = defaultPoissonBlurOptions;
170
- PoissionDenoisePass.blueNoiseTextureImage = viewer_shared_services_1.HttpClient.instance.loadTexture('https://viewer.shapediver.com/v3/graphics/LDR_RGBA_0.png');
171
173
  //# sourceMappingURL=PoissionDenoisePass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoissionDenoisePass.js","sourceRoot":"","sources":["../../../../../src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PoissionDenoisePass.js","sourceRoot":"","sources":["../../../../../src/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.rendering-engine-threejs",
3
- "version": "3.0.5",
3
+ "version": "3.0.6",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -39,21 +39,21 @@
39
39
  "testEnvironment": "node"
40
40
  },
41
41
  "dependencies": {
42
- "@shapediver/viewer.data-engine.gltf-converter": "3.0.5",
43
- "@shapediver/viewer.data-engine.shared-types": "3.0.5",
44
- "@shapediver/viewer.data-engine.tag3d-engine": "3.0.5",
45
- "@shapediver/viewer.rendering-engine.animation-engine": "3.0.5",
46
- "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.0.5",
47
- "@shapediver/viewer.rendering-engine.camera-engine": "3.0.5",
48
- "@shapediver/viewer.rendering-engine.canvas-engine": "3.0.5",
49
- "@shapediver/viewer.rendering-engine.intersection-engine": "3.0.5",
50
- "@shapediver/viewer.rendering-engine.light-engine": "3.0.5",
51
- "@shapediver/viewer.rendering-engine.rendering-engine": "3.0.5",
52
- "@shapediver/viewer.shared.global-access-objects": "3.0.5",
53
- "@shapediver/viewer.shared.math": "3.0.5",
54
- "@shapediver/viewer.shared.node-tree": "3.0.5",
55
- "@shapediver/viewer.shared.services": "3.0.5",
56
- "@shapediver/viewer.shared.types": "3.0.5",
42
+ "@shapediver/viewer.data-engine.gltf-converter": "3.0.6",
43
+ "@shapediver/viewer.data-engine.shared-types": "3.0.6",
44
+ "@shapediver/viewer.data-engine.tag3d-engine": "3.0.6",
45
+ "@shapediver/viewer.rendering-engine.animation-engine": "3.0.6",
46
+ "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.0.6",
47
+ "@shapediver/viewer.rendering-engine.camera-engine": "3.0.6",
48
+ "@shapediver/viewer.rendering-engine.canvas-engine": "3.0.6",
49
+ "@shapediver/viewer.rendering-engine.intersection-engine": "3.0.6",
50
+ "@shapediver/viewer.rendering-engine.light-engine": "3.0.6",
51
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.0.6",
52
+ "@shapediver/viewer.shared.global-access-objects": "3.0.6",
53
+ "@shapediver/viewer.shared.math": "3.0.6",
54
+ "@shapediver/viewer.shared.node-tree": "3.0.6",
55
+ "@shapediver/viewer.shared.services": "3.0.6",
56
+ "@shapediver/viewer.shared.types": "3.0.6",
57
57
  "@tweenjs/tween.js": "^18.6.4",
58
58
  "@types/stats.js": "^0.17.0",
59
59
  "@types/three": "0.162.0",
@@ -62,5 +62,5 @@
62
62
  "stats.js": "^0.17.0",
63
63
  "three": "0.162.0"
64
64
  },
65
- "gitHead": "e2425f80b2b03354c46ae7daa418bf591d250a78"
65
+ "gitHead": "c9a43ef749feeeb9b4825b6a25b37a06a62e78e9"
66
66
  }
@@ -1,4 +1,4 @@
1
- import { Pass } from 'postprocessing';
1
+ import { basic as vertexShader } from '../utils/shader/basic';
2
2
  import {
3
3
  Camera,
4
4
  HalfFloatType,
@@ -10,13 +10,13 @@ import {
10
10
  Texture,
11
11
  TextureLoader,
12
12
  Vector2,
13
- WebGLRenderTarget,
14
- WebGLRenderer
13
+ WebGLRenderer,
14
+ WebGLRenderTarget
15
15
  } from 'three';
16
- import { basic as vertexShader } from '../utils/shader/basic';
17
- import { sampleBlueNoise } from '../utils/shader/sampleBlueNoise';
18
- import { poissionDenoise as fragmentShader } from './shader/poissionDenoise';
19
16
  import { Converter, HttpClient } from '@shapediver/viewer.shared.services';
17
+ import { Pass } from 'postprocessing';
18
+ import { poissionDenoise as fragmentShader } from './shader/poissionDenoise';
19
+ import { sampleBlueNoise } from '../utils/shader/sampleBlueNoise';
20
20
 
21
21
  const finalFragmentShader = fragmentShader.replace('#include <sampleBlueNoise>', sampleBlueNoise);
22
22
 
@@ -33,12 +33,10 @@ const defaultPoissonBlurOptions = {
33
33
  };
34
34
 
35
35
  export class PoissionDenoisePass extends Pass {
36
- // #region Properties (9)
36
+ // #region Properties (11)
37
37
 
38
38
  public static DefaultOptions = defaultPoissonBlurOptions;
39
-
40
- public static blueNoiseTextureImage = HttpClient.instance.loadTexture('https://viewer.shapediver.com/v3/graphics/LDR_RGBA_0.png');
41
- public static blueNoiseTexture: Texture;
39
+ public static blueNoiseTexture?: Texture;
42
40
 
43
41
  public index = 0;
44
42
  public inputTexture: Texture;
@@ -49,22 +47,27 @@ export class PoissionDenoisePass extends Pass {
49
47
  public rings = 5.625;
50
48
  public samples = 16;
51
49
 
52
- // #endregion Properties (9)
50
+ // #endregion Properties (11)
53
51
 
54
52
  // #region Constructors (1)
55
53
 
56
54
  constructor(camera: Camera, inputTexture: Texture, depthTexture: Texture, options: { [key: string]: unknown } = defaultPoissonBlurOptions) {
57
55
  super('PoissionBlurPass');
58
56
 
59
- if(!PoissionDenoisePass.blueNoiseTexture) {
60
- PoissionDenoisePass.blueNoiseTextureImage.then((response) => {
61
- Converter.instance.responseToImage(response).then((image) => {
62
- PoissionDenoisePass.blueNoiseTexture = new Texture(image);
57
+ if (PoissionDenoisePass.blueNoiseTexture === undefined) {
58
+ HttpClient.instance.loadTexture('https://viewer.shapediver.com/v3/graphics/LDR_RGBA_0.png').then(result => {
59
+ const url = URL.createObjectURL(result.data.blob);
60
+ new TextureLoader().load(url, texture => {
61
+ URL.revokeObjectURL(url);
62
+ PoissionDenoisePass.blueNoiseTexture = texture;
63
63
  PoissionDenoisePass.blueNoiseTexture.minFilter = NearestFilter;
64
64
  PoissionDenoisePass.blueNoiseTexture.magFilter = NearestFilter;
65
65
  PoissionDenoisePass.blueNoiseTexture.wrapS = RepeatWrapping;
66
66
  PoissionDenoisePass.blueNoiseTexture.wrapT = RepeatWrapping;
67
67
  PoissionDenoisePass.blueNoiseTexture.colorSpace = NoColorSpace;
68
+ PoissionDenoisePass.blueNoiseTexture.needsUpdate = true;
69
+
70
+ (this.fullscreenMaterial as ShaderMaterial).uniforms.blueNoiseTexture.value = PoissionDenoisePass.blueNoiseTexture;
68
71
  });
69
72
  });
70
73
  }
@@ -127,19 +130,17 @@ export class PoissionDenoisePass extends Pass {
127
130
  }
128
131
  });
129
132
  }
130
-
131
- (this.fullscreenMaterial as ShaderMaterial).uniforms.blueNoiseTexture.value = PoissionDenoisePass.blueNoiseTexture;
132
133
  }
133
134
 
134
135
  // #endregion Constructors (1)
135
136
 
136
- // #region Public Accessors (1)
137
+ // #region Public Getters And Setters (1)
137
138
 
138
139
  public get texture() {
139
140
  return this.renderTargetB.texture;
140
141
  }
141
142
 
142
- // #endregion Public Accessors (1)
143
+ // #endregion Public Getters And Setters (1)
143
144
 
144
145
  // #region Public Methods (4)
145
146
 
@@ -157,10 +158,10 @@ export class PoissionDenoisePass extends Pass {
157
158
  .multiply(texelSize)
158
159
  .multiplyScalar(r);
159
160
 
160
- if(isNaN(v.x) || v.x === Infinity || v.x === -Infinity)
161
+ if (isNaN(v.x) || v.x === Infinity || v.x === -Infinity)
161
162
  v.x = 0;
162
163
 
163
- if(isNaN(v.y) || v.y === Infinity || v.y === -Infinity)
164
+ if (isNaN(v.y) || v.y === Infinity || v.y === -Infinity)
164
165
  v.y = 0;
165
166
 
166
167
  samples.push(v);
@@ -196,7 +197,7 @@ export class PoissionDenoisePass extends Pass {
196
197
  (this.fullscreenMaterial as ShaderMaterial).uniforms.index.value = 0;
197
198
 
198
199
  const noiseTexture = (this.fullscreenMaterial as ShaderMaterial).uniforms.blueNoiseTexture.value;
199
- if (noiseTexture) {
200
+ if (noiseTexture !== undefined && noiseTexture !== null && noiseTexture instanceof Texture) {
200
201
  const { width, height } = (noiseTexture as Texture).source.data;
201
202
 
202
203
  (this.fullscreenMaterial as ShaderMaterial).uniforms.blueNoiseRepeat.value.set(