@zephyr3d/scene 0.3.0 → 0.4.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/dist/asset/assetmanager.js +1 -1
- package/dist/asset/loaders/gltf/gltf_loader.js +4 -8
- package/dist/asset/loaders/gltf/gltf_loader.js.map +1 -1
- package/dist/camera/camera.js +25 -2
- package/dist/camera/camera.js.map +1 -1
- package/dist/index.d.ts +4641 -4371
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/material/grassmaterial.js +15 -0
- package/dist/material/grassmaterial.js.map +1 -1
- package/dist/material/material.js +79 -347
- package/dist/material/material.js.map +1 -1
- package/dist/material/meshmaterial.js +88 -100
- package/dist/material/meshmaterial.js.map +1 -1
- package/dist/material/mixins/albedocolor.js +11 -3
- package/dist/material/mixins/albedocolor.js.map +1 -1
- package/dist/material/mixins/lightmodel/blinnphong.js +1 -1
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js +8 -1
- package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
- package/dist/material/mixins/pbr/common.js +2 -0
- package/dist/material/mixins/pbr/common.js.map +1 -1
- package/dist/material/mixins/vertexcolor.js +2 -0
- package/dist/material/mixins/vertexcolor.js.map +1 -1
- package/dist/material/pbrmr.js +1 -1
- package/dist/material/pbrsg.js +9 -4
- package/dist/material/pbrsg.js.map +1 -1
- package/dist/material/shader/helper.js +94 -115
- package/dist/material/shader/helper.js.map +1 -1
- package/dist/material/terrainmaterial.js +16 -0
- package/dist/material/terrainmaterial.js.map +1 -1
- package/dist/posteffect/bloom.js +3 -4
- package/dist/posteffect/bloom.js.map +1 -1
- package/dist/posteffect/compositor.js +5 -6
- package/dist/posteffect/compositor.js.map +1 -1
- package/dist/posteffect/fxaa.js +1 -2
- package/dist/posteffect/fxaa.js.map +1 -1
- package/dist/posteffect/grayscale.js +1 -2
- package/dist/posteffect/grayscale.js.map +1 -1
- package/dist/posteffect/posteffect.js +0 -74
- package/dist/posteffect/posteffect.js.map +1 -1
- package/dist/posteffect/sao.js +2 -5
- package/dist/posteffect/sao.js.map +1 -1
- package/dist/posteffect/tonemap.js +1 -2
- package/dist/posteffect/tonemap.js.map +1 -1
- package/dist/posteffect/water.js +18 -14
- package/dist/posteffect/water.js.map +1 -1
- package/dist/render/abuffer_oit.js +352 -0
- package/dist/render/abuffer_oit.js.map +1 -0
- package/dist/render/depthpass.js +10 -13
- package/dist/render/depthpass.js.map +1 -1
- package/dist/render/drawable_mixin.js +110 -0
- package/dist/render/drawable_mixin.js.map +1 -0
- package/dist/render/globalbindgroup_allocator.js +58 -0
- package/dist/render/globalbindgroup_allocator.js.map +1 -0
- package/dist/render/lightpass.js +69 -43
- package/dist/render/lightpass.js.map +1 -1
- package/dist/render/oit.js +16 -0
- package/dist/render/oit.js.map +1 -0
- package/dist/render/render_queue.js +250 -96
- package/dist/render/render_queue.js.map +1 -1
- package/dist/render/renderbundle_wrapper.js +20 -0
- package/dist/render/renderbundle_wrapper.js.map +1 -0
- package/dist/render/renderer.js +12 -9
- package/dist/render/renderer.js.map +1 -1
- package/dist/render/renderpass.js +92 -34
- package/dist/render/renderpass.js.map +1 -1
- package/dist/render/shadowmap_pass.js +12 -31
- package/dist/render/shadowmap_pass.js.map +1 -1
- package/dist/render/sky.js +2 -2
- package/dist/render/watermesh.js +140 -48
- package/dist/render/watermesh.js.map +1 -1
- package/dist/render/weightedblended_oit.js +188 -0
- package/dist/render/weightedblended_oit.js.map +1 -0
- package/dist/scene/batchgroup.js +8 -35
- package/dist/scene/batchgroup.js.map +1 -1
- package/dist/scene/environment.js +2 -3
- package/dist/scene/environment.js.map +1 -1
- package/dist/scene/graph_node.js +1 -1
- package/dist/scene/mesh.js +11 -32
- package/dist/scene/mesh.js.map +1 -1
- package/dist/scene/octree.js +3 -3
- package/dist/scene/scene.js +2 -29
- package/dist/scene/scene.js.map +1 -1
- package/dist/scene/scene_node.js +6 -1
- package/dist/scene/scene_node.js.map +1 -1
- package/dist/scene/terrain/grass.js +17 -11
- package/dist/scene/terrain/grass.js.map +1 -1
- package/dist/scene/terrain/patch.js +18 -15
- package/dist/scene/terrain/patch.js.map +1 -1
- package/dist/scene/terrain/quadtree.js +1 -1
- package/dist/scene/terrain/terrain.js +0 -8
- package/dist/scene/terrain/terrain.js.map +1 -1
- package/dist/shaders/water.js +4 -4
- package/dist/shadow/esm.js +0 -1
- package/dist/shadow/esm.js.map +1 -1
- package/dist/shadow/shadowmapper.js +1 -2
- package/dist/shadow/shadowmapper.js.map +1 -1
- package/dist/shadow/vsm.js +1 -2
- package/dist/shadow/vsm.js.map +1 -1
- package/package.json +4 -4
|
@@ -189,7 +189,7 @@ import { TGALoader } from './loaders/image/tga_Loader.js';
|
|
|
189
189
|
* @returns The created model node
|
|
190
190
|
*/ async fetchModel(scene, url, options) {
|
|
191
191
|
const sharedModel = await this.fetchModelData(scene, url, options?.mimeType, options?.postProcess);
|
|
192
|
-
return this.createSceneNode(scene, sharedModel,
|
|
192
|
+
return this.createSceneNode(scene, sharedModel, !!options?.enableInstancing);
|
|
193
193
|
}
|
|
194
194
|
/** @internal */ async loadTextData(url, postProcess) {
|
|
195
195
|
let text = await this._httpRequest.requestText(url);
|
|
@@ -6,7 +6,7 @@ import '../../../material/shader/helper.js';
|
|
|
6
6
|
import '../../../material/lambert.js';
|
|
7
7
|
import '../../../material/blinn.js';
|
|
8
8
|
import { UnlitMaterial } from '../../../material/unlit.js';
|
|
9
|
-
import '
|
|
9
|
+
import '@zephyr3d/device';
|
|
10
10
|
import '../../../material/meshmaterial.js';
|
|
11
11
|
import '../../../material/grassmaterial.js';
|
|
12
12
|
import '../../../material/terrainmaterial.js';
|
|
@@ -59,7 +59,6 @@ import { AbstractModelLoader } from '../loader.js';
|
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
61
|
async loadJson(url, gltf) {
|
|
62
|
-
console.log(`GLTF extensions used: ${gltf.extensionsUsed || []}`);
|
|
63
62
|
gltf._accessors = [];
|
|
64
63
|
gltf._bufferCache = {};
|
|
65
64
|
gltf._textureCache = {};
|
|
@@ -395,8 +394,7 @@ import { AbstractModelLoader } from '../loader.js';
|
|
|
395
394
|
unlitMaterial.alphaCutoff = assetMaterial.common.alphaCutoff;
|
|
396
395
|
}
|
|
397
396
|
if (assetMaterial.common.doubleSided) {
|
|
398
|
-
|
|
399
|
-
rasterizerState.setCullMode('none');
|
|
397
|
+
unlitMaterial.cullMode = 'none';
|
|
400
398
|
}
|
|
401
399
|
return unlitMaterial;
|
|
402
400
|
} else if (assetMaterial.type === 'pbrSpecularGlossiness') {
|
|
@@ -448,8 +446,7 @@ import { AbstractModelLoader } from '../loader.js';
|
|
|
448
446
|
pbrMaterial.alphaCutoff = assetPBRMaterial.common.alphaCutoff;
|
|
449
447
|
}
|
|
450
448
|
if (assetPBRMaterial.common.doubleSided) {
|
|
451
|
-
|
|
452
|
-
rasterizerState.setCullMode('none');
|
|
449
|
+
pbrMaterial.cullMode = 'none';
|
|
453
450
|
}
|
|
454
451
|
pbrMaterial.vertexNormal = !!assetMaterial.common.vertexNormal;
|
|
455
452
|
return pbrMaterial;
|
|
@@ -557,8 +554,7 @@ import { AbstractModelLoader } from '../loader.js';
|
|
|
557
554
|
pbrMaterial.alphaCutoff = assetPBRMaterial.common.alphaCutoff;
|
|
558
555
|
}
|
|
559
556
|
if (assetPBRMaterial.common.doubleSided) {
|
|
560
|
-
|
|
561
|
-
rasterizerState.setCullMode('none');
|
|
557
|
+
pbrMaterial.cullMode = 'none';
|
|
562
558
|
}
|
|
563
559
|
pbrMaterial.vertexNormal = !!assetMaterial.common.vertexNormal;
|
|
564
560
|
return pbrMaterial;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf_loader.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gltf_loader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/camera/camera.js
CHANGED
|
@@ -2,17 +2,16 @@ import { Matrix4x4, Vector4, Frustum } from '@zephyr3d/base';
|
|
|
2
2
|
import { SceneNode } from '../scene/scene_node.js';
|
|
3
3
|
import { Application } from '../app.js';
|
|
4
4
|
import '../scene/octree.js';
|
|
5
|
+
import '@zephyr3d/device';
|
|
5
6
|
import '../material/shader/helper.js';
|
|
6
7
|
import '../material/lambert.js';
|
|
7
8
|
import '../material/blinn.js';
|
|
8
9
|
import '../material/unlit.js';
|
|
9
|
-
import '../material/material.js';
|
|
10
10
|
import '../material/meshmaterial.js';
|
|
11
11
|
import '../material/grassmaterial.js';
|
|
12
12
|
import '../material/terrainmaterial.js';
|
|
13
13
|
import '../material/pbrmr.js';
|
|
14
14
|
import '../material/pbrsg.js';
|
|
15
|
-
import '@zephyr3d/device';
|
|
16
15
|
import { SceneRenderer } from '../render/renderer.js';
|
|
17
16
|
import '../render/sky.js';
|
|
18
17
|
import '../render/clipmap.js';
|
|
@@ -38,6 +37,9 @@ import '../render/watermesh.js';
|
|
|
38
37
|
/** @internal */ _scissor;
|
|
39
38
|
/** @internal */ _clearColor;
|
|
40
39
|
/** @internal */ _clipMask;
|
|
40
|
+
/** @internal */ _oit;
|
|
41
|
+
/** @internal */ _depthPrePass;
|
|
42
|
+
/** @internal */ _commandBufferReuse;
|
|
41
43
|
/**
|
|
42
44
|
* Creates a new camera node
|
|
43
45
|
* @param scene - The scene that the camera belongs to
|
|
@@ -59,6 +61,9 @@ import '../render/watermesh.js';
|
|
|
59
61
|
this._sampleCount = 1;
|
|
60
62
|
this._frustum = null;
|
|
61
63
|
this._frustumV = null;
|
|
64
|
+
this._oit = null;
|
|
65
|
+
this._depthPrePass = false;
|
|
66
|
+
this._commandBufferReuse = true;
|
|
62
67
|
}
|
|
63
68
|
/** Clip plane in camera space */ get clipPlane() {
|
|
64
69
|
return this._clipPlane;
|
|
@@ -67,6 +72,18 @@ import '../render/watermesh.js';
|
|
|
67
72
|
this._clipPlane = plane;
|
|
68
73
|
this._invalidate(false);
|
|
69
74
|
}
|
|
75
|
+
/** Whether to perform a depth pass */ get depthPrePass() {
|
|
76
|
+
return this._depthPrePass;
|
|
77
|
+
}
|
|
78
|
+
set depthPrePass(val) {
|
|
79
|
+
this._depthPrePass = !!val;
|
|
80
|
+
}
|
|
81
|
+
/** Whether to allow command buffer reuse optimization */ get commandBufferReuse() {
|
|
82
|
+
return this._commandBufferReuse;
|
|
83
|
+
}
|
|
84
|
+
set commandBufferReuse(val) {
|
|
85
|
+
this._commandBufferReuse = !!val;
|
|
86
|
+
}
|
|
70
87
|
/**
|
|
71
88
|
* Sample count for MSAA
|
|
72
89
|
*
|
|
@@ -82,6 +99,12 @@ import '../render/watermesh.js';
|
|
|
82
99
|
this._sampleCount = val;
|
|
83
100
|
}
|
|
84
101
|
}
|
|
102
|
+
/** OIT */ get oit() {
|
|
103
|
+
return this._oit;
|
|
104
|
+
}
|
|
105
|
+
set oit(val) {
|
|
106
|
+
this._oit = val;
|
|
107
|
+
}
|
|
85
108
|
/** Clip plane mask */ get clipMask() {
|
|
86
109
|
return this._clipMask;
|
|
87
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"camera.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|