@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.16.8 → 3.16.9

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.
Files changed (185) hide show
  1. package/dist/RenderingEngine.d.ts +294 -294
  2. package/dist/RenderingEngine.js +987 -977
  3. package/dist/RenderingEngine.js.map +1 -1
  4. package/dist/index.d.ts +16 -16
  5. package/dist/index.js +57 -57
  6. package/dist/injectors/TextureUnifierInjector.d.ts +13 -13
  7. package/dist/injectors/TextureUnifierInjector.js +181 -171
  8. package/dist/injectors/TextureUnifierInjector.js.map +1 -1
  9. package/dist/interfaces/ILoader.d.ts +3 -3
  10. package/dist/interfaces/ILoader.js +2 -2
  11. package/dist/interfaces/IRenderingEngine.d.ts +45 -45
  12. package/dist/interfaces/IRenderingEngine.js +2 -2
  13. package/dist/loaders/EnvironmentMapLoader.d.ts +119 -119
  14. package/dist/loaders/EnvironmentMapLoader.js +512 -502
  15. package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
  16. package/dist/loaders/GeometryLoader.d.ts +39 -39
  17. package/dist/loaders/GeometryLoader.d.ts.map +1 -1
  18. package/dist/loaders/GeometryLoader.js +603 -593
  19. package/dist/loaders/GeometryLoader.js.map +1 -1
  20. package/dist/loaders/HTMLElementAnchorLoader.d.ts +15 -15
  21. package/dist/loaders/HTMLElementAnchorLoader.js +98 -98
  22. package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
  23. package/dist/loaders/LightLoader.d.ts +19 -19
  24. package/dist/loaders/LightLoader.js +197 -187
  25. package/dist/loaders/LightLoader.js.map +1 -1
  26. package/dist/loaders/MaterialLoader.d.ts +115 -115
  27. package/dist/loaders/MaterialLoader.d.ts.map +1 -1
  28. package/dist/loaders/MaterialLoader.js +1612 -1602
  29. package/dist/loaders/MaterialLoader.js.map +1 -1
  30. package/dist/managers/ARManager.d.ts +17 -17
  31. package/dist/managers/ARManager.js +128 -128
  32. package/dist/managers/ARManager.js.map +1 -1
  33. package/dist/managers/CameraManager.d.ts +19 -19
  34. package/dist/managers/CameraManager.js +244 -234
  35. package/dist/managers/CameraManager.js.map +1 -1
  36. package/dist/managers/EnvironmentGeometryManager.d.ts +32 -32
  37. package/dist/managers/EnvironmentGeometryManager.js +114 -114
  38. package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
  39. package/dist/managers/FlagManager.d.ts +19 -19
  40. package/dist/managers/FlagManager.js +143 -143
  41. package/dist/managers/FlagManager.js.map +1 -1
  42. package/dist/managers/PostProcessingManager.d.ts +1019 -1019
  43. package/dist/managers/PostProcessingManager.js +1306 -1296
  44. package/dist/managers/PostProcessingManager.js.map +1 -1
  45. package/dist/managers/RenderingManager.d.ts +84 -84
  46. package/dist/managers/RenderingManager.d.ts.map +1 -1
  47. package/dist/managers/RenderingManager.js +679 -669
  48. package/dist/managers/RenderingManager.js.map +1 -1
  49. package/dist/managers/SceneTracingManager.d.ts +28 -28
  50. package/dist/managers/SceneTracingManager.js +160 -150
  51. package/dist/managers/SceneTracingManager.js.map +1 -1
  52. package/dist/managers/SceneTreeManager.d.ts +81 -81
  53. package/dist/managers/SceneTreeManager.d.ts.map +1 -1
  54. package/dist/managers/SceneTreeManager.js +500 -490
  55. package/dist/managers/SceneTreeManager.js.map +1 -1
  56. package/dist/managers/SettingsManager.d.ts +28 -28
  57. package/dist/managers/SettingsManager.js +284 -284
  58. package/dist/managers/SettingsManager.js.map +1 -1
  59. package/dist/managers/environmentGeometry/ContactShadow.d.ts +42 -42
  60. package/dist/managers/environmentGeometry/ContactShadow.js +295 -285
  61. package/dist/managers/environmentGeometry/ContactShadow.js.map +1 -1
  62. package/dist/managers/environmentGeometry/Grid.d.ts +20 -20
  63. package/dist/managers/environmentGeometry/Grid.js +110 -100
  64. package/dist/managers/environmentGeometry/Grid.js.map +1 -1
  65. package/dist/managers/environmentGeometry/GroundPlane.d.ts +21 -21
  66. package/dist/managers/environmentGeometry/GroundPlane.js +105 -95
  67. package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
  68. package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts +21 -21
  69. package/dist/managers/environmentGeometry/GroundPlaneShadow.js +96 -86
  70. package/dist/managers/environmentGeometry/GroundPlaneShadow.js.map +1 -1
  71. package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts +8 -8
  72. package/dist/managers/environmentGeometry/IEnvironmentGeometry.js +2 -2
  73. package/dist/managers/postprocessing/GodRaysManager.d.ts +12 -12
  74. package/dist/managers/postprocessing/GodRaysManager.js +73 -63
  75. package/dist/managers/postprocessing/GodRaysManager.js.map +1 -1
  76. package/dist/managers/postprocessing/OutlineManager.d.ts +15 -15
  77. package/dist/managers/postprocessing/OutlineManager.js +86 -76
  78. package/dist/managers/postprocessing/OutlineManager.js.map +1 -1
  79. package/dist/managers/postprocessing/SSAARenderPass.d.ts +53 -53
  80. package/dist/managers/postprocessing/SSAARenderPass.js +281 -281
  81. package/dist/managers/postprocessing/SSAARenderPass.js.map +1 -1
  82. package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +14 -14
  83. package/dist/managers/postprocessing/SelectiveBloomManager.js +76 -66
  84. package/dist/managers/postprocessing/SelectiveBloomManager.js.map +1 -1
  85. package/dist/managers/postprocessing/ao/ao/AOEffect.d.ts +46 -46
  86. package/dist/managers/postprocessing/ao/ao/AOEffect.js +142 -142
  87. package/dist/managers/postprocessing/ao/ao/AOEffect.js.map +1 -1
  88. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +12 -12
  89. package/dist/managers/postprocessing/ao/ao/AOPass.js +108 -108
  90. package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
  91. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.d.ts +1 -1
  92. package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +4 -4
  93. package/dist/managers/postprocessing/ao/ao/shader/ao_utils.d.ts +1 -1
  94. package/dist/managers/postprocessing/ao/ao/shader/ao_utils.js +4 -4
  95. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.d.ts +14 -14
  96. package/dist/managers/postprocessing/ao/hbao/HBAOEffect.js +24 -24
  97. package/dist/managers/postprocessing/ao/hbao/shader/hbao.d.ts +1 -1
  98. package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +4 -4
  99. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +33 -33
  100. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +211 -211
  101. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
  102. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.d.ts +1 -1
  103. package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +4 -4
  104. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.d.ts +14 -14
  105. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js +82 -82
  106. package/dist/managers/postprocessing/ao/ssao/SSAOEffect.js.map +1 -1
  107. package/dist/managers/postprocessing/ao/ssao/shader/ssao.d.ts +1 -1
  108. package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +4 -4
  109. package/dist/managers/postprocessing/ao/utils/shader/basic.d.ts +1 -1
  110. package/dist/managers/postprocessing/ao/utils/shader/basic.js +4 -4
  111. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.d.ts +1 -1
  112. package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +4 -4
  113. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +165 -165
  114. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js +299 -299
  115. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.js.map +1 -1
  116. package/dist/managers/postprocessing/effects/tone-mapping/tone-mapping.d.ts +1 -1
  117. package/dist/managers/postprocessing/effects/tone-mapping/tone-mapping.js +4 -4
  118. package/dist/managers/postprocessing/utils/CopyMaterial.d.ts +37 -37
  119. package/dist/managers/postprocessing/utils/CopyMaterial.js +69 -69
  120. package/dist/managers/postprocessing/utils/CopyShader.d.ts +13 -13
  121. package/dist/managers/postprocessing/utils/CopyShader.js +12 -12
  122. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +9 -9
  123. package/dist/managers/postprocessing/utils/FullScreenQuad.js +28 -28
  124. package/dist/managers/postprocessing/utils/NormalPass.d.ts +87 -87
  125. package/dist/managers/postprocessing/utils/NormalPass.js +156 -156
  126. package/dist/managers/postprocessing/utils/NormalPass.js.map +1 -1
  127. package/dist/managers/postprocessing/utils/RenderPass.d.ts +114 -114
  128. package/dist/managers/postprocessing/utils/RenderPass.js +259 -259
  129. package/dist/managers/postprocessing/utils/RenderPass.js.map +1 -1
  130. package/dist/managers/sceneTree/SDTFUtils.d.ts +6 -6
  131. package/dist/managers/sceneTree/SDTFUtils.d.ts.map +1 -1
  132. package/dist/managers/sceneTree/SDTFUtils.js +50 -50
  133. package/dist/managers/sceneTree/SDTFUtils.js.map +1 -1
  134. package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts +7 -7
  135. package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts.map +1 -1
  136. package/dist/managers/sceneTree/SceenTreeManagerUtils.js +175 -165
  137. package/dist/managers/sceneTree/SceenTreeManagerUtils.js.map +1 -1
  138. package/dist/managers/sceneTree/ThreeJsDataUtils.d.ts +6 -6
  139. package/dist/managers/sceneTree/ThreeJsDataUtils.d.ts.map +1 -1
  140. package/dist/managers/sceneTree/ThreeJsDataUtils.js +80 -70
  141. package/dist/managers/sceneTree/ThreeJsDataUtils.js.map +1 -1
  142. package/dist/materials/GemMaterial.d.ts +37 -37
  143. package/dist/materials/GemMaterial.js +262 -252
  144. package/dist/materials/GemMaterial.js.map +1 -1
  145. package/dist/materials/MeshUnlitMaterialParameters.d.ts +3 -3
  146. package/dist/materials/MeshUnlitMaterialParameters.js +2 -2
  147. package/dist/materials/MultiPointsMaterial.d.ts +93 -93
  148. package/dist/materials/MultiPointsMaterial.js +577 -567
  149. package/dist/materials/MultiPointsMaterial.js.map +1 -1
  150. package/dist/materials/SpecularGlossinessMaterial.d.ts +13 -13
  151. package/dist/materials/SpecularGlossinessMaterial.js +171 -161
  152. package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
  153. package/dist/objects/SDColor.d.ts +16 -16
  154. package/dist/objects/SDColor.js +52 -52
  155. package/dist/objects/SDColor.js.map +1 -1
  156. package/dist/objects/SDObject.d.ts +27 -27
  157. package/dist/objects/SDObject.js +112 -102
  158. package/dist/objects/SDObject.js.map +1 -1
  159. package/dist/shaders/PCSS.d.ts +2 -2
  160. package/dist/shaders/PCSS.js +5 -5
  161. package/dist/shaders/gem.d.ts +2 -2
  162. package/dist/shaders/gem.js +5 -5
  163. package/dist/shaders/multi_points.d.ts +2 -2
  164. package/dist/shaders/multi_points.js +5 -5
  165. package/dist/styling/viewport-css.d.ts +1 -1
  166. package/dist/styling/viewport-css.js +4 -4
  167. package/dist/three/CSS2DRenderer.d.ts +31 -31
  168. package/dist/three/CSS2DRenderer.d.ts.map +1 -1
  169. package/dist/three/CSS2DRenderer.js +152 -152
  170. package/dist/three/CSS2DRenderer.js.map +1 -1
  171. package/dist/three/geometries/TextGeometry.d.ts +21 -21
  172. package/dist/three/geometries/TextGeometry.js +45 -45
  173. package/dist/three/geometries/TextGeometry.js.map +1 -1
  174. package/dist/three/loaders/RGBELoader.d.ts +23 -23
  175. package/dist/three/loaders/RGBELoader.js +311 -311
  176. package/dist/three/loaders/RGBELoader.js.map +1 -1
  177. package/dist/types/IThreejsData.d.ts +6 -6
  178. package/dist/types/IThreejsData.js +2 -2
  179. package/dist/types/ThreejsData.d.ts +10 -10
  180. package/dist/types/ThreejsData.js +41 -41
  181. package/package.json +18 -18
  182. package/dist/managers/InstanceGroupManager.d.ts +0 -58
  183. package/dist/managers/InstanceGroupManager.d.ts.map +0 -1
  184. package/dist/managers/InstanceGroupManager.js +0 -372
  185. package/dist/managers/InstanceGroupManager.js.map +0 -1
@@ -1,282 +1,282 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SSAARenderPass = void 0;
4
- const postprocessing_1 = require("postprocessing");
5
- const three_1 = require("three");
6
- const CopyMaterial_1 = require("./utils/CopyMaterial");
7
- const CopyShader_1 = require("./utils/CopyShader");
8
- const FullScreenQuad_1 = require("./utils/FullScreenQuad");
9
- let geometry = null;
10
- /**
11
- * Returns a shared fullscreen triangle.
12
- *
13
- * The screen size is 2x2 units (NDC). A triangle needs to be 4x4 units to fill the screen.
14
- *
15
- * @private
16
- * @return {BufferGeometry} The fullscreen geometry.
17
- */
18
- const getFullscreenTriangle = () => {
19
- if (geometry === null) {
20
- const vertices = new Float32Array([-1, -1, 0, 3, -1, 0, -1, 3, 0]);
21
- const uvs = new Float32Array([0, 0, 2, 0, 0, 2]);
22
- geometry = new three_1.BufferGeometry();
23
- geometry.setAttribute("position", new three_1.BufferAttribute(vertices, 3));
24
- geometry.setAttribute("uv", new three_1.BufferAttribute(uvs, 2));
25
- }
26
- return geometry;
27
- };
28
- /**
29
- *
30
- * Supersample Anti-Aliasing Render Pass
31
- *
32
- * This manual approach to SSAA re-renders the scene once for each sample with camera jitter and accumulates the results.
33
- *
34
- * References: https://en.wikipedia.org/wiki/Supersampling
35
- *
36
- * original implementation from three.js@0.152.2 was modified to work with the postprocessing library
37
- *
38
- */
39
- class SSAARenderPass extends postprocessing_1.Pass {
40
- // #endregion Properties (9)
41
- // #region Constructors (1)
42
- constructor(scene, camera) {
43
- super("SSAARenderPass", scene, camera);
44
- this._clearColor = new three_1.Color();
45
- this._oldClearColor = new three_1.Color();
46
- this._sampleLevel = 2;
47
- this._unbiased = true;
48
- this.needsSwap = false;
49
- this._sampleRenderTarget = new three_1.WebGLRenderTarget(1, 1, {
50
- type: three_1.HalfFloatType,
51
- });
52
- this._sampleRenderTarget.texture.name = "SSAARender.Target";
53
- this._sampleRenderTarget.texture.colorSpace = three_1.SRGBColorSpace;
54
- const copyShader = CopyShader_1.CopyShader;
55
- this._copyUniforms = three_1.UniformsUtils.clone(copyShader.uniforms);
56
- // Create a copy material to render the ssaa sample render target to.
57
- this._ssaaCopyMaterial = new three_1.ShaderMaterial({
58
- uniforms: this._copyUniforms,
59
- vertexShader: copyShader.vertexShader,
60
- fragmentShader: copyShader.fragmentShader,
61
- transparent: true,
62
- depthTest: false,
63
- depthWrite: false,
64
- // do not use AdditiveBlending because it mixes the alpha channel instead of adding
65
- blending: three_1.CustomBlending,
66
- blendEquation: three_1.AddEquation,
67
- blendDst: three_1.OneFactor,
68
- blendDstAlpha: three_1.OneFactor,
69
- blendSrc: three_1.SrcAlphaFactor,
70
- blendSrcAlpha: three_1.OneFactor,
71
- });
72
- this._fsQuad = new FullScreenQuad_1.FullScreenQuad(this._ssaaCopyMaterial);
73
- // create a second copy material to render the final results to
74
- this._copyMaterial = new CopyMaterial_1.CopyMaterial();
75
- this._fullScreen = new three_1.Mesh(getFullscreenTriangle(), this._copyMaterial);
76
- this._fullScreen.frustumCulled = false;
77
- // clear pass for color and depth
78
- this._clearPass = new postprocessing_1.ClearPass(true, true, false);
79
- }
80
- // #endregion Constructors (1)
81
- // #region Public Accessors (6)
82
- set mainCamera(value) {
83
- this.camera = value;
84
- }
85
- set mainScene(value) {
86
- this.scene = value;
87
- }
88
- get renderToScreen() {
89
- return super.renderToScreen;
90
- }
91
- set renderToScreen(value) {
92
- super.renderToScreen = value;
93
- }
94
- get sampleLevel() {
95
- return this._sampleLevel;
96
- }
97
- /**
98
- * specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16.
99
- */
100
- set sampleLevel(value) {
101
- this._sampleLevel = value;
102
- }
103
- /**
104
- * to cancel out rounding errors
105
- */
106
- set unbiased(value) {
107
- this._unbiased = value;
108
- }
109
- // #endregion Public Accessors (6)
110
- // #region Public Methods (3)
111
- dispose() {
112
- this._sampleRenderTarget.dispose();
113
- this._ssaaCopyMaterial.dispose();
114
- this._fsQuad.dispose();
115
- }
116
- /**
117
- * Renders the scene.
118
- *
119
- * @param {WebGLRenderer} renderer - The renderer.
120
- * @param {WebGLRenderTarget} inputBuffer - A frame buffer that contains the result of the previous pass.
121
- * @param {WebGLRenderTarget} outputBuffer - A frame buffer that serves as the output render target unless this pass renders to screen.
122
- * @param {Number} [deltaTime] - The time between the last frame and the current one in seconds.
123
- * @param {Boolean} [stencilTest] - Indicates whether a stencil mask is active.
124
- */
125
- render(renderer, inputBuffer, outputBuffer, deltaTime, stencilTest) {
126
- // set clear color / clear alpha / color space from the current renderer
127
- this._clearColor = renderer.getClearColor(new three_1.Color());
128
- this._clearAlpha = renderer.getClearAlpha();
129
- this._sampleRenderTarget.texture.colorSpace = renderer.outputColorSpace;
130
- const jitterOffsets = _JitterVectors[Math.max(0, Math.min(this._sampleLevel, 5))];
131
- // save the original auto clear and set to false
132
- const autoClear = renderer.autoClear;
133
- renderer.autoClear = false;
134
- // save the original clear color and alpha
135
- renderer.getClearColor(this._oldClearColor);
136
- const oldClearAlpha = renderer.getClearAlpha();
137
- const baseSampleWeight = 1.0 / jitterOffsets.length;
138
- const roundingRange = 1 / 32;
139
- this._copyUniforms["tDiffuse"].value = this._sampleRenderTarget.texture;
140
- const viewOffset = {
141
- fullWidth: inputBuffer.width,
142
- fullHeight: inputBuffer.height,
143
- offsetX: 0,
144
- offsetY: 0,
145
- width: inputBuffer.width,
146
- height: inputBuffer.height,
147
- };
148
- const originalViewOffset = Object.assign({}, this.camera.view);
149
- if (originalViewOffset.enabled)
150
- Object.assign(viewOffset, originalViewOffset);
151
- // render the scene multiple times, each slightly jitter offset from the last and accumulate the results.
152
- for (let i = 0; i < jitterOffsets.length; i++) {
153
- const jitterOffset = jitterOffsets[i];
154
- if (this.camera
155
- .setViewOffset) {
156
- (this.camera).setViewOffset(viewOffset.fullWidth, viewOffset.fullHeight, viewOffset.offsetX + jitterOffset[0] * 0.0625, viewOffset.offsetY + jitterOffset[1] * 0.0625, // 0.0625 = 1 / 16
157
- viewOffset.width, viewOffset.height);
158
- }
159
- let sampleWeight = baseSampleWeight;
160
- if (this._unbiased) {
161
- // the theory is that equal weights for each sample lead to an accumulation of rounding errors.
162
- // The following equation varies the sampleWeight per sample so that it is uniformly distributed
163
- // across a range of values whose rounding errors cancel each other out.
164
- const uniformCenteredDistribution = -0.5 + (i + 0.5) / jitterOffsets.length;
165
- sampleWeight += roundingRange * uniformCenteredDistribution;
166
- }
167
- renderer.setClearColor(this._clearColor, this._clearAlpha);
168
- renderer.setRenderTarget(this._sampleRenderTarget);
169
- renderer.clear();
170
- renderer.render(this.scene, this.camera);
171
- renderer.setRenderTarget(this.renderToScreen ? null : outputBuffer);
172
- if (i === 0) {
173
- renderer.setClearColor(0x000000, 0.0);
174
- renderer.clear();
175
- }
176
- // set the weight of the current samples in the ssaaCopyMaterial
177
- this._copyUniforms["opacity"].value = sampleWeight;
178
- // render the sampleRenderTarget to fullscreen
179
- this._fsQuad.render(renderer);
180
- }
181
- // clear color and depth
182
- this._clearPass.render(renderer, inputBuffer, inputBuffer);
183
- // render to the final result to fullscreen
184
- this._copyMaterial.uniforms.inputBuffer.value = outputBuffer.texture;
185
- this._copyMaterial.uniforms.opacity.value = 1;
186
- renderer.setRenderTarget(this.renderToScreen ? null : inputBuffer);
187
- this.scene.add(this._fullScreen);
188
- renderer.render(this.scene, this.camera);
189
- this.scene.remove(this._fullScreen);
190
- if (this.camera
191
- .setViewOffset &&
192
- originalViewOffset.enabled) {
193
- this.camera.setViewOffset(originalViewOffset.fullWidth, originalViewOffset.fullHeight, originalViewOffset.offsetX, originalViewOffset.offsetY, originalViewOffset.width, originalViewOffset.height);
194
- }
195
- else if (this.camera
196
- .clearViewOffset) {
197
- (this.camera).clearViewOffset();
198
- }
199
- renderer.autoClear = autoClear;
200
- renderer.setClearColor(this._oldClearColor, oldClearAlpha);
201
- }
202
- setSize(width, height) {
203
- this._sampleRenderTarget.setSize(width, height);
204
- }
205
- }
206
- exports.SSAARenderPass = SSAARenderPass;
207
- const _JitterVectors = [
208
- [[0, 0]],
209
- [
210
- [4, 4],
211
- [-4, -4],
212
- ],
213
- [
214
- [-2, -6],
215
- [6, -2],
216
- [-6, 2],
217
- [2, 6],
218
- ],
219
- [
220
- [1, -3],
221
- [-1, 3],
222
- [5, 1],
223
- [-3, -5],
224
- [-5, 5],
225
- [-7, -1],
226
- [3, 7],
227
- [7, -7],
228
- ],
229
- [
230
- [1, 1],
231
- [-1, -3],
232
- [-3, 2],
233
- [4, -1],
234
- [-5, -2],
235
- [2, 5],
236
- [5, 3],
237
- [3, -5],
238
- [-2, 6],
239
- [0, -7],
240
- [-4, -6],
241
- [-6, 4],
242
- [-8, 0],
243
- [7, -4],
244
- [6, 7],
245
- [-7, -8],
246
- ],
247
- [
248
- [-4, -7],
249
- [-7, -5],
250
- [-3, -5],
251
- [-5, -4],
252
- [-1, -4],
253
- [-2, -2],
254
- [-6, -1],
255
- [-4, 0],
256
- [-7, 1],
257
- [-1, 2],
258
- [-6, 3],
259
- [-3, 3],
260
- [-7, 6],
261
- [-3, 6],
262
- [-5, 7],
263
- [-1, 7],
264
- [5, -7],
265
- [1, -6],
266
- [6, -5],
267
- [4, -4],
268
- [2, -3],
269
- [7, -2],
270
- [1, -1],
271
- [4, -1],
272
- [2, 1],
273
- [6, 2],
274
- [0, 4],
275
- [4, 4],
276
- [2, 5],
277
- [7, 5],
278
- [5, 6],
279
- [3, 7],
280
- ],
281
- ];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SSAARenderPass = void 0;
4
+ const postprocessing_1 = require("postprocessing");
5
+ const three_1 = require("three");
6
+ const CopyMaterial_1 = require("./utils/CopyMaterial");
7
+ const CopyShader_1 = require("./utils/CopyShader");
8
+ const FullScreenQuad_1 = require("./utils/FullScreenQuad");
9
+ let geometry = null;
10
+ /**
11
+ * Returns a shared fullscreen triangle.
12
+ *
13
+ * The screen size is 2x2 units (NDC). A triangle needs to be 4x4 units to fill the screen.
14
+ *
15
+ * @private
16
+ * @return {BufferGeometry} The fullscreen geometry.
17
+ */
18
+ const getFullscreenTriangle = () => {
19
+ if (geometry === null) {
20
+ const vertices = new Float32Array([-1, -1, 0, 3, -1, 0, -1, 3, 0]);
21
+ const uvs = new Float32Array([0, 0, 2, 0, 0, 2]);
22
+ geometry = new three_1.BufferGeometry();
23
+ geometry.setAttribute("position", new three_1.BufferAttribute(vertices, 3));
24
+ geometry.setAttribute("uv", new three_1.BufferAttribute(uvs, 2));
25
+ }
26
+ return geometry;
27
+ };
28
+ /**
29
+ *
30
+ * Supersample Anti-Aliasing Render Pass
31
+ *
32
+ * This manual approach to SSAA re-renders the scene once for each sample with camera jitter and accumulates the results.
33
+ *
34
+ * References: https://en.wikipedia.org/wiki/Supersampling
35
+ *
36
+ * original implementation from three.js@0.152.2 was modified to work with the postprocessing library
37
+ *
38
+ */
39
+ class SSAARenderPass extends postprocessing_1.Pass {
40
+ // #endregion Properties (9)
41
+ // #region Constructors (1)
42
+ constructor(scene, camera) {
43
+ super("SSAARenderPass", scene, camera);
44
+ this._clearColor = new three_1.Color();
45
+ this._oldClearColor = new three_1.Color();
46
+ this._sampleLevel = 2;
47
+ this._unbiased = true;
48
+ this.needsSwap = false;
49
+ this._sampleRenderTarget = new three_1.WebGLRenderTarget(1, 1, {
50
+ type: three_1.HalfFloatType,
51
+ });
52
+ this._sampleRenderTarget.texture.name = "SSAARender.Target";
53
+ this._sampleRenderTarget.texture.colorSpace = three_1.SRGBColorSpace;
54
+ const copyShader = CopyShader_1.CopyShader;
55
+ this._copyUniforms = three_1.UniformsUtils.clone(copyShader.uniforms);
56
+ // Create a copy material to render the ssaa sample render target to.
57
+ this._ssaaCopyMaterial = new three_1.ShaderMaterial({
58
+ uniforms: this._copyUniforms,
59
+ vertexShader: copyShader.vertexShader,
60
+ fragmentShader: copyShader.fragmentShader,
61
+ transparent: true,
62
+ depthTest: false,
63
+ depthWrite: false,
64
+ // do not use AdditiveBlending because it mixes the alpha channel instead of adding
65
+ blending: three_1.CustomBlending,
66
+ blendEquation: three_1.AddEquation,
67
+ blendDst: three_1.OneFactor,
68
+ blendDstAlpha: three_1.OneFactor,
69
+ blendSrc: three_1.SrcAlphaFactor,
70
+ blendSrcAlpha: three_1.OneFactor,
71
+ });
72
+ this._fsQuad = new FullScreenQuad_1.FullScreenQuad(this._ssaaCopyMaterial);
73
+ // create a second copy material to render the final results to
74
+ this._copyMaterial = new CopyMaterial_1.CopyMaterial();
75
+ this._fullScreen = new three_1.Mesh(getFullscreenTriangle(), this._copyMaterial);
76
+ this._fullScreen.frustumCulled = false;
77
+ // clear pass for color and depth
78
+ this._clearPass = new postprocessing_1.ClearPass(true, true, false);
79
+ }
80
+ // #endregion Constructors (1)
81
+ // #region Public Accessors (6)
82
+ set mainCamera(value) {
83
+ this.camera = value;
84
+ }
85
+ set mainScene(value) {
86
+ this.scene = value;
87
+ }
88
+ get renderToScreen() {
89
+ return super.renderToScreen;
90
+ }
91
+ set renderToScreen(value) {
92
+ super.renderToScreen = value;
93
+ }
94
+ get sampleLevel() {
95
+ return this._sampleLevel;
96
+ }
97
+ /**
98
+ * specified as n, where the number of samples is 2^n, so sampleLevel = 4, is 2^4 samples, 16.
99
+ */
100
+ set sampleLevel(value) {
101
+ this._sampleLevel = value;
102
+ }
103
+ /**
104
+ * to cancel out rounding errors
105
+ */
106
+ set unbiased(value) {
107
+ this._unbiased = value;
108
+ }
109
+ // #endregion Public Accessors (6)
110
+ // #region Public Methods (3)
111
+ dispose() {
112
+ this._sampleRenderTarget.dispose();
113
+ this._ssaaCopyMaterial.dispose();
114
+ this._fsQuad.dispose();
115
+ }
116
+ /**
117
+ * Renders the scene.
118
+ *
119
+ * @param {WebGLRenderer} renderer - The renderer.
120
+ * @param {WebGLRenderTarget} inputBuffer - A frame buffer that contains the result of the previous pass.
121
+ * @param {WebGLRenderTarget} outputBuffer - A frame buffer that serves as the output render target unless this pass renders to screen.
122
+ * @param {Number} [deltaTime] - The time between the last frame and the current one in seconds.
123
+ * @param {Boolean} [stencilTest] - Indicates whether a stencil mask is active.
124
+ */
125
+ render(renderer, inputBuffer, outputBuffer, deltaTime, stencilTest) {
126
+ // set clear color / clear alpha / color space from the current renderer
127
+ this._clearColor = renderer.getClearColor(new three_1.Color());
128
+ this._clearAlpha = renderer.getClearAlpha();
129
+ this._sampleRenderTarget.texture.colorSpace = renderer.outputColorSpace;
130
+ const jitterOffsets = _JitterVectors[Math.max(0, Math.min(this._sampleLevel, 5))];
131
+ // save the original auto clear and set to false
132
+ const autoClear = renderer.autoClear;
133
+ renderer.autoClear = false;
134
+ // save the original clear color and alpha
135
+ renderer.getClearColor(this._oldClearColor);
136
+ const oldClearAlpha = renderer.getClearAlpha();
137
+ const baseSampleWeight = 1.0 / jitterOffsets.length;
138
+ const roundingRange = 1 / 32;
139
+ this._copyUniforms["tDiffuse"].value = this._sampleRenderTarget.texture;
140
+ const viewOffset = {
141
+ fullWidth: inputBuffer.width,
142
+ fullHeight: inputBuffer.height,
143
+ offsetX: 0,
144
+ offsetY: 0,
145
+ width: inputBuffer.width,
146
+ height: inputBuffer.height,
147
+ };
148
+ const originalViewOffset = Object.assign({}, this.camera.view);
149
+ if (originalViewOffset.enabled)
150
+ Object.assign(viewOffset, originalViewOffset);
151
+ // render the scene multiple times, each slightly jitter offset from the last and accumulate the results.
152
+ for (let i = 0; i < jitterOffsets.length; i++) {
153
+ const jitterOffset = jitterOffsets[i];
154
+ if (this.camera
155
+ .setViewOffset) {
156
+ (this.camera).setViewOffset(viewOffset.fullWidth, viewOffset.fullHeight, viewOffset.offsetX + jitterOffset[0] * 0.0625, viewOffset.offsetY + jitterOffset[1] * 0.0625, // 0.0625 = 1 / 16
157
+ viewOffset.width, viewOffset.height);
158
+ }
159
+ let sampleWeight = baseSampleWeight;
160
+ if (this._unbiased) {
161
+ // the theory is that equal weights for each sample lead to an accumulation of rounding errors.
162
+ // The following equation varies the sampleWeight per sample so that it is uniformly distributed
163
+ // across a range of values whose rounding errors cancel each other out.
164
+ const uniformCenteredDistribution = -0.5 + (i + 0.5) / jitterOffsets.length;
165
+ sampleWeight += roundingRange * uniformCenteredDistribution;
166
+ }
167
+ renderer.setClearColor(this._clearColor, this._clearAlpha);
168
+ renderer.setRenderTarget(this._sampleRenderTarget);
169
+ renderer.clear();
170
+ renderer.render(this.scene, this.camera);
171
+ renderer.setRenderTarget(this.renderToScreen ? null : outputBuffer);
172
+ if (i === 0) {
173
+ renderer.setClearColor(0x000000, 0.0);
174
+ renderer.clear();
175
+ }
176
+ // set the weight of the current samples in the ssaaCopyMaterial
177
+ this._copyUniforms["opacity"].value = sampleWeight;
178
+ // render the sampleRenderTarget to fullscreen
179
+ this._fsQuad.render(renderer);
180
+ }
181
+ // clear color and depth
182
+ this._clearPass.render(renderer, inputBuffer, inputBuffer);
183
+ // render to the final result to fullscreen
184
+ this._copyMaterial.uniforms.inputBuffer.value = outputBuffer.texture;
185
+ this._copyMaterial.uniforms.opacity.value = 1;
186
+ renderer.setRenderTarget(this.renderToScreen ? null : inputBuffer);
187
+ this.scene.add(this._fullScreen);
188
+ renderer.render(this.scene, this.camera);
189
+ this.scene.remove(this._fullScreen);
190
+ if (this.camera
191
+ .setViewOffset &&
192
+ originalViewOffset.enabled) {
193
+ this.camera.setViewOffset(originalViewOffset.fullWidth, originalViewOffset.fullHeight, originalViewOffset.offsetX, originalViewOffset.offsetY, originalViewOffset.width, originalViewOffset.height);
194
+ }
195
+ else if (this.camera
196
+ .clearViewOffset) {
197
+ (this.camera).clearViewOffset();
198
+ }
199
+ renderer.autoClear = autoClear;
200
+ renderer.setClearColor(this._oldClearColor, oldClearAlpha);
201
+ }
202
+ setSize(width, height) {
203
+ this._sampleRenderTarget.setSize(width, height);
204
+ }
205
+ }
206
+ exports.SSAARenderPass = SSAARenderPass;
207
+ const _JitterVectors = [
208
+ [[0, 0]],
209
+ [
210
+ [4, 4],
211
+ [-4, -4],
212
+ ],
213
+ [
214
+ [-2, -6],
215
+ [6, -2],
216
+ [-6, 2],
217
+ [2, 6],
218
+ ],
219
+ [
220
+ [1, -3],
221
+ [-1, 3],
222
+ [5, 1],
223
+ [-3, -5],
224
+ [-5, 5],
225
+ [-7, -1],
226
+ [3, 7],
227
+ [7, -7],
228
+ ],
229
+ [
230
+ [1, 1],
231
+ [-1, -3],
232
+ [-3, 2],
233
+ [4, -1],
234
+ [-5, -2],
235
+ [2, 5],
236
+ [5, 3],
237
+ [3, -5],
238
+ [-2, 6],
239
+ [0, -7],
240
+ [-4, -6],
241
+ [-6, 4],
242
+ [-8, 0],
243
+ [7, -4],
244
+ [6, 7],
245
+ [-7, -8],
246
+ ],
247
+ [
248
+ [-4, -7],
249
+ [-7, -5],
250
+ [-3, -5],
251
+ [-5, -4],
252
+ [-1, -4],
253
+ [-2, -2],
254
+ [-6, -1],
255
+ [-4, 0],
256
+ [-7, 1],
257
+ [-1, 2],
258
+ [-6, 3],
259
+ [-3, 3],
260
+ [-7, 6],
261
+ [-3, 6],
262
+ [-5, 7],
263
+ [-1, 7],
264
+ [5, -7],
265
+ [1, -6],
266
+ [6, -5],
267
+ [4, -4],
268
+ [2, -3],
269
+ [7, -2],
270
+ [1, -1],
271
+ [4, -1],
272
+ [2, 1],
273
+ [6, 2],
274
+ [0, 4],
275
+ [4, 4],
276
+ [2, 5],
277
+ [7, 5],
278
+ [5, 6],
279
+ [3, 7],
280
+ ],
281
+ ];
282
282
  //# sourceMappingURL=SSAARenderPass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SSAARenderPass.js","sourceRoot":"","sources":["../../../src/managers/postprocessing/SSAARenderPass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SSAARenderPass.js","sourceRoot":"","sources":["../../../src/managers/postprocessing/SSAARenderPass.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
2
- import { SelectiveBloomEffect } from "postprocessing";
3
- import { RenderingEngine } from "../../RenderingEngine";
4
- export declare class SelectiveBloomManager {
5
- private readonly _renderingEngine;
6
- private _selectiveBloomEffect;
7
- private _selectiveBloomNodes;
8
- constructor(_renderingEngine: RenderingEngine);
9
- addSelection(node: ITreeNode): void;
10
- clearSelection(): void;
11
- removeSelection(node: ITreeNode): boolean;
12
- setEffect(selectiveBloomEffect: SelectiveBloomEffect): void;
13
- updateSelectiveBloomEffectObjects(): void;
14
- }
1
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
2
+ import { SelectiveBloomEffect } from "postprocessing";
3
+ import { RenderingEngine } from "../../RenderingEngine";
4
+ export declare class SelectiveBloomManager {
5
+ private readonly _renderingEngine;
6
+ private _selectiveBloomEffect;
7
+ private _selectiveBloomNodes;
8
+ constructor(_renderingEngine: RenderingEngine);
9
+ addSelection(node: ITreeNode): void;
10
+ clearSelection(): void;
11
+ removeSelection(node: ITreeNode): boolean;
12
+ setEffect(selectiveBloomEffect: SelectiveBloomEffect): void;
13
+ updateSelectiveBloomEffectObjects(): void;
14
+ }
15
15
  //# sourceMappingURL=SelectiveBloomManager.d.ts.map