@zephyr3d/scene 0.3.1 → 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.
Files changed (115) hide show
  1. package/dist/asset/loaders/gltf/gltf_loader.js +4 -8
  2. package/dist/asset/loaders/gltf/gltf_loader.js.map +1 -1
  3. package/dist/camera/camera.js +25 -2
  4. package/dist/camera/camera.js.map +1 -1
  5. package/dist/index.d.ts +4619 -4379
  6. package/dist/index.js +4 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/material/grassmat.js +127 -0
  9. package/dist/material/grassmat.js.map +1 -0
  10. package/dist/material/grassmaterial.js +15 -0
  11. package/dist/material/grassmaterial.js.map +1 -1
  12. package/dist/material/lightmodel.js +7 -6
  13. package/dist/material/lightmodel.js.map +1 -1
  14. package/dist/material/lit.js +99 -5
  15. package/dist/material/lit.js.map +1 -1
  16. package/dist/material/material.js +79 -347
  17. package/dist/material/material.js.map +1 -1
  18. package/dist/material/meshmaterial.js +88 -100
  19. package/dist/material/meshmaterial.js.map +1 -1
  20. package/dist/material/mixins/albedocolor.js +11 -3
  21. package/dist/material/mixins/albedocolor.js.map +1 -1
  22. package/dist/material/mixins/lightmodel/blinnphong.js +1 -1
  23. package/dist/material/shader/helper.js +94 -115
  24. package/dist/material/shader/helper.js.map +1 -1
  25. package/dist/material/terrainlightmodel.js +3 -1
  26. package/dist/material/terrainlightmodel.js.map +1 -1
  27. package/dist/material/terrainmat.js +357 -0
  28. package/dist/material/terrainmat.js.map +1 -0
  29. package/dist/material/terrainmaterial.js +16 -0
  30. package/dist/material/terrainmaterial.js.map +1 -1
  31. package/dist/posteffect/bloom.js +3 -4
  32. package/dist/posteffect/bloom.js.map +1 -1
  33. package/dist/posteffect/compositor.js +5 -6
  34. package/dist/posteffect/compositor.js.map +1 -1
  35. package/dist/posteffect/fxaa.js +1 -2
  36. package/dist/posteffect/fxaa.js.map +1 -1
  37. package/dist/posteffect/grayscale.js +1 -2
  38. package/dist/posteffect/grayscale.js.map +1 -1
  39. package/dist/posteffect/posteffect.js +0 -74
  40. package/dist/posteffect/posteffect.js.map +1 -1
  41. package/dist/posteffect/sao.js +2 -5
  42. package/dist/posteffect/sao.js.map +1 -1
  43. package/dist/posteffect/tonemap.js +1 -2
  44. package/dist/posteffect/tonemap.js.map +1 -1
  45. package/dist/posteffect/water.js +18 -14
  46. package/dist/posteffect/water.js.map +1 -1
  47. package/dist/render/abuffer_oit.js +352 -0
  48. package/dist/render/abuffer_oit.js.map +1 -0
  49. package/dist/render/depth_pass.js +3 -2
  50. package/dist/render/depth_pass.js.map +1 -1
  51. package/dist/render/depthpass.js +10 -13
  52. package/dist/render/depthpass.js.map +1 -1
  53. package/dist/render/drawable_mixin.js +110 -0
  54. package/dist/render/drawable_mixin.js.map +1 -0
  55. package/dist/render/forward.js +3 -6
  56. package/dist/render/forward.js.map +1 -1
  57. package/dist/render/forward_pass.js +6 -5
  58. package/dist/render/forward_pass.js.map +1 -1
  59. package/dist/render/globalbindgroup_allocator.js +58 -0
  60. package/dist/render/globalbindgroup_allocator.js.map +1 -0
  61. package/dist/render/lightpass.js +69 -43
  62. package/dist/render/lightpass.js.map +1 -1
  63. package/dist/render/oit.js +16 -0
  64. package/dist/render/oit.js.map +1 -0
  65. package/dist/render/render_queue.js +249 -95
  66. package/dist/render/render_queue.js.map +1 -1
  67. package/dist/render/renderbundle_wrapper.js +20 -0
  68. package/dist/render/renderbundle_wrapper.js.map +1 -0
  69. package/dist/render/renderer.js +12 -9
  70. package/dist/render/renderer.js.map +1 -1
  71. package/dist/render/renderpass.js +92 -34
  72. package/dist/render/renderpass.js.map +1 -1
  73. package/dist/render/shadowmap_pass.js +12 -31
  74. package/dist/render/shadowmap_pass.js.map +1 -1
  75. package/dist/render/sky.js +2 -2
  76. package/dist/render/watermesh.js +140 -48
  77. package/dist/render/watermesh.js.map +1 -1
  78. package/dist/render/weightedblended_oit.js +188 -0
  79. package/dist/render/weightedblended_oit.js.map +1 -0
  80. package/dist/scene/batchgroup.js +8 -35
  81. package/dist/scene/batchgroup.js.map +1 -1
  82. package/dist/scene/environment.js +2 -3
  83. package/dist/scene/environment.js.map +1 -1
  84. package/dist/scene/graph_node.js +1 -1
  85. package/dist/scene/mesh.js +10 -31
  86. package/dist/scene/mesh.js.map +1 -1
  87. package/dist/scene/scene.js +2 -29
  88. package/dist/scene/scene.js.map +1 -1
  89. package/dist/scene/scene_node.js +6 -1
  90. package/dist/scene/scene_node.js.map +1 -1
  91. package/dist/scene/terrain/grass.js +17 -11
  92. package/dist/scene/terrain/grass.js.map +1 -1
  93. package/dist/scene/terrain/patch.js +18 -15
  94. package/dist/scene/terrain/patch.js.map +1 -1
  95. package/dist/scene/terrain/quadtree.js +1 -1
  96. package/dist/scene/terrain/terrain.js +0 -8
  97. package/dist/scene/terrain/terrain.js.map +1 -1
  98. package/dist/shaders/lighting.js +14 -10
  99. package/dist/shaders/lighting.js.map +1 -1
  100. package/dist/shaders/water.js +4 -4
  101. package/dist/shadow/esm.js +0 -1
  102. package/dist/shadow/esm.js.map +1 -1
  103. package/dist/shadow/shadowmapper.js +1 -2
  104. package/dist/shadow/shadowmapper.js.map +1 -1
  105. package/dist/shadow/vsm.js +1 -2
  106. package/dist/shadow/vsm.js.map +1 -1
  107. package/dist/utility/sheenlut.js +196 -0
  108. package/dist/utility/sheenlut.js.map +1 -0
  109. package/package.json +4 -4
  110. package/dist/utility/noisetexture.js +0 -66
  111. package/dist/utility/noisetexture.js.map +0 -1
  112. package/dist/utility/textures/gradientnoise.js +0 -66
  113. package/dist/utility/textures/gradientnoise.js.map +0 -1
  114. package/dist/utility/textures/randomnoise.js +0 -41
  115. package/dist/utility/textures/randomnoise.js.map +0 -1
@@ -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 '../../../material/material.js';
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
- const rasterizerState = unlitMaterial.stateSet.useRasterizerState();
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
- const rasterizerState = pbrMaterial.stateSet.useRasterizerState();
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
- const rasterizerState = pbrMaterial.stateSet.useRasterizerState();
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}