@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.19.3 → 3.20.0

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 (55) hide show
  1. package/dist/RenderingEngine.d.ts +5 -2
  2. package/dist/RenderingEngine.d.ts.map +1 -1
  3. package/dist/RenderingEngine.js +34 -15
  4. package/dist/RenderingEngine.js.map +1 -1
  5. package/dist/index.d.ts +2 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/interfaces/IRenderingEngine.d.ts +2 -1
  10. package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
  11. package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
  12. package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
  13. package/dist/loaders/GeometryLoader.d.ts +7 -0
  14. package/dist/loaders/GeometryLoader.d.ts.map +1 -1
  15. package/dist/loaders/GeometryLoader.js +27 -6
  16. package/dist/loaders/GeometryLoader.js.map +1 -1
  17. package/dist/loaders/LightLoader.d.ts +1 -1
  18. package/dist/loaders/MaterialLoader.d.ts +5 -2
  19. package/dist/loaders/MaterialLoader.d.ts.map +1 -1
  20. package/dist/loaders/MaterialLoader.js +78 -8
  21. package/dist/loaders/MaterialLoader.js.map +1 -1
  22. package/dist/managers/RenderingManager.d.ts +5 -0
  23. package/dist/managers/RenderingManager.d.ts.map +1 -1
  24. package/dist/managers/RenderingManager.js +120 -11
  25. package/dist/managers/RenderingManager.js.map +1 -1
  26. package/dist/managers/SceneTreeManager.d.ts +1 -1
  27. package/dist/managers/SceneTreeManager.d.ts.map +1 -1
  28. package/dist/managers/SceneTreeManager.js +1 -0
  29. package/dist/managers/SceneTreeManager.js.map +1 -1
  30. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +2 -2
  31. package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -1
  32. package/dist/managers/postprocessing/ao/ao/AOPass.js +7 -4
  33. package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
  34. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +1 -1
  35. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -1
  36. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +2 -1
  37. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
  38. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +2 -2
  39. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts.map +1 -1
  40. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +2 -2
  41. package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -1
  42. package/dist/managers/postprocessing/utils/NormalPass.d.ts +2 -2
  43. package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -1
  44. package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -1
  45. package/dist/materials/SpecularGlossinessMaterial.js +12 -3
  46. package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
  47. package/dist/shaders/PCSS.d.ts +2 -2
  48. package/dist/shaders/PCSS.d.ts.map +1 -1
  49. package/dist/shaders/PCSS.js +108 -87
  50. package/dist/shaders/PCSS.js.map +1 -1
  51. package/dist/shaders/gem.d.ts +2 -2
  52. package/dist/shaders/gem.d.ts.map +1 -1
  53. package/dist/shaders/gem.js +24 -20
  54. package/dist/shaders/gem.js.map +1 -1
  55. package/package.json +20 -20
@@ -8,6 +8,7 @@ varying vec3 vViewPosition;
8
8
  varying vec3 vWorldPosition;
9
9
  #endif
10
10
  #include <common>
11
+ #include <batching_pars_vertex>
11
12
  #include <uv_pars_vertex>
12
13
  #include <displacementmap_pars_vertex>
13
14
  #include <color_pars_vertex>
@@ -27,7 +28,9 @@ varying vec3 frag_normal;
27
28
  void main() {
28
29
  #include <uv_vertex>
29
30
  #include <color_vertex>
31
+ #include <morphinstance_vertex>
30
32
  #include <morphcolor_vertex>
33
+ #include <batching_vertex>
31
34
  #include <beginnormal_vertex>
32
35
  #include <morphnormal_vertex>
33
36
  #include <skinbase_vertex>
@@ -59,7 +62,7 @@ exports.frag = `
59
62
  #define STANDARD
60
63
  #ifdef PHYSICAL
61
64
  #define IOR
62
- #define SPECULAR
65
+ #define USE_SPECULAR
63
66
  #endif
64
67
 
65
68
  // CUSTOM START
@@ -76,13 +79,13 @@ uniform float opacity;
76
79
  #ifdef IOR
77
80
  uniform float ior;
78
81
  #endif
79
- #ifdef SPECULAR
82
+ #ifdef USE_SPECULAR
80
83
  uniform float specularIntensity;
81
84
  uniform vec3 specularColor;
82
- #ifdef USE_SPECULARINTENSITYMAP
85
+ #ifdef USE_SPECULAR_INTENSITYMAP
83
86
  uniform sampler2D specularIntensityMap;
84
87
  #endif
85
- #ifdef USE_SPECULARCOLORMAP
88
+ #ifdef USE_SPECULAR_COLORMAP
86
89
  uniform sampler2D specularColorMap;
87
90
  #endif
88
91
  #endif
@@ -99,10 +102,10 @@ uniform float opacity;
99
102
  #ifdef USE_SHEEN
100
103
  uniform vec3 sheenColor;
101
104
  uniform float sheenRoughness;
102
- #ifdef USE_SHEENCOLORMAP
105
+ #ifdef USE_SHEEN_COLORMAP
103
106
  uniform sampler2D sheenColorMap;
104
107
  #endif
105
- #ifdef USE_SHEENROUGHNESSMAP
108
+ #ifdef USE_SHEEN_ROUGHNESSMAP
106
109
  uniform sampler2D sheenRoughnessMap;
107
110
  #endif
108
111
  #endif
@@ -115,6 +118,7 @@ varying vec3 vViewPosition;
115
118
  #include <map_pars_fragment>
116
119
  #include <alphamap_pars_fragment>
117
120
  #include <alphatest_pars_fragment>
121
+ #include <alphahash_pars_fragment>
118
122
  #include <aomap_pars_fragment>
119
123
  #include <lightmap_pars_fragment>
120
124
  #include <emissivemap_pars_fragment>
@@ -169,10 +173,10 @@ vec3 getIBLRadianceVariation( const in vec3 viewDir, const in vec3 normal, const
169
173
  #if defined( ENVMAP_TYPE_CUBE_UV )
170
174
  vec3 reflectVec = reflect( - viewDir, normal );
171
175
  // Mixing the reflection with the normal is more accurate and keeps rough objects from gathering light from behind their tangent plane.
172
- reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );
176
+ reflectVec = normalize( mix( reflectVec, normal, pow4( roughness ) ) );
173
177
  reflectVec = inverseTransformDirection( reflectVec, viewMatrix );
174
- vec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );
175
- return min(envMapColor.rgb * envMapIntensity, vec3(1.0));
178
+ vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness );
179
+ return envMapColor.rgb * envMapIntensity;
176
180
  #else
177
181
  return vec3( 0.0 );
178
182
  #endif
@@ -193,13 +197,13 @@ vec3 calculateReflectedLight(vec3 position, vec3 normal, vec3 viewDir, PhysicalM
193
197
  // Calculate the view direction vector in world space
194
198
  vec3 currentGeometryViewDir = normalize(normalMatrix * -viewDir);
195
199
 
196
- vec3 currentGeometryClearcoatNormal;
200
+ vec3 currentGeometryClearcoatNormal = vec3( 0.0 );
197
201
 
198
202
  #ifdef USE_CLEARCOAT
199
203
  currentGeometryClearcoatNormal = clearcoatNormal;
200
204
  #endif
201
205
 
202
- ReflectedLight rLight;
206
+ ReflectedLight rLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
203
207
  IncidentLight dLight;
204
208
 
205
209
  float temp = material.roughness;
@@ -218,7 +222,7 @@ vec3 calculateReflectedLight(vec3 position, vec3 normal, vec3 viewDir, PhysicalM
218
222
  getPointLightInfo( pointLight, currentGeometryPosition, dLight );
219
223
  #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )
220
224
  pointLightShadow = pointLightShadows[ i ];
221
- dLight.color *= all( bvec2( dLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
225
+ dLight.color *= ( dLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;
222
226
  #endif
223
227
  RE_Direct( dLight, currentGeometryPosition, currentGeometryNormal, currentGeometryViewDir, currentGeometryClearcoatNormal, material, rLight );
224
228
  }
@@ -235,7 +239,7 @@ vec3 calculateReflectedLight(vec3 position, vec3 normal, vec3 viewDir, PhysicalM
235
239
  getSpotLightInfo( spotLight, currentGeometryPosition, dLight );
236
240
  #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )
237
241
  spotLightShadow = spotLightShadows[ i ];
238
- dLight.color *= all( bvec2( dLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;
242
+ dLight.color *= ( dLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;
239
243
  #endif
240
244
  RE_Direct( dLight, currentGeometryPosition, currentGeometryNormal, currentGeometryViewDir, currentGeometryClearcoatNormal, material, rLight );
241
245
  }
@@ -253,7 +257,7 @@ vec3 calculateReflectedLight(vec3 position, vec3 normal, vec3 viewDir, PhysicalM
253
257
  getDirectionalLightInfo( directionalLight, dLight );
254
258
  #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )
255
259
  directionalLightShadow = directionalLightShadows[ i ];
256
- dLight.color *= all( bvec2( dLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
260
+ dLight.color *= ( dLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;
257
261
  #endif
258
262
  RE_Direct( dLight, currentGeometryPosition, currentGeometryNormal, currentGeometryViewDir, currentGeometryClearcoatNormal, material, rLight );
259
263
  }
@@ -293,7 +297,7 @@ vec3 calculateReflectedLight(vec3 position, vec3 normal, vec3 viewDir, PhysicalM
293
297
 
294
298
  #if defined( RE_IndirectDiffuse )
295
299
  #ifdef USE_LIGHTMAP
296
- vec4 lightMapTexel = texture2D( lightMap, vUv2 );
300
+ vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
297
301
  vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
298
302
  irradiance += lightMapIrradiance;
299
303
  #endif
@@ -361,7 +365,7 @@ vec3 normalLookUp(vec3 dir) {
361
365
 
362
366
  #ifdef USE_IMPURITYMAP
363
367
  float impurityLookUp(vec3 dir) {
364
- vec3 c = textureCube(impurityMap, dir.xy).rgb;
368
+ vec3 c = texture2D(impurityMap, dir.xy * 0.5 + 0.5).rgb;
365
369
  return (c.x + c.y + c.z) / 3.0;
366
370
  }
367
371
  #endif
@@ -421,6 +425,7 @@ void main() {
421
425
  #include <color_fragment>
422
426
  #include <alphamap_fragment>
423
427
  #include <alphatest_fragment>
428
+ #include <alphahash_fragment>
424
429
  #include <roughnessmap_fragment>
425
430
  #include <metalnessmap_fragment>
426
431
  #include <normal_fragment_begin>
@@ -438,13 +443,12 @@ void main() {
438
443
  #include <transmission_fragment>
439
444
  vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;
440
445
  #ifdef USE_SHEEN
441
- float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );
442
- outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;
446
+ outgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect;
443
447
  #endif
444
448
  #ifdef USE_CLEARCOAT
445
- float dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );
449
+ float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );
446
450
  vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );
447
- outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;
451
+ outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;
448
452
  #endif
449
453
  #include <opaque_fragment>
450
454
 
@@ -1 +1 @@
1
- {"version":3,"file":"gem.js","sourceRoot":"","sources":["../../src/shaders/gem.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDnB,CAAC;AAEW,QAAA,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2gBnB,CAAC"}
1
+ {"version":3,"file":"gem.js","sourceRoot":"","sources":["../../src/shaders/gem.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDnB,CAAC;AAEW,QAAA,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4gBnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.rendering-engine-threejs",
3
- "version": "3.19.3",
3
+ "version": "3.20.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -37,28 +37,28 @@
37
37
  "testEnvironment": "node"
38
38
  },
39
39
  "dependencies": {
40
- "@shapediver/viewer.data-engine.gltf-converter": "3.19.3",
41
- "@shapediver/viewer.data-engine.shared-types": "3.19.3",
42
- "@shapediver/viewer.data-engine.tag3d-engine": "3.19.3",
43
- "@shapediver/viewer.rendering-engine.animation-engine": "3.19.3",
44
- "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.19.3",
45
- "@shapediver/viewer.rendering-engine.camera-engine": "3.19.3",
46
- "@shapediver/viewer.rendering-engine.canvas-engine": "3.19.3",
47
- "@shapediver/viewer.rendering-engine.intersection-engine": "3.19.3",
48
- "@shapediver/viewer.rendering-engine.light-engine": "3.19.3",
49
- "@shapediver/viewer.rendering-engine.rendering-engine": "3.19.3",
50
- "@shapediver/viewer.shared.global-access-objects": "3.19.3",
51
- "@shapediver/viewer.shared.math": "3.19.3",
52
- "@shapediver/viewer.shared.node-tree": "3.19.3",
53
- "@shapediver/viewer.shared.services": "3.19.3",
54
- "@shapediver/viewer.shared.types": "3.19.3",
40
+ "@shapediver/viewer.data-engine.gltf-converter": "3.20.0",
41
+ "@shapediver/viewer.data-engine.shared-types": "3.20.0",
42
+ "@shapediver/viewer.data-engine.tag3d-engine": "3.20.0",
43
+ "@shapediver/viewer.rendering-engine.animation-engine": "3.20.0",
44
+ "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.20.0",
45
+ "@shapediver/viewer.rendering-engine.camera-engine": "3.20.0",
46
+ "@shapediver/viewer.rendering-engine.canvas-engine": "3.20.0",
47
+ "@shapediver/viewer.rendering-engine.intersection-engine": "3.20.0",
48
+ "@shapediver/viewer.rendering-engine.light-engine": "3.20.0",
49
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.20.0",
50
+ "@shapediver/viewer.shared.global-access-objects": "3.20.0",
51
+ "@shapediver/viewer.shared.math": "3.20.0",
52
+ "@shapediver/viewer.shared.node-tree": "3.20.0",
53
+ "@shapediver/viewer.shared.services": "3.20.0",
54
+ "@shapediver/viewer.shared.types": "3.20.0",
55
55
  "@tweenjs/tween.js": "25.0.0",
56
56
  "@types/stats.js": "0.17.4",
57
- "@types/three": "0.162.0",
57
+ "@types/three": "0.184.1",
58
58
  "gl-matrix": "3.4.4",
59
- "postprocessing": "6.35.3",
59
+ "postprocessing": "6.39.1",
60
60
  "stats.js": "0.17.0",
61
- "three": "0.162.0"
61
+ "three": "0.184.0"
62
62
  },
63
- "gitHead": "447c1056900cc0a6add0a5d363c705b703e95c11"
63
+ "gitHead": "d2c1d8b252ed15fd76824f8dd991bfb858539f62"
64
64
  }