@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.18.1 → 3.19.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.
- package/README.md +3 -3
- package/dist/RenderingEngine.d.ts +5 -5
- package/dist/RenderingEngine.d.ts.map +1 -1
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/injectors/TextureUnifierInjector.js +57 -57
- package/dist/interfaces/IRenderingEngine.d.ts +2 -2
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
- package/dist/loaders/EnvironmentMapLoader.d.ts +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 +2 -2
- package/dist/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.js +43 -43
- package/dist/loaders/GeometryLoader.js.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.d.ts +2 -2
- package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
- package/dist/loaders/LightLoader.d.ts +2 -2
- package/dist/loaders/LightLoader.d.ts.map +1 -1
- package/dist/loaders/LightLoader.js.map +1 -1
- package/dist/loaders/MaterialLoader.d.ts +7 -7
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +42 -42
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/ARManager.d.ts +1 -1
- package/dist/managers/ARManager.d.ts.map +1 -1
- package/dist/managers/ARManager.js.map +1 -1
- package/dist/managers/CameraManager.d.ts +1 -1
- package/dist/managers/CameraManager.d.ts.map +1 -1
- package/dist/managers/CameraManager.js.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.d.ts +2 -2
- package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
- package/dist/managers/FlagManager.d.ts +1 -1
- package/dist/managers/FlagManager.d.ts.map +1 -1
- package/dist/managers/FlagManager.js.map +1 -1
- package/dist/managers/PostProcessingManager.d.ts +2 -2
- package/dist/managers/PostProcessingManager.d.ts.map +1 -1
- package/dist/managers/PostProcessingManager.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts +2 -1
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +12 -0
- package/dist/managers/RenderingManager.js.map +1 -1
- package/dist/managers/SceneTracingManager.d.ts +3 -3
- package/dist/managers/SceneTracingManager.d.ts.map +1 -1
- package/dist/managers/SceneTracingManager.js.map +1 -1
- package/dist/managers/SceneTreeManager.d.ts +3 -3
- package/dist/managers/SceneTreeManager.d.ts.map +1 -1
- package/dist/managers/SceneTreeManager.js.map +1 -1
- package/dist/managers/SettingsManager.d.ts +2 -2
- package/dist/managers/SettingsManager.d.ts.map +1 -1
- package/dist/managers/SettingsManager.js.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.d.ts +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.js +3 -3
- package/dist/managers/environmentGeometry/Grid.d.ts +2 -2
- package/dist/managers/environmentGeometry/Grid.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.d.ts +2 -2
- package/dist/managers/environmentGeometry/GroundPlane.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts +2 -2
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts +1 -1
- package/dist/managers/environmentGeometry/IEnvironmentGeometry.d.ts.map +1 -1
- package/dist/managers/postprocessing/GodRaysManager.d.ts +1 -1
- package/dist/managers/postprocessing/GodRaysManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/OutlineManager.d.ts +1 -1
- package/dist/managers/postprocessing/OutlineManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts +1 -1
- package/dist/managers/postprocessing/SelectiveBloomManager.d.ts.map +1 -1
- package/dist/managers/postprocessing/ao/ao/shader/ao_compose.js +18 -18
- package/dist/managers/postprocessing/ao/ao/shader/ao_utils.js +81 -81
- package/dist/managers/postprocessing/ao/hbao/shader/hbao.js +154 -154
- package/dist/managers/postprocessing/ao/poissionDenoise/shader/poissionDenoise.js +152 -152
- package/dist/managers/postprocessing/ao/ssao/shader/ssao.js +115 -115
- package/dist/managers/postprocessing/ao/utils/shader/basic.js +10 -10
- package/dist/managers/postprocessing/ao/utils/shader/sampleBlueNoise.js +37 -37
- package/dist/managers/postprocessing/effects/tone-mapping/tone-mapping.js +92 -92
- package/dist/managers/postprocessing/utils/CopyMaterial.js +36 -36
- package/dist/managers/postprocessing/utils/CopyShader.js +23 -23
- package/dist/managers/sceneTree/SDTFUtils.d.ts +2 -2
- package/dist/managers/sceneTree/SDTFUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SDTFUtils.js.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.js.map +1 -1
- package/dist/objects/SDColor.d.ts +1 -1
- package/dist/objects/SDColor.d.ts.map +1 -1
- package/dist/objects/SDObject.d.ts +1 -1
- package/dist/objects/SDObject.d.ts.map +1 -1
- package/dist/shaders/PCSS.js +121 -121
- package/dist/shaders/gem.js +576 -576
- package/dist/shaders/multi_points.js +288 -288
- package/dist/styling/viewport-css.js +112 -112
- package/dist/types/IThreejsData.d.ts +1 -1
- package/dist/types/IThreejsData.d.ts.map +1 -1
- package/dist/types/ThreejsData.d.ts +1 -1
- package/dist/types/ThreejsData.d.ts.map +1 -1
- package/package.json +17 -17
- package/LICENSE +0 -73
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDTFUtils.d.ts","sourceRoot":"","sources":["../../../src/managers/sceneTree/SDTFUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,
|
|
1
|
+
{"version":3,"file":"SDTFUtils.d.ts","sourceRoot":"","sources":["../../../src/managers/sceneTree/SDTFUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,YAAY,EACK,MAAM,qCAAqC,CAAC;AAE9D,OAAO,EAEN,KAAK,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAC,eAAe,EAAC,MAAM,OAAO,CAAC;AAItC,eAAO,MAAM,mBAAmB,GAC/B,MAAM,SAAS,KACb,YAAY,GAAG,SAOjB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,KAAG,aAUpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC/B,iBAAiB,eAAe,EAChC,qBAAqB,aAAa,EAClC,MAAM,SAAS,EACf,MAAM,aAAa,SAyCnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDTFUtils.js","sourceRoot":"","sources":["../../../src/managers/sceneTree/SDTFUtils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SDTFUtils.js","sourceRoot":"","sources":["../../../src/managers/sceneTree/SDTFUtils.ts"],"names":[],"mappings":";;;AAAA,iFAM8D;AAC9D,+EAAkE;AAIlE,yCAA+B;AAG/B,MAAM,cAAc,GAAG,uCAAc,CAAC,QAAQ,CAAC;AAExC,MAAM,mBAAmB,GAAG,CAClC,IAAe,EACY,EAAE;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,sCAAY;YACvC,OAAqB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IACzB,OAAO,IAAA,2BAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAe,EAAiB,EAAE;IACpE,MAAM,GAAG,GAAqB,IAAI,0CAAgB,CAAC,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,YAAY,0CAAgB,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAmB,CAAC,CAAC,CAAC;QAChC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,QAAQ,CAAC;AACrB,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,mBAAmB,GAAG,CAClC,eAAgC,EAChC,mBAAkC,EAClC,IAAe,EACf,IAAmB,EAClB,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAGT;QACH,QAAQ,EAAE,IAAI,8CAAoB,CAAC;YAClC,KAAK,EAAE,eAAe,CAAC,oBAAoB;YAC3C,OAAO,EAAE,CAAC;SACV,CAAC;QACF,MAAM,EAAE,gBAAI,CAAC,MAAM,EAAE;KACrB,CAAC;IAEF,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,CACtD,mBAAmB,EACnB,QAAQ,CACR,CAAC;QACF,cAAc,CAAC,gBAAgB,CAC9B,4BAA4B,EAC5B,WAAW,EACX,QAAQ,EACR,IAAI,CACJ,CAAC;QACF,cAAc,CAAC,gBAAgB,CAC9B,4BAA4B,EAC5B,WAAW,CAAC,MAAM,EAClB,MAAM,EACN,IAAI,CACJ,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACxC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC;QACtB,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,IAAI,IAAI,YAAY,sCAAY;QAAE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7E,CAAC,CAAC;AA7CW,QAAA,mBAAmB,uBA6C9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ITreeNode, ITreeNodeData } from "@shapediver/viewer.shared.node-tree";
|
|
1
|
+
import { type ITreeNode, type ITreeNodeData } from "@shapediver/viewer.shared.node-tree";
|
|
2
2
|
import * as THREE from "three";
|
|
3
3
|
import { SDObject } from "../../objects/SDObject";
|
|
4
4
|
import { RenderingEngine } from "../../RenderingEngine";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceenTreeManagerUtils.d.ts","sourceRoot":"","sources":["../../../src/managers/sceneTree/SceenTreeManagerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,SAAS,
|
|
1
|
+
{"version":3,"file":"SceenTreeManagerUtils.d.ts","sourceRoot":"","sources":["../../../src/managers/sceneTree/SceenTreeManagerUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,aAAa,EAAC,MAAM,qCAAqC,CAAC;AAEhE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,QAAQ,EAAe,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAGtD,eAAO,MAAM,UAAU,GACtB,iBAAiB,eAAe,EAChC,YAAY,KAAK,CAAC,QAAQ,SAsF1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,SAAS,EAAE,KAAK,QAAQ,SAmChE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC7B,MAAM,SAAS,EACf,MAAM,aAAa,EACnB,mBAAmB,MAAM,EACzB,qBAAqB,KAAK,CAAC,QAAQ,SAsDnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceenTreeManagerUtils.js","sourceRoot":"","sources":["../../../src/managers/sceneTree/SceenTreeManagerUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"SceenTreeManagerUtils.js","sourceRoot":"","sources":["../../../src/managers/sceneTree/SceenTreeManagerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDColor.d.ts","sourceRoot":"","sources":["../../src/objects/SDColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SDColor.d.ts","sourceRoot":"","sources":["../../src/objects/SDColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,KAAK,IAAI,UAAU,EAAC,MAAM,OAAO,CAAC;AAE1C,qBAAa,OAAQ,SAAQ,UAAU;IAGtC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,mBAAmB,CAAyC;gBAMxD,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK;IAmBlD;;;;;;;OAOG;IACI,eAAe,CAAC,MAAM,EAAE,OAAO;CAoBtC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISDObject } from "@shapediver/viewer.rendering-engine.rendering-engine";
|
|
1
|
+
import { type ISDObject } from "@shapediver/viewer.rendering-engine.rendering-engine";
|
|
2
2
|
import { mat4 } from "gl-matrix";
|
|
3
3
|
import { Object3D } from "three";
|
|
4
4
|
export declare enum SD_DATA_TYPE {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDObject.d.ts","sourceRoot":"","sources":["../../src/objects/SDObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"SDObject.d.ts","sourceRoot":"","sources":["../../src/objects/SDObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/B,oBAAY,YAAY;IACvB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;IAC3C,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB;AAED,qBAAa,QAAS,SAAQ,QAAS,YAAW,SAAS;;gBAQzD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,YAAkC;IAQlC,mBAAmB,CAAC,cAAc,EAAE,IAAI,GAAG,IAAI;IAatD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;IAED,IAAW,MAAM,IAAI,YAAY,CAEhC;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,YAAY,EAEpC;IAEM,WAAW,IAAI,QAAQ;CAS9B"}
|
package/dist/shaders/PCSS.js
CHANGED
|
@@ -1,127 +1,127 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.entry = exports.main = void 0;
|
|
4
|
-
exports.main = `
|
|
5
|
-
|
|
6
|
-
uniform float lightSizeUV;
|
|
7
|
-
uniform float blending;
|
|
8
|
-
|
|
9
|
-
#ifdef SHADOWMAP_TYPE_PCF
|
|
10
|
-
|
|
11
|
-
#define NEAR_PLANE 0.1
|
|
12
|
-
#define NUM_SAMPLES 20
|
|
13
|
-
#define NUM_RINGS 11
|
|
14
|
-
|
|
15
|
-
vec2 poissonDisk[NUM_SAMPLES];
|
|
16
|
-
|
|
17
|
-
void initPoissonSamples( const in vec2 randomSeed ) {
|
|
18
|
-
float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);
|
|
19
|
-
float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);
|
|
20
|
-
|
|
21
|
-
// jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/
|
|
22
|
-
float angle = rand(randomSeed) * PI2;
|
|
23
|
-
float radius = INV_NUM_SAMPLES;
|
|
24
|
-
float radiusStep = radius;
|
|
25
|
-
|
|
26
|
-
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
27
|
-
poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);
|
|
28
|
-
radius += radiusStep;
|
|
29
|
-
angle += ANGLE_STEP;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
float penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation
|
|
34
|
-
return (zReceiver - zBlocker) / zBlocker;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
float findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver ) {
|
|
38
|
-
// This uses similar triangles to compute what
|
|
39
|
-
// area of the shadow map we should search
|
|
40
|
-
float searchRadius = lightSizeUV * (zReceiver - NEAR_PLANE) / zReceiver;
|
|
41
|
-
float blockerDepthSum = 0.0;
|
|
42
|
-
int numBlockers = 0;
|
|
43
|
-
|
|
44
|
-
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
45
|
-
float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));
|
|
46
|
-
if (shadowMapDepth < zReceiver) {
|
|
47
|
-
blockerDepthSum += shadowMapDepth;
|
|
48
|
-
numBlockers++;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (numBlockers == 0) return -1.0;
|
|
53
|
-
|
|
54
|
-
return blockerDepthSum / float(numBlockers);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
float PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {
|
|
58
|
-
float sum = 0.0;
|
|
59
|
-
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
60
|
-
float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * filterRadius));
|
|
61
|
-
if (zReceiver <= depth) sum += 1.0;
|
|
62
|
-
}
|
|
63
|
-
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
64
|
-
float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[i].yx * filterRadius));
|
|
65
|
-
if (zReceiver <= depth) sum += 1.0;
|
|
66
|
-
}
|
|
67
|
-
return sum / (2.0 * float(NUM_SAMPLES));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
float PCSS(sampler2D shadowMap, vec4 coords) {
|
|
71
|
-
vec2 uv = coords.xy;
|
|
72
|
-
float zReceiver = coords.z; // Assumed to be eye-space z in this code
|
|
73
|
-
|
|
74
|
-
initPoissonSamples(uv);
|
|
75
|
-
// STEP 1: blocker search
|
|
76
|
-
float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);
|
|
77
|
-
|
|
78
|
-
//There are no occluders so early out (this saves filtering)
|
|
79
|
-
if (avgBlockerDepth == -1.0) return 1.0;
|
|
80
|
-
|
|
81
|
-
// STEP 2: penumbra size
|
|
82
|
-
float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);
|
|
83
|
-
float filterRadius = penumbraRatio * lightSizeUV * NEAR_PLANE / zReceiver;
|
|
84
|
-
|
|
85
|
-
// STEP 3: filtering
|
|
86
|
-
//return avgBlockerDepth;
|
|
87
|
-
return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);
|
|
88
|
-
}
|
|
89
|
-
#endif
|
|
4
|
+
exports.main = `
|
|
5
|
+
|
|
6
|
+
uniform float lightSizeUV;
|
|
7
|
+
uniform float blending;
|
|
8
|
+
|
|
9
|
+
#ifdef SHADOWMAP_TYPE_PCF
|
|
10
|
+
|
|
11
|
+
#define NEAR_PLANE 0.1
|
|
12
|
+
#define NUM_SAMPLES 20
|
|
13
|
+
#define NUM_RINGS 11
|
|
14
|
+
|
|
15
|
+
vec2 poissonDisk[NUM_SAMPLES];
|
|
16
|
+
|
|
17
|
+
void initPoissonSamples( const in vec2 randomSeed ) {
|
|
18
|
+
float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);
|
|
19
|
+
float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);
|
|
20
|
+
|
|
21
|
+
// jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/
|
|
22
|
+
float angle = rand(randomSeed) * PI2;
|
|
23
|
+
float radius = INV_NUM_SAMPLES;
|
|
24
|
+
float radiusStep = radius;
|
|
25
|
+
|
|
26
|
+
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
27
|
+
poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);
|
|
28
|
+
radius += radiusStep;
|
|
29
|
+
angle += ANGLE_STEP;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
float penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation
|
|
34
|
+
return (zReceiver - zBlocker) / zBlocker;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
float findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver ) {
|
|
38
|
+
// This uses similar triangles to compute what
|
|
39
|
+
// area of the shadow map we should search
|
|
40
|
+
float searchRadius = lightSizeUV * (zReceiver - NEAR_PLANE) / zReceiver;
|
|
41
|
+
float blockerDepthSum = 0.0;
|
|
42
|
+
int numBlockers = 0;
|
|
43
|
+
|
|
44
|
+
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
45
|
+
float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));
|
|
46
|
+
if (shadowMapDepth < zReceiver) {
|
|
47
|
+
blockerDepthSum += shadowMapDepth;
|
|
48
|
+
numBlockers++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (numBlockers == 0) return -1.0;
|
|
53
|
+
|
|
54
|
+
return blockerDepthSum / float(numBlockers);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
float PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {
|
|
58
|
+
float sum = 0.0;
|
|
59
|
+
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
60
|
+
float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * filterRadius));
|
|
61
|
+
if (zReceiver <= depth) sum += 1.0;
|
|
62
|
+
}
|
|
63
|
+
for (int i = 0; i < int(NUM_SAMPLES); i++ ) {
|
|
64
|
+
float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[i].yx * filterRadius));
|
|
65
|
+
if (zReceiver <= depth) sum += 1.0;
|
|
66
|
+
}
|
|
67
|
+
return sum / (2.0 * float(NUM_SAMPLES));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
float PCSS(sampler2D shadowMap, vec4 coords) {
|
|
71
|
+
vec2 uv = coords.xy;
|
|
72
|
+
float zReceiver = coords.z; // Assumed to be eye-space z in this code
|
|
73
|
+
|
|
74
|
+
initPoissonSamples(uv);
|
|
75
|
+
// STEP 1: blocker search
|
|
76
|
+
float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);
|
|
77
|
+
|
|
78
|
+
//There are no occluders so early out (this saves filtering)
|
|
79
|
+
if (avgBlockerDepth == -1.0) return 1.0;
|
|
80
|
+
|
|
81
|
+
// STEP 2: penumbra size
|
|
82
|
+
float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);
|
|
83
|
+
float filterRadius = penumbraRatio * lightSizeUV * NEAR_PLANE / zReceiver;
|
|
84
|
+
|
|
85
|
+
// STEP 3: filtering
|
|
86
|
+
//return avgBlockerDepth;
|
|
87
|
+
return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);
|
|
88
|
+
}
|
|
89
|
+
#endif
|
|
90
90
|
`;
|
|
91
|
-
exports.entry = `
|
|
92
|
-
// PCSS implementation
|
|
93
|
-
vec2 texelSize = vec2( 1.0 / 1024.0 ); // Always use 1024 for consistency
|
|
94
|
-
float dx = texelSize.x;
|
|
95
|
-
float dy = texelSize.y;
|
|
96
|
-
vec2 uv = shadowCoord.xy;
|
|
97
|
-
vec2 f = fract( uv * shadowMapSize + 0.5 );
|
|
98
|
-
uv -= f * texelSize;
|
|
99
|
-
float shadow1 = (
|
|
100
|
-
texture2DCompare( shadowMap, uv, shadowCoord.z ) +
|
|
101
|
-
texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
|
|
102
|
-
texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
|
|
103
|
-
texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
|
|
104
|
-
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
|
|
105
|
-
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
|
|
106
|
-
f.x ) +
|
|
107
|
-
mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
|
|
108
|
-
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
|
|
109
|
-
f.x ) +
|
|
110
|
-
mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
|
|
111
|
-
texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
|
|
112
|
-
f.y ) +
|
|
113
|
-
mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
|
|
114
|
-
texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
|
|
115
|
-
f.y ) +
|
|
116
|
-
mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
|
|
117
|
-
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
|
|
118
|
-
f.x ),
|
|
119
|
-
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
|
|
120
|
-
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
|
|
121
|
-
f.x ),
|
|
122
|
-
f.y )
|
|
123
|
-
) * ( 1.0 / 9.0 );
|
|
124
|
-
float shadow2 = PCSS( shadowMap, shadowCoord );
|
|
125
|
-
shadow = shadow1 * (1.0 - blending) + blending * shadow2;
|
|
91
|
+
exports.entry = `
|
|
92
|
+
// PCSS implementation
|
|
93
|
+
vec2 texelSize = vec2( 1.0 / 1024.0 ); // Always use 1024 for consistency
|
|
94
|
+
float dx = texelSize.x;
|
|
95
|
+
float dy = texelSize.y;
|
|
96
|
+
vec2 uv = shadowCoord.xy;
|
|
97
|
+
vec2 f = fract( uv * shadowMapSize + 0.5 );
|
|
98
|
+
uv -= f * texelSize;
|
|
99
|
+
float shadow1 = (
|
|
100
|
+
texture2DCompare( shadowMap, uv, shadowCoord.z ) +
|
|
101
|
+
texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +
|
|
102
|
+
texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +
|
|
103
|
+
texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +
|
|
104
|
+
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),
|
|
105
|
+
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),
|
|
106
|
+
f.x ) +
|
|
107
|
+
mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),
|
|
108
|
+
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),
|
|
109
|
+
f.x ) +
|
|
110
|
+
mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),
|
|
111
|
+
texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),
|
|
112
|
+
f.y ) +
|
|
113
|
+
mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),
|
|
114
|
+
texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),
|
|
115
|
+
f.y ) +
|
|
116
|
+
mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),
|
|
117
|
+
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),
|
|
118
|
+
f.x ),
|
|
119
|
+
mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),
|
|
120
|
+
texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),
|
|
121
|
+
f.x ),
|
|
122
|
+
f.y )
|
|
123
|
+
) * ( 1.0 / 9.0 );
|
|
124
|
+
float shadow2 = PCSS( shadowMap, shadowCoord );
|
|
125
|
+
shadow = shadow1 * (1.0 - blending) + blending * shadow2;
|
|
126
126
|
`;
|
|
127
127
|
//# sourceMappingURL=PCSS.js.map
|