@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.19.3 → 3.20.1
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/RenderingEngine.d.ts +5 -2
- package/dist/RenderingEngine.d.ts.map +1 -1
- package/dist/RenderingEngine.js +34 -15
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IRenderingEngine.d.ts +2 -1
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
- package/dist/loaders/GeometryLoader.d.ts +7 -0
- package/dist/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.js +27 -6
- package/dist/loaders/GeometryLoader.js.map +1 -1
- package/dist/loaders/LightLoader.d.ts +1 -1
- package/dist/loaders/MaterialLoader.d.ts +5 -2
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +221 -8
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts +5 -0
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +120 -11
- package/dist/managers/RenderingManager.js.map +1 -1
- package/dist/managers/SceneTreeManager.d.ts +1 -1
- package/dist/managers/SceneTreeManager.d.ts.map +1 -1
- package/dist/managers/SceneTreeManager.js +1 -0
- package/dist/managers/SceneTreeManager.js.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts +2 -2
- package/dist/managers/postprocessing/ao/ao/AOPass.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/ao/AOPass.js +7 -4
- package/dist/managers/postprocessing/ao/ao/AOPass.js.map +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +2 -1
- package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts +2 -2
- package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingEffect.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts +2 -2
- package/dist/managers/postprocessing/utils/FullScreenQuad.d.ts.map +1 -1
- package/dist/managers/postprocessing/utils/NormalPass.d.ts +2 -2
- package/dist/managers/postprocessing/utils/NormalPass.d.ts.map +1 -1
- package/dist/materials/SpecularGlossinessMaterial.d.ts.map +1 -1
- package/dist/materials/SpecularGlossinessMaterial.js +12 -3
- package/dist/materials/SpecularGlossinessMaterial.js.map +1 -1
- package/dist/shaders/PCSS.d.ts +2 -2
- package/dist/shaders/PCSS.d.ts.map +1 -1
- package/dist/shaders/PCSS.js +108 -87
- package/dist/shaders/PCSS.js.map +1 -1
- package/dist/shaders/gem.d.ts +2 -2
- package/dist/shaders/gem.d.ts.map +1 -1
- package/dist/shaders/gem.js +24 -20
- package/dist/shaders/gem.js.map +1 -1
- package/package.json +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,6 @@ export declare class LightLoader implements ILoader {
|
|
|
15
15
|
set shadowMapCount(value: number);
|
|
16
16
|
adjustToBoundingBox(light: AbstractLight, dataChild: SDObject, boundingBox: IBox): void;
|
|
17
17
|
init(): void;
|
|
18
|
-
load(light: AbstractLight, dataChild: SDObject): THREE.Light
|
|
18
|
+
load(light: AbstractLight, dataChild: SDObject): THREE.Light | null;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=LightLoader.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GeometryData, MaterialBasicLineData, MaterialPointData, MaterialStandardData } from "@shapediver/viewer.shared.node-tree";
|
|
2
|
-
import { type IMaterialAbstractData, MATERIAL_TYPE, PRIMITIVE_MODE } from "@shapediver/viewer.shared.types";
|
|
2
|
+
import { ENVIRONMENT_MAP_PBR_MODE, type IMaterialAbstractData, MATERIAL_TYPE, PRIMITIVE_MODE } from "@shapediver/viewer.shared.types";
|
|
3
3
|
import { quat } from "gl-matrix";
|
|
4
4
|
import * as THREE from "three";
|
|
5
5
|
import { type ILoader } from "../interfaces/ILoader";
|
|
@@ -34,6 +34,7 @@ export declare class MaterialLoader implements ILoader {
|
|
|
34
34
|
private _envMap;
|
|
35
35
|
private _envMapIntensity;
|
|
36
36
|
private _envMapType;
|
|
37
|
+
private _environmentMapPbrMode;
|
|
37
38
|
private _environmentMapRotationEuler;
|
|
38
39
|
private _height;
|
|
39
40
|
private _lightSizeUV;
|
|
@@ -66,15 +67,17 @@ export declare class MaterialLoader implements ILoader {
|
|
|
66
67
|
});
|
|
67
68
|
assignColorCorrection(value: boolean): void;
|
|
68
69
|
assignDefaultLineMaterial(): void;
|
|
70
|
+
private assignEnvironmentMapPbrModeToMaterial;
|
|
69
71
|
assignDefaultMaterial(): void;
|
|
70
72
|
assignDefaultPointMaterial(): void;
|
|
71
73
|
assignEnvironmentMap(e: THREE.CubeTexture | THREE.Texture | null, type: ENVIRONMENT_MAP_TYPE): void;
|
|
72
74
|
assignEnvironmentMapForUnlitMaterials(toggle: boolean): void;
|
|
75
|
+
assignEnvironmentMapPbrMode(value: ENVIRONMENT_MAP_PBR_MODE): void;
|
|
73
76
|
assignEnvironmentMapIntensity(value: number): void;
|
|
74
77
|
assignEnvironmentMapRotation(value: quat): void;
|
|
75
78
|
assignPointSize(p: number): void;
|
|
76
79
|
cacheSize(): number;
|
|
77
|
-
createMaterial(type: GEOMETRY_MATERIAL_TYPE, incomingData: IMaterialAbstractData | GeometryData, materialData: IMaterialAbstractData | null, materialSettings?: MaterialSettings):
|
|
80
|
+
createMaterial(type: GEOMETRY_MATERIAL_TYPE, incomingData: IMaterialAbstractData | GeometryData, materialData: IMaterialAbstractData | null, materialSettings?: MaterialSettings): MultiPointsMaterial | THREE.PointsMaterial | THREE.Material<THREE.MaterialEventMap> | THREE.MeshBasicMaterial | THREE.LineBasicMaterial;
|
|
78
81
|
emptyMaterialCache(): void;
|
|
79
82
|
getMaterialProperties(materialData: IMaterialAbstractData | null, type: GEOMETRY_MATERIAL_TYPE, materialSettings?: MaterialSettings): {
|
|
80
83
|
properties: ThreeJsMaterialParameterTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/MaterialLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAEZ,qBAAqB,EAKrB,iBAAiB,EAGjB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"MaterialLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/MaterialLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,7 @@ class MaterialLoader {
|
|
|
66
66
|
this._envMap = null;
|
|
67
67
|
this._envMapIntensity = 1;
|
|
68
68
|
this._envMapType = EnvironmentMapLoader_1.ENVIRONMENT_MAP_TYPE.NULL;
|
|
69
|
+
this._environmentMapPbrMode = viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY;
|
|
69
70
|
this._environmentMapRotationEuler = new THREE.Euler();
|
|
70
71
|
this._height = 1020;
|
|
71
72
|
this._lightSizeUV = 0.025;
|
|
@@ -77,6 +78,21 @@ class MaterialLoader {
|
|
|
77
78
|
this._pointSize = 1.0;
|
|
78
79
|
this._textureEncoding = THREE.SRGBColorSpace;
|
|
79
80
|
this._threeJsTextureCache = {};
|
|
81
|
+
this.assignEnvironmentMapPbrModeToMaterial = (material, mode) => {
|
|
82
|
+
if (!(material instanceof THREE.MeshStandardMaterial))
|
|
83
|
+
return;
|
|
84
|
+
const materialWithDefines = material;
|
|
85
|
+
materialWithDefines.defines = materialWithDefines.defines || {};
|
|
86
|
+
if (mode === viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY) {
|
|
87
|
+
materialWithDefines.defines[viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY] = "";
|
|
88
|
+
materialWithDefines.defines["SDV_LEGACY_DFG_APPROX"] = "";
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
delete materialWithDefines.defines[viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY];
|
|
92
|
+
delete materialWithDefines.defines["SDV_LEGACY_DFG_APPROX"];
|
|
93
|
+
}
|
|
94
|
+
material.needsUpdate = true;
|
|
95
|
+
};
|
|
80
96
|
}
|
|
81
97
|
// #endregion Constructors (1)
|
|
82
98
|
// #region Public Getters And Setters (12)
|
|
@@ -224,6 +240,7 @@ class MaterialLoader {
|
|
|
224
240
|
else {
|
|
225
241
|
material.copy(new THREE.MeshPhysicalMaterial(properties));
|
|
226
242
|
}
|
|
243
|
+
this.assignEnvironmentMapPbrModeToMaterial(material, this._environmentMapPbrMode);
|
|
227
244
|
material.needsUpdate = true;
|
|
228
245
|
}
|
|
229
246
|
}
|
|
@@ -328,6 +345,12 @@ class MaterialLoader {
|
|
|
328
345
|
}
|
|
329
346
|
}
|
|
330
347
|
}
|
|
348
|
+
assignEnvironmentMapPbrMode(value) {
|
|
349
|
+
this._environmentMapPbrMode = value;
|
|
350
|
+
for (const cacheKey in this._materialCache) {
|
|
351
|
+
this.assignEnvironmentMapPbrModeToMaterial(this._materialCache[cacheKey].material, value);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
331
354
|
assignEnvironmentMapIntensity(value) {
|
|
332
355
|
this._envMapIntensity = value;
|
|
333
356
|
for (const cacheKey in this._materialCache) {
|
|
@@ -535,6 +558,7 @@ class MaterialLoader {
|
|
|
535
558
|
return Object.entries(this._materialCache).length;
|
|
536
559
|
}
|
|
537
560
|
createMaterial(type, incomingData, materialData, materialSettings) {
|
|
561
|
+
var _a;
|
|
538
562
|
const { properties, mapCount } = this.getMaterialProperties(materialData, type, materialSettings);
|
|
539
563
|
this.maxMapCount = Math.max(this.maxMapCount, mapCount);
|
|
540
564
|
let material;
|
|
@@ -611,6 +635,7 @@ class MaterialLoader {
|
|
|
611
635
|
};
|
|
612
636
|
if (material instanceof SpecularGlossinessMaterial_1.SpecularGlossinessMaterial ||
|
|
613
637
|
material instanceof THREE.MeshPhysicalMaterial) {
|
|
638
|
+
(_a = material.defines) !== null && _a !== void 0 ? _a : (material.defines = {});
|
|
614
639
|
material.defines["ENVMAP_TYPE_" + this._envMapType.toUpperCase()] = "";
|
|
615
640
|
if (materialSettings && materialSettings.useVertexTangents)
|
|
616
641
|
material.normalScale.y *= -1;
|
|
@@ -625,6 +650,7 @@ class MaterialLoader {
|
|
|
625
650
|
}
|
|
626
651
|
if (materialSettings && materialSettings.useVertexColors)
|
|
627
652
|
material.vertexColors = true;
|
|
653
|
+
this.assignEnvironmentMapPbrModeToMaterial(material, this._environmentMapPbrMode);
|
|
628
654
|
if (materialData instanceof viewer_shared_node_tree_1.MaterialStandardData ||
|
|
629
655
|
materialData instanceof viewer_shared_node_tree_1.MaterialGemData ||
|
|
630
656
|
materialData instanceof viewer_shared_node_tree_1.MaterialSpecularGlossinessData ||
|
|
@@ -1565,18 +1591,199 @@ var GEOMETRY_MATERIAL_TYPE;
|
|
|
1565
1591
|
})(GEOMETRY_MATERIAL_TYPE || (GEOMETRY_MATERIAL_TYPE = {}));
|
|
1566
1592
|
// #endregion Enums (1)
|
|
1567
1593
|
// #region Variables (1)
|
|
1594
|
+
const replaceShaderFunction = (shader, signature, replacement) => {
|
|
1595
|
+
const start = shader.lastIndexOf(signature);
|
|
1596
|
+
if (start === -1)
|
|
1597
|
+
return shader;
|
|
1598
|
+
const bodyStart = shader.indexOf("{", start);
|
|
1599
|
+
if (bodyStart === -1)
|
|
1600
|
+
return shader;
|
|
1601
|
+
let depth = 0;
|
|
1602
|
+
for (let i = bodyStart; i < shader.length; i++) {
|
|
1603
|
+
if (shader[i] === "{")
|
|
1604
|
+
depth++;
|
|
1605
|
+
else if (shader[i] === "}") {
|
|
1606
|
+
depth--;
|
|
1607
|
+
if (depth === 0) {
|
|
1608
|
+
return (shader.substring(0, start) +
|
|
1609
|
+
replacement +
|
|
1610
|
+
shader.substring(i + 1));
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
return shader;
|
|
1615
|
+
};
|
|
1568
1616
|
const adaptShaders = () => {
|
|
1569
1617
|
let shader = THREE.ShaderChunk.shadowmap_pars_fragment;
|
|
1570
1618
|
if (!shader.includes("PCSS implementation")) {
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1619
|
+
const getShadowSignature = "float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord )";
|
|
1620
|
+
const adaptedShader = replaceShaderFunction(shader, getShadowSignature, PCSS_1.getShadow);
|
|
1621
|
+
if (adaptedShader !== shader) {
|
|
1622
|
+
shader = adaptedShader.replace("#ifdef USE_SHADOWMAP", "#ifdef USE_SHADOWMAP" + PCSS_1.main);
|
|
1623
|
+
THREE.ShaderChunk.shadowmap_pars_fragment = shader;
|
|
1624
|
+
}
|
|
1625
|
+
}
|
|
1626
|
+
if (!THREE.ShaderChunk.envmap_physical_pars_fragment.includes(viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY)) {
|
|
1627
|
+
const legacyEnvironmentMapPbrMix = `
|
|
1628
|
+
#ifdef ${viewer_shared_types_1.ENVIRONMENT_MAP_PBR_MODE.LEGACY}
|
|
1629
|
+
float sdvEnvironmentMapPbrMix = roughness * roughness;
|
|
1630
|
+
#else
|
|
1631
|
+
float sdvEnvironmentMapPbrMix = roughness * roughness * roughness * roughness;
|
|
1632
|
+
#endif
|
|
1633
|
+
reflectVec = normalize( mix( reflectVec, normal, sdvEnvironmentMapPbrMix ) );`;
|
|
1634
|
+
THREE.ShaderChunk.envmap_physical_pars_fragment =
|
|
1635
|
+
THREE.ShaderChunk.envmap_physical_pars_fragment.replace("reflectVec = normalize( mix( reflectVec, normal, pow4( roughness ) ) );", legacyEnvironmentMapPbrMix);
|
|
1636
|
+
THREE.ShaderChunk.envmap_physical_pars_fragment =
|
|
1637
|
+
THREE.ShaderChunk.envmap_physical_pars_fragment.replace("reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );", legacyEnvironmentMapPbrMix);
|
|
1574
1638
|
}
|
|
1575
|
-
|
|
1576
|
-
//
|
|
1577
|
-
|
|
1639
|
+
// In legacy PBR mode, restore the analytical DFG approximation from three.js r162
|
|
1640
|
+
// instead of the DFG lookup texture introduced in r181.
|
|
1641
|
+
if (!THREE.ShaderChunk.lights_physical_pars_fragment.includes("SDV_LEGACY_DFG_APPROX")) {
|
|
1642
|
+
// Restore the DFGApprox function that was removed in r181
|
|
1643
|
+
const dfgApproxFunction = `
|
|
1644
|
+
#ifdef SDV_LEGACY_DFG_APPROX
|
|
1645
|
+
vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
|
|
1646
|
+
float dotNV = saturate( dot( normal, viewDir ) );
|
|
1647
|
+
const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );
|
|
1648
|
+
const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );
|
|
1649
|
+
vec4 r = roughness * c0 + c1;
|
|
1650
|
+
float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;
|
|
1651
|
+
vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;
|
|
1652
|
+
return fab;
|
|
1653
|
+
}
|
|
1654
|
+
#endif`;
|
|
1655
|
+
// Inject DFGApprox function right before EnvironmentBRDF
|
|
1656
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1657
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {", dfgApproxFunction +
|
|
1658
|
+
"\n\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {");
|
|
1659
|
+
// Replace the dfgLUT lookup in EnvironmentBRDF with a legacy/modern branch
|
|
1660
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1661
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("\tvec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;\n\treturn specularColor * fab.x + specularF90 * fab.y;", `\t#ifdef SDV_LEGACY_DFG_APPROX
|
|
1662
|
+
vec2 fab = DFGApprox( normal, viewDir, roughness );
|
|
1663
|
+
#else
|
|
1664
|
+
vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;
|
|
1665
|
+
#endif
|
|
1666
|
+
return specularColor * fab.x + specularF90 * fab.y;`);
|
|
1667
|
+
// Replace the dfgLUT lookup in computeMultiscattering with a legacy/modern branch
|
|
1668
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1669
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;\n\t#ifdef USE_IRIDESCENCE", `\tfloat dotNV = saturate( dot( normal, viewDir ) );
|
|
1670
|
+
#ifdef SDV_LEGACY_DFG_APPROX
|
|
1671
|
+
vec2 fab = DFGApprox( normal, viewDir, roughness );
|
|
1672
|
+
#else
|
|
1673
|
+
vec2 fab = texture2D( dfgLUT, vec2( roughness, dotNV ) ).rg;
|
|
1674
|
+
#endif
|
|
1675
|
+
#ifdef USE_IRIDESCENCE`);
|
|
1676
|
+
// In legacy mode, skip the multi-scattering energy compensation for direct lighting
|
|
1677
|
+
// that was added in r181. In r162, RE_Direct_Physical just used BRDF_GGX without compensation.
|
|
1678
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1679
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("reflectedLight.directSpecular += irradiance * BRDF_GGX_Multiscatter( directLight.direction, geometryViewDir, geometryNormal, material );", `#ifdef SDV_LEGACY_DFG_APPROX
|
|
1680
|
+
reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );
|
|
1681
|
+
#else
|
|
1682
|
+
reflectedLight.directSpecular += irradiance * BRDF_GGX_Multiscatter( directLight.direction, geometryViewDir, geometryNormal, material );
|
|
1683
|
+
#endif`);
|
|
1684
|
+
// In legacy mode, replace RE_IndirectSpecular_Physical with the r162 single-call approach.
|
|
1685
|
+
// r184 splits into dielectric/metallic paths and mixes by metalness, which produces brighter results.
|
|
1686
|
+
const legacyIndirectSpecular = `void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {
|
|
1687
|
+
#ifdef USE_CLEARCOAT
|
|
1688
|
+
clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );
|
|
1689
|
+
#endif
|
|
1690
|
+
#ifdef USE_SHEEN
|
|
1691
|
+
#ifdef SDV_LEGACY_DFG_APPROX
|
|
1692
|
+
sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );
|
|
1693
|
+
#else
|
|
1694
|
+
sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ) * RECIPROCAL_PI;
|
|
1695
|
+
#endif
|
|
1696
|
+
#endif
|
|
1697
|
+
#ifdef SDV_LEGACY_DFG_APPROX
|
|
1698
|
+
vec3 singleScattering = vec3( 0.0 );
|
|
1699
|
+
vec3 multiScattering = vec3( 0.0 );
|
|
1700
|
+
vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
|
|
1701
|
+
#ifdef USE_IRIDESCENCE
|
|
1702
|
+
computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColorBlended, material.specularF90, material.iridescence, material.iridescenceFresnelDielectric, material.roughness, singleScattering, multiScattering );
|
|
1703
|
+
#else
|
|
1704
|
+
computeMultiscattering( geometryNormal, geometryViewDir, material.specularColorBlended, material.specularF90, material.roughness, singleScattering, multiScattering );
|
|
1705
|
+
#endif
|
|
1706
|
+
vec3 totalScattering = singleScattering + multiScattering;
|
|
1707
|
+
vec3 diffuse = material.diffuseContribution * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );
|
|
1708
|
+
reflectedLight.indirectSpecular += radiance * singleScattering;
|
|
1709
|
+
reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;
|
|
1710
|
+
reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;
|
|
1711
|
+
#else
|
|
1712
|
+
vec3 singleScatteringDielectric = vec3( 0.0 );
|
|
1713
|
+
vec3 multiScatteringDielectric = vec3( 0.0 );
|
|
1714
|
+
vec3 singleScatteringMetallic = vec3( 0.0 );
|
|
1715
|
+
vec3 multiScatteringMetallic = vec3( 0.0 );
|
|
1716
|
+
#ifdef USE_IRIDESCENCE
|
|
1717
|
+
computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnelDielectric, material.roughness, singleScatteringDielectric, multiScatteringDielectric );
|
|
1718
|
+
computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.iridescence, material.iridescenceFresnelMetallic, material.roughness, singleScatteringMetallic, multiScatteringMetallic );
|
|
1719
|
+
#else
|
|
1720
|
+
computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScatteringDielectric, multiScatteringDielectric );
|
|
1721
|
+
computeMultiscattering( geometryNormal, geometryViewDir, material.diffuseColor, material.specularF90, material.roughness, singleScatteringMetallic, multiScatteringMetallic );
|
|
1722
|
+
#endif
|
|
1723
|
+
vec3 singleScattering = mix( singleScatteringDielectric, singleScatteringMetallic, material.metalness );
|
|
1724
|
+
vec3 multiScattering = mix( multiScatteringDielectric, multiScatteringMetallic, material.metalness );
|
|
1725
|
+
vec3 totalScatteringDielectric = singleScatteringDielectric + multiScatteringDielectric;
|
|
1726
|
+
vec3 diffuse = material.diffuseContribution * ( 1.0 - totalScatteringDielectric );
|
|
1727
|
+
vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;
|
|
1728
|
+
vec3 indirectSpecular = radiance * singleScattering;
|
|
1729
|
+
indirectSpecular += multiScattering * cosineWeightedIrradiance;
|
|
1730
|
+
vec3 indirectDiffuse = diffuse * cosineWeightedIrradiance;
|
|
1731
|
+
#ifdef USE_SHEEN
|
|
1732
|
+
float sheenAlbedo = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );
|
|
1733
|
+
float sheenEnergyComp = 1.0 - max3( material.sheenColor ) * sheenAlbedo;
|
|
1734
|
+
indirectSpecular *= sheenEnergyComp;
|
|
1735
|
+
indirectDiffuse *= sheenEnergyComp;
|
|
1736
|
+
#endif
|
|
1737
|
+
reflectedLight.indirectSpecular += indirectSpecular;
|
|
1738
|
+
reflectedLight.indirectDiffuse += indirectDiffuse;
|
|
1739
|
+
#endif
|
|
1740
|
+
}`;
|
|
1741
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1742
|
+
replaceShaderFunction(THREE.ShaderChunk.lights_physical_pars_fragment, "void RE_IndirectSpecular_Physical", legacyIndirectSpecular);
|
|
1743
|
+
// In legacy mode, use the r162 IBLSheenBRDF formula (piecewise curve-fit
|
|
1744
|
+
// with PI normalization). r184 changed to a different curve-fit without it.
|
|
1745
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1746
|
+
replaceShaderFunction(THREE.ShaderChunk.lights_physical_pars_fragment, "float IBLSheenBRDF", `float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {
|
|
1747
|
+
float dotNV = saturate( dot( normal, viewDir ) );
|
|
1748
|
+
#ifdef SDV_LEGACY_DFG_APPROX
|
|
1749
|
+
float r2 = roughness * roughness;
|
|
1750
|
+
float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;
|
|
1751
|
+
float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;
|
|
1752
|
+
float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );
|
|
1753
|
+
return saturate( DG * RECIPROCAL_PI );
|
|
1754
|
+
#else
|
|
1755
|
+
float r2 = roughness * roughness;
|
|
1756
|
+
float rInv = 1.0 / ( roughness + 0.1 );
|
|
1757
|
+
float a = -1.9362 + 1.0678 * roughness + 0.4573 * r2 - 0.8469 * rInv;
|
|
1758
|
+
float b = -0.6014 + 0.5538 * roughness - 0.4670 * r2 - 0.1255 * rInv;
|
|
1759
|
+
float DG = exp( a * dotNV + b );
|
|
1760
|
+
return saturate( DG );
|
|
1761
|
+
#endif
|
|
1762
|
+
}`);
|
|
1763
|
+
// In legacy mode, skip sheen energy compensation in RE_Direct_Physical
|
|
1764
|
+
// that was added in r181. r162 had no sheen energy comp for direct lights.
|
|
1765
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1766
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("\tfloat sheenAlbedoV = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );", "#ifndef SDV_LEGACY_DFG_APPROX\n\t\tfloat sheenAlbedoV = IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );");
|
|
1767
|
+
// In legacy mode, restore the r162 sheen assembly in meshphysical_frag.
|
|
1768
|
+
// r162 multiplied outgoingLight by sheenEnergyComp before adding sheen,
|
|
1769
|
+
// r184 moved energy comp into RE_Direct/RE_Indirect and removed it here.
|
|
1770
|
+
THREE.ShaderChunk.meshphysical_frag =
|
|
1771
|
+
THREE.ShaderChunk.meshphysical_frag.replace("outgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect;", `#ifdef SDV_LEGACY_DFG_APPROX
|
|
1772
|
+
float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );
|
|
1773
|
+
outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;
|
|
1774
|
+
#else
|
|
1775
|
+
outgoingLight = outgoingLight + sheenSpecularDirect + sheenSpecularIndirect;
|
|
1776
|
+
#endif`);
|
|
1777
|
+
THREE.ShaderChunk.lights_physical_pars_fragment =
|
|
1778
|
+
THREE.ShaderChunk.lights_physical_pars_fragment.replace("\t\tirradiance *= sheenEnergyComp;", "\t\tirradiance *= sheenEnergyComp;\n\t\t#endif");
|
|
1779
|
+
}
|
|
1780
|
+
// here we replace in the background cube fragment shader the y component of the reflection vector with the negative y component in the case of a LDR environment map
|
|
1781
|
+
// older and newer three.js versions set up the background rotation matrix differently, so we patch both shader variants
|
|
1578
1782
|
THREE.ShaderChunk.backgroundCube_frag =
|
|
1579
|
-
THREE.ShaderChunk.backgroundCube_frag.replace("vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );", "vec4 texColor = textureCube( envMap, inverse(backgroundRotation) * vec3( flipEnvMap * vWorldDirection.x, -vWorldDirection.y, vWorldDirection.z ) );");
|
|
1783
|
+
THREE.ShaderChunk.backgroundCube_frag.replace("vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );", "vec4 texColor = textureCube( envMap, inverse(backgroundRotation) * vec3( flipEnvMap * vWorldDirection.x, -vWorldDirection.y, vWorldDirection.z ) );").replace("vec4 texColor = textureCube( envMap, backgroundRotation * vWorldDirection );", `
|
|
1784
|
+
vec3 rotatedBackgroundDir = backgroundRotation * vec3( -vWorldDirection.x, -vWorldDirection.y, vWorldDirection.z );
|
|
1785
|
+
vec4 texColor = textureCube( envMap, vec3( -rotatedBackgroundDir.x, rotatedBackgroundDir.y, rotatedBackgroundDir.z ) );
|
|
1786
|
+
`);
|
|
1580
1787
|
THREE.ShaderLib.backgroundCube.fragmentShader =
|
|
1581
1788
|
THREE.ShaderChunk.backgroundCube_frag;
|
|
1582
1789
|
// here we replace in the envmap_physical_pars_fragment the z component of the reflection vector with the negative z component in the case of a LDR environment map
|
|
@@ -1604,7 +1811,6 @@ const adaptShaders = () => {
|
|
|
1604
1811
|
#endif
|
|
1605
1812
|
`);
|
|
1606
1813
|
// here we replace in the envmap_fragment the z component of the reflection vector with the negative z component in the case of a LDR environment map
|
|
1607
|
-
// console.log(THREE.ShaderChunk.envmap_fragment, THREE.ShaderChunk.envmap_fragment.includes('vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );'));
|
|
1608
1814
|
THREE.ShaderChunk.envmap_fragment =
|
|
1609
1815
|
THREE.ShaderChunk.envmap_fragment.replace("vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );", `
|
|
1610
1816
|
#ifdef ENVMAP_TYPE_LDR
|
|
@@ -1612,6 +1818,13 @@ const adaptShaders = () => {
|
|
|
1612
1818
|
#else
|
|
1613
1819
|
vec4 envColor = textureCube( envMap, envMapRotation * vec3(flipEnvMap * reflectVec.x, reflectVec.zy ) );
|
|
1614
1820
|
#endif
|
|
1821
|
+
`).replace("vec4 envColor = textureCube( envMap, envMapRotation * reflectVec );", `
|
|
1822
|
+
#ifdef ENVMAP_TYPE_LDR
|
|
1823
|
+
vec3 rotatedReflectVec = envMapRotation * vec3( -reflectVec.x, reflectVec.y, -reflectVec.z );
|
|
1824
|
+
vec4 envColor = textureCube( envMap, vec3( -rotatedReflectVec.x, rotatedReflectVec.y, rotatedReflectVec.z ) );
|
|
1825
|
+
#else
|
|
1826
|
+
vec4 envColor = textureCube( envMap, envMapRotation * reflectVec );
|
|
1827
|
+
#endif
|
|
1615
1828
|
`);
|
|
1616
1829
|
// here we replace the z and y component of the sampleDir in the cube_uv_reflection_fragment
|
|
1617
1830
|
// console.log(THREE.ShaderChunk.cube_uv_reflection_fragment.includes('vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );'))
|