@zephyr3d/editor 0.3.8 → 0.3.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.
- package/dist/assets/{index-BZ1L8ggE.js → index-CO6yA4Rj.js} +313 -11
- package/dist/assistant/zephyr-types-index.json +13834 -11679
- package/dist/index.html +1 -1
- package/dist/modules/zephyr3d_backend-webgpu.js +1 -1
- package/dist/modules/zephyr3d_backend-webgpu.js.map +1 -1
- package/dist/modules/zephyr3d_device.js +2 -2
- package/dist/modules/zephyr3d_device.js.map +1 -1
- package/dist/modules/zephyr3d_scene.js +2325 -515
- package/dist/modules/zephyr3d_scene.js.map +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/renderpass_webgpu.js +1 -1
- package/dist/vendor/zephyr3d/backend-webgpu/dist/renderpass_webgpu.js.map +1 -1
- package/dist/vendor/zephyr3d/device/dist/device.js +2 -2
- package/dist/vendor/zephyr3d/device/dist/device.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/app/engine.js +3 -1
- package/dist/vendor/zephyr3d/scene/dist/app/engine.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/asset/assetmanager.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/asset/assetmanager.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js +87 -0
- package/dist/vendor/zephyr3d/scene/dist/camera/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/index.d.ts +158 -4
- package/dist/vendor/zephyr3d/scene/dist/index.js +3 -0
- package/dist/vendor/zephyr3d/scene/dist/index.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/meshmaterial.js +8 -1
- package/dist/vendor/zephyr3d/scene/dist/material/meshmaterial.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/shader/helper.js +6 -0
- package/dist/vendor/zephyr3d/scene/dist/material/shader/helper.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/material/skin.js +263 -0
- package/dist/vendor/zephyr3d/scene/dist/material/skin.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/compositor.js +3 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/compositor.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/skinsss.js +194 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/skinsss.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/ssr.js +26 -49
- package/dist/vendor/zephyr3d/scene/dist/posteffect/ssr.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/sss.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/posteffect/sss.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/posteffect/taa.js +2 -40
- package/dist/vendor/zephyr3d/scene/dist/posteffect/taa.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/abuffer_oit.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/abuffer_oit.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/drawable_mixin.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/drawable_mixin.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/fbm_wavegenerator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/fbm_wavegenerator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/gerstner_wavegenerator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/gerstner_wavegenerator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/globalbindgroup_allocator.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/globalbindgroup_allocator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/lightpass.js +4 -1
- package/dist/vendor/zephyr3d/scene/dist/render/lightpass.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/render_queue.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/render_queue.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/renderer.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/render/renderer.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/device_pool_allocator.js +12 -5
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/forward_plus_builder.js +78 -8
- package/dist/vendor/zephyr3d/scene/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/basesprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/basesprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/batchgroup.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/batchgroup.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/environment.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/environment.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/light.js +158 -154
- package/dist/vendor/zephyr3d/scene/dist/scene/light.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/mesh.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/mesh.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftext.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftext.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftextsprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/msdftextsprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/particlesys.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/particlesys.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/scene.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/scene.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grass.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grass.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grassmaterial.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/grassmaterial.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/terrain-cm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/scene/water.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/scene/water.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shaders/shadow.js +617 -1
- package/dist/vendor/zephyr3d/scene/dist/shaders/shadow.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/esm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/esm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_opt.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_opt.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_pd.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcf_pd.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcss.js +182 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/pcss.js.map +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/shader.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/shader.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadow_impl.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadowmapper.js +183 -105
- package/dist/vendor/zephyr3d/scene/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/ssm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/ssm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/shadow/vsm.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/shadow/vsm.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/manager.js +3 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/manager.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/animation.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/batch.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/batch.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js +122 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/camera.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/common.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js +102 -21
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/light.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js +195 -3
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/material.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/mesh.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/node.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/particle.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/primitive.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/sprite.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/sprite.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/terrain.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/text.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/text.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/water.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/utility/serialization/scene/water.js.map +1 -1
- package/dist/vendor/zephyr3d/scene/dist/values.js +1 -0
- package/dist/vendor/zephyr3d/scene/dist/values.js.map +1 -1
- package/electron/main.cjs +30 -6
- package/package.json +4 -4
|
@@ -4,6 +4,7 @@ import { Compositor } from '../posteffect/compositor.js';
|
|
|
4
4
|
import { TAA } from '../posteffect/taa.js';
|
|
5
5
|
import { SSR } from '../posteffect/ssr.js';
|
|
6
6
|
import { SSS } from '../posteffect/sss.js';
|
|
7
|
+
import { SkinSSS } from '../posteffect/skinsss.js';
|
|
7
8
|
import { Tonemap } from '../posteffect/tonemap.js';
|
|
8
9
|
import { FXAA } from '../posteffect/fxaa.js';
|
|
9
10
|
import { Bloom } from '../posteffect/bloom.js';
|
|
@@ -144,6 +145,13 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
144
145
|
/** @internal SSS multi-scatter energy compensation. */ _sssMultiScatter;
|
|
145
146
|
/** @internal Cached runtime SSS settings after applying the quality preset. */ _sssResolvedSettings;
|
|
146
147
|
/** @internal SSS debug visualization mode. */ _sssDebugView;
|
|
148
|
+
/** @internal Skin SSS enable flag (via post effect). */ _skinSSS;
|
|
149
|
+
/** @internal Skin SSS post effect reference. */ _postEffectSkinSSS;
|
|
150
|
+
/** @internal Skin SSS final blend strength. */ _skinSSSStrength;
|
|
151
|
+
/** @internal Skin SSS mask opacity bias. */ _skinSSSOpacity;
|
|
152
|
+
/** @internal Skin SSS blur tap spacing in pixels. */ _skinSSSSampleStep;
|
|
153
|
+
/** @internal Skin SSS depth rejection scale. */ _skinSSSDepthScale;
|
|
154
|
+
/** @internal Skin SSS blurred multiplier boost. */ _skinSSSColorBoost;
|
|
147
155
|
/** @internal SSAO enable flag (via post effect). */ _SSAO;
|
|
148
156
|
/** @internal SSAO post effect reference. */ _postEffectSSAO;
|
|
149
157
|
/** @internal SSAO scale (sampling radius multiplier). */ _SSAOScale;
|
|
@@ -260,6 +268,13 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
260
268
|
};
|
|
261
269
|
this.updateSSSResolvedSettings();
|
|
262
270
|
this._sssDebugView = 'none';
|
|
271
|
+
this._skinSSS = false;
|
|
272
|
+
this._postEffectSkinSSS = new DRef();
|
|
273
|
+
this._skinSSSStrength = 1;
|
|
274
|
+
this._skinSSSOpacity = 0.18;
|
|
275
|
+
this._skinSSSSampleStep = 2;
|
|
276
|
+
this._skinSSSDepthScale = 80;
|
|
277
|
+
this._skinSSSColorBoost = 1;
|
|
263
278
|
this._SSAO = false;
|
|
264
279
|
this._postEffectSSAO = new DRef();
|
|
265
280
|
this._SSAOScale = 10;
|
|
@@ -712,6 +727,57 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
712
727
|
set sssDebugView(val) {
|
|
713
728
|
this._sssDebugView = val ?? 'none';
|
|
714
729
|
}
|
|
730
|
+
/** Gets whether the dedicated Skin SSS post effect is enabled. */ get skinSSS() {
|
|
731
|
+
return this._postEffectSkinSSS.get().enabled;
|
|
732
|
+
}
|
|
733
|
+
set skinSSS(val) {
|
|
734
|
+
this._postEffectSkinSSS.get().enabled = !!val;
|
|
735
|
+
}
|
|
736
|
+
/** Final blend strength for the dedicated Skin SSS post effect. */ get skinSSSStrength() {
|
|
737
|
+
return this._skinSSSStrength;
|
|
738
|
+
}
|
|
739
|
+
set skinSSSStrength(val) {
|
|
740
|
+
this._skinSSSStrength = Math.max(0, val ?? 0);
|
|
741
|
+
if (this._postEffectSkinSSS.get()) {
|
|
742
|
+
this._postEffectSkinSSS.get().strength = this._skinSSSStrength;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
/** Bias subtracted from the blurred skin mask before compositing. */ get skinSSSOpacity() {
|
|
746
|
+
return this._skinSSSOpacity;
|
|
747
|
+
}
|
|
748
|
+
set skinSSSOpacity(val) {
|
|
749
|
+
this._skinSSSOpacity = Math.max(0, Math.min(1, val ?? 0));
|
|
750
|
+
if (this._postEffectSkinSSS.get()) {
|
|
751
|
+
this._postEffectSkinSSS.get().opacity = this._skinSSSOpacity;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
/** Pixel spacing between blur taps. The reference shader uses 2. */ get skinSSSSampleStep() {
|
|
755
|
+
return this._skinSSSSampleStep;
|
|
756
|
+
}
|
|
757
|
+
set skinSSSSampleStep(val) {
|
|
758
|
+
this._skinSSSSampleStep = Math.max(0.25, val ?? 0.25);
|
|
759
|
+
if (this._postEffectSkinSSS.get()) {
|
|
760
|
+
this._postEffectSkinSSS.get().sampleStep = this._skinSSSSampleStep;
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
/** Depth rejection scale. The reference shader uses 80. */ get skinSSSDepthScale() {
|
|
764
|
+
return this._skinSSSDepthScale;
|
|
765
|
+
}
|
|
766
|
+
set skinSSSDepthScale(val) {
|
|
767
|
+
this._skinSSSDepthScale = Math.max(0, val ?? 0);
|
|
768
|
+
if (this._postEffectSkinSSS.get()) {
|
|
769
|
+
this._postEffectSkinSSS.get().depthScale = this._skinSSSDepthScale;
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
/** Multiplier applied to the blurred skin lighting multiplier before compositing. */ get skinSSSColorBoost() {
|
|
773
|
+
return this._skinSSSColorBoost;
|
|
774
|
+
}
|
|
775
|
+
set skinSSSColorBoost(val) {
|
|
776
|
+
this._skinSSSColorBoost = Math.max(0, val ?? 0);
|
|
777
|
+
if (this._postEffectSkinSSS.get()) {
|
|
778
|
+
this._postEffectSkinSSS.get().colorBoost = this._skinSSSColorBoost;
|
|
779
|
+
}
|
|
780
|
+
}
|
|
715
781
|
/** @internal */ get ssrParams() {
|
|
716
782
|
return this._ssrParams;
|
|
717
783
|
}
|
|
@@ -1124,6 +1190,11 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
1124
1190
|
}
|
|
1125
1191
|
Camera._historyData.delete(this);
|
|
1126
1192
|
}
|
|
1193
|
+
const historyResourceManager = Camera._historyResourceManager.get(this);
|
|
1194
|
+
if (historyResourceManager) {
|
|
1195
|
+
historyResourceManager.dispose();
|
|
1196
|
+
Camera._historyResourceManager.delete(this);
|
|
1197
|
+
}
|
|
1127
1198
|
this._prevVPMatrix = null;
|
|
1128
1199
|
this._prevPosition = null;
|
|
1129
1200
|
this._prevJitteredVPMatrix = null;
|
|
@@ -1143,6 +1214,17 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
1143
1214
|
this._postEffectSSS.set(sss);
|
|
1144
1215
|
this._compositor.appendPostEffect(sss);
|
|
1145
1216
|
}
|
|
1217
|
+
if (!this._postEffectSkinSSS.get()) {
|
|
1218
|
+
const skinSSS = new SkinSSS();
|
|
1219
|
+
skinSSS.enabled = false;
|
|
1220
|
+
skinSSS.strength = this._skinSSSStrength;
|
|
1221
|
+
skinSSS.opacity = this._skinSSSOpacity;
|
|
1222
|
+
skinSSS.sampleStep = this._skinSSSSampleStep;
|
|
1223
|
+
skinSSS.depthScale = this._skinSSSDepthScale;
|
|
1224
|
+
skinSSS.colorBoost = this._skinSSSColorBoost;
|
|
1225
|
+
this._postEffectSkinSSS.set(skinSSS);
|
|
1226
|
+
this._compositor.appendPostEffect(skinSSS);
|
|
1227
|
+
}
|
|
1146
1228
|
if (!this._postEffectSSAO.get()) {
|
|
1147
1229
|
const ssao = new SAO();
|
|
1148
1230
|
ssao.enabled = false;
|
|
@@ -1338,6 +1420,10 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
1338
1420
|
*
|
|
1339
1421
|
* @internal
|
|
1340
1422
|
*/ setHistoryResourceManager(manager) {
|
|
1423
|
+
const current = Camera._historyResourceManager.get(this);
|
|
1424
|
+
if (current && current !== manager) {
|
|
1425
|
+
current.dispose();
|
|
1426
|
+
}
|
|
1341
1427
|
Camera._historyResourceManager.set(this, manager);
|
|
1342
1428
|
}
|
|
1343
1429
|
/** @internal */ setController(controller) {
|
|
@@ -1382,6 +1468,7 @@ const SSS_QUALITY_PRESET_SETTINGS = {
|
|
|
1382
1468
|
this._postEffectMotionBlur.dispose();
|
|
1383
1469
|
this._postEffectSSAO.dispose();
|
|
1384
1470
|
this._postEffectSSS.dispose();
|
|
1471
|
+
this._postEffectSkinSSS.dispose();
|
|
1385
1472
|
this._postEffectSSR.dispose();
|
|
1386
1473
|
this._postEffectTAA.dispose();
|
|
1387
1474
|
this._postEffectTonemap.dispose();
|