@zephyr3d/scene 0.4.0 → 0.6.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 (233) hide show
  1. package/dist/animation/animation.js +25 -117
  2. package/dist/animation/animation.js.map +1 -1
  3. package/dist/animation/animationset.js +191 -51
  4. package/dist/animation/animationset.js.map +1 -1
  5. package/dist/animation/animationtrack.js +6 -18
  6. package/dist/animation/animationtrack.js.map +1 -1
  7. package/dist/animation/eulerrotationtrack.js +16 -6
  8. package/dist/animation/eulerrotationtrack.js.map +1 -1
  9. package/dist/animation/morphtarget.js +104 -0
  10. package/dist/animation/morphtarget.js.map +1 -0
  11. package/dist/animation/morphtrack.js +70 -0
  12. package/dist/animation/morphtrack.js.map +1 -0
  13. package/dist/animation/rotationtrack.js +15 -7
  14. package/dist/animation/rotationtrack.js.map +1 -1
  15. package/dist/animation/scaletrack.js +15 -7
  16. package/dist/animation/scaletrack.js.map +1 -1
  17. package/dist/animation/skeleton.js +107 -5
  18. package/dist/animation/skeleton.js.map +1 -1
  19. package/dist/animation/translationtrack.js +15 -7
  20. package/dist/animation/translationtrack.js.map +1 -1
  21. package/dist/app.js +4 -26
  22. package/dist/app.js.map +1 -1
  23. package/dist/asset/assetmanager.js +60 -109
  24. package/dist/asset/assetmanager.js.map +1 -1
  25. package/dist/asset/loaders/dds/dds.js +77 -3
  26. package/dist/asset/loaders/dds/dds.js.map +1 -1
  27. package/dist/asset/loaders/dds/dds_loader.js +1 -1
  28. package/dist/asset/loaders/gltf/gltf_loader.js +287 -40
  29. package/dist/asset/loaders/gltf/gltf_loader.js.map +1 -1
  30. package/dist/asset/loaders/image/tga_Loader.js +1 -1
  31. package/dist/asset/loaders/image/webimage_loader.js +16 -0
  32. package/dist/asset/loaders/image/webimage_loader.js.map +1 -1
  33. package/dist/asset/model.js +16 -9
  34. package/dist/asset/model.js.map +1 -1
  35. package/dist/blitter/bilateralblur.js +222 -0
  36. package/dist/{render/temporalcache.js.map → blitter/bilateralblur.js.map} +1 -1
  37. package/dist/blitter/blitter.js +9 -3
  38. package/dist/blitter/blitter.js.map +1 -1
  39. package/dist/blitter/depthlimitedgaussion.js +96 -39
  40. package/dist/blitter/depthlimitedgaussion.js.map +1 -1
  41. package/dist/blitter/gaussianblur.js +21 -21
  42. package/dist/camera/camera.js +200 -4
  43. package/dist/camera/camera.js.map +1 -1
  44. package/dist/index.d.ts +6406 -5786
  45. package/dist/index.js +12 -10
  46. package/dist/index.js.map +1 -1
  47. package/dist/material/blinn.js +15 -4
  48. package/dist/material/blinn.js.map +1 -1
  49. package/dist/material/lambert.js +26 -17
  50. package/dist/material/lambert.js.map +1 -1
  51. package/dist/material/material.js +13 -2
  52. package/dist/material/material.js.map +1 -1
  53. package/dist/material/meshmaterial.js +103 -31
  54. package/dist/material/meshmaterial.js.map +1 -1
  55. package/dist/material/mixins/albedocolor.js +5 -4
  56. package/dist/material/mixins/albedocolor.js.map +1 -1
  57. package/dist/material/mixins/lightmodel/blinnphong.js +17 -7
  58. package/dist/material/mixins/lightmodel/blinnphong.js.map +1 -1
  59. package/dist/material/mixins/lightmodel/lambert.js +5 -5
  60. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +16 -7
  61. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
  62. package/dist/material/mixins/lightmodel/pbrspecularglossness.js +16 -7
  63. package/dist/material/mixins/lightmodel/pbrspecularglossness.js.map +1 -1
  64. package/dist/material/mixins/lit.js +2 -2
  65. package/dist/material/mixins/pbr/common.js +454 -19
  66. package/dist/material/mixins/pbr/common.js.map +1 -1
  67. package/dist/material/pbrmr.js +28 -6
  68. package/dist/material/pbrmr.js.map +1 -1
  69. package/dist/material/pbrsg.js +27 -9
  70. package/dist/material/pbrsg.js.map +1 -1
  71. package/dist/material/shader/helper.js +128 -23
  72. package/dist/material/shader/helper.js.map +1 -1
  73. package/dist/material/unlit.js +8 -4
  74. package/dist/material/unlit.js.map +1 -1
  75. package/dist/posteffect/bloom.js +34 -53
  76. package/dist/posteffect/bloom.js.map +1 -1
  77. package/dist/posteffect/compositor.js +48 -58
  78. package/dist/posteffect/compositor.js.map +1 -1
  79. package/dist/posteffect/fxaa.js +3 -11
  80. package/dist/posteffect/fxaa.js.map +1 -1
  81. package/dist/posteffect/grayscale.js +3 -11
  82. package/dist/posteffect/grayscale.js.map +1 -1
  83. package/dist/posteffect/posteffect.js +4 -0
  84. package/dist/posteffect/posteffect.js.map +1 -1
  85. package/dist/posteffect/sao.js +55 -48
  86. package/dist/posteffect/sao.js.map +1 -1
  87. package/dist/posteffect/ssr.js +536 -0
  88. package/dist/{material/lit.js.map → posteffect/ssr.js.map} +1 -1
  89. package/dist/posteffect/tonemap.js +3 -11
  90. package/dist/posteffect/tonemap.js.map +1 -1
  91. package/dist/posteffect/water.js +306 -340
  92. package/dist/posteffect/water.js.map +1 -1
  93. package/dist/render/abuffer_oit.js +2 -2
  94. package/dist/render/clipmap.js +16 -19
  95. package/dist/render/clipmap.js.map +1 -1
  96. package/dist/render/cull_visitor.js +8 -6
  97. package/dist/render/cull_visitor.js.map +1 -1
  98. package/dist/render/depthpass.js +30 -14
  99. package/dist/render/depthpass.js.map +1 -1
  100. package/dist/render/drawable_mixin.js +70 -22
  101. package/dist/render/drawable_mixin.js.map +1 -1
  102. package/dist/render/envlight.js +169 -33
  103. package/dist/render/envlight.js.map +1 -1
  104. package/dist/render/fft_wavegenerator.js +989 -0
  105. package/dist/{shaders/framework.js.map → render/fft_wavegenerator.js.map} +1 -1
  106. package/dist/render/gerstner_wavegenerator.js +265 -0
  107. package/dist/{material/standard.js.map → render/gerstner_wavegenerator.js.map} +1 -1
  108. package/dist/render/globalbindgroup_allocator.js +2 -1
  109. package/dist/render/globalbindgroup_allocator.js.map +1 -1
  110. package/dist/render/hzb.js +273 -0
  111. package/dist/{material/terrainlightmodel.js.map → render/hzb.js.map} +1 -1
  112. package/dist/render/lightpass.js +68 -28
  113. package/dist/render/lightpass.js.map +1 -1
  114. package/dist/render/objectcolorpass.js +51 -0
  115. package/dist/render/objectcolorpass.js.map +1 -0
  116. package/dist/render/render_queue.js +211 -158
  117. package/dist/render/render_queue.js.map +1 -1
  118. package/dist/render/renderbundle_wrapper.js +79 -0
  119. package/dist/render/renderbundle_wrapper.js.map +1 -1
  120. package/dist/render/renderer.js +151 -35
  121. package/dist/render/renderer.js.map +1 -1
  122. package/dist/render/renderpass.js +27 -20
  123. package/dist/render/renderpass.js.map +1 -1
  124. package/dist/render/shadowmap_pass.js +20 -14
  125. package/dist/render/shadowmap_pass.js.map +1 -1
  126. package/dist/render/sky.js +12 -13
  127. package/dist/render/sky.js.map +1 -1
  128. package/dist/render/watermesh.js +94 -828
  129. package/dist/render/watermesh.js.map +1 -1
  130. package/dist/render/wavegenerator.js +8 -0
  131. package/dist/render/wavegenerator.js.map +1 -0
  132. package/dist/render/weightedblended_oit.js +11 -28
  133. package/dist/render/weightedblended_oit.js.map +1 -1
  134. package/dist/scene/batchgroup.js +60 -14
  135. package/dist/scene/batchgroup.js.map +1 -1
  136. package/dist/scene/environment.js +24 -3
  137. package/dist/scene/environment.js.map +1 -1
  138. package/dist/scene/graph_node.js +0 -14
  139. package/dist/scene/graph_node.js.map +1 -1
  140. package/dist/scene/light.js +5 -5
  141. package/dist/scene/mesh.js +62 -15
  142. package/dist/scene/mesh.js.map +1 -1
  143. package/dist/scene/octree.js +5 -2
  144. package/dist/scene/octree.js.map +1 -1
  145. package/dist/scene/raycast_visitor.js +4 -2
  146. package/dist/scene/raycast_visitor.js.map +1 -1
  147. package/dist/scene/scene.js +6 -9
  148. package/dist/scene/scene.js.map +1 -1
  149. package/dist/scene/scene_node.js +11 -8
  150. package/dist/scene/scene_node.js.map +1 -1
  151. package/dist/scene/terrain/grass.js +10 -2
  152. package/dist/scene/terrain/grass.js.map +1 -1
  153. package/dist/scene/terrain/heightfield.js +135 -53
  154. package/dist/scene/terrain/heightfield.js.map +1 -1
  155. package/dist/scene/terrain/patch.js +10 -2
  156. package/dist/scene/terrain/patch.js.map +1 -1
  157. package/dist/scene/terrain/quadtree.js +2 -2
  158. package/dist/scene/terrain/terrain.js +1 -1
  159. package/dist/scene/xform.js +7 -9
  160. package/dist/scene/xform.js.map +1 -1
  161. package/dist/shaders/misc.js +10 -1
  162. package/dist/shaders/misc.js.map +1 -1
  163. package/dist/shaders/noise.js +81 -16
  164. package/dist/shaders/noise.js.map +1 -1
  165. package/dist/shaders/shadow.js +1 -9
  166. package/dist/shaders/shadow.js.map +1 -1
  167. package/dist/shaders/ssr.js +442 -0
  168. package/dist/{material/terrainmat.js.map → shaders/ssr.js.map} +1 -1
  169. package/dist/shaders/water.js +377 -250
  170. package/dist/shaders/water.js.map +1 -1
  171. package/dist/shadow/esm.js +4 -22
  172. package/dist/shadow/esm.js.map +1 -1
  173. package/dist/shadow/shadowmapper.js +56 -31
  174. package/dist/shadow/shadowmapper.js.map +1 -1
  175. package/dist/shadow/vsm.js +4 -24
  176. package/dist/shadow/vsm.js.map +1 -1
  177. package/dist/shapes/cylinder.js +6 -5
  178. package/dist/shapes/cylinder.js.map +1 -1
  179. package/dist/utility/bounding_volume.js +1 -53
  180. package/dist/utility/bounding_volume.js.map +1 -1
  181. package/dist/utility/draco/decoder.js +116 -0
  182. package/dist/utility/draco/decoder.js.map +1 -0
  183. package/dist/utility/misc.js +93 -0
  184. package/dist/utility/misc.js.map +1 -0
  185. package/dist/utility/shprojection.js +2 -7
  186. package/dist/utility/shprojection.js.map +1 -1
  187. package/dist/utility/textures/ggxlut.js +213 -0
  188. package/dist/utility/textures/ggxlut.js.map +1 -0
  189. package/dist/utility/textures/gradientnoise.js +61 -0
  190. package/dist/utility/textures/gradientnoise.js.map +1 -0
  191. package/dist/utility/textures/randomnoise.js +41 -0
  192. package/dist/utility/textures/randomnoise.js.map +1 -0
  193. package/dist/values.js +25 -1
  194. package/dist/values.js.map +1 -1
  195. package/package.json +5 -8
  196. package/dist/animation/usertrack.js +0 -47
  197. package/dist/animation/usertrack.js.map +0 -1
  198. package/dist/material/grassmat.js +0 -127
  199. package/dist/material/grassmat.js.map +0 -1
  200. package/dist/material/lightmodel.js +0 -2074
  201. package/dist/material/lightmodel.js.map +0 -1
  202. package/dist/material/lit.js +0 -578
  203. package/dist/material/mixins/pbr/metallicroughness.js +0 -126
  204. package/dist/material/mixins/pbr/metallicroughness.js.map +0 -1
  205. package/dist/material/mixins/pbr/specularglossness.js +0 -104
  206. package/dist/material/mixins/pbr/specularglossness.js.map +0 -1
  207. package/dist/material/pbr.js +0 -27
  208. package/dist/material/pbr.js.map +0 -1
  209. package/dist/material/standard.js +0 -282
  210. package/dist/material/terrainlightmodel.js +0 -259
  211. package/dist/material/terrainmat.js +0 -357
  212. package/dist/render/depth_pass.js +0 -47
  213. package/dist/render/depth_pass.js.map +0 -1
  214. package/dist/render/forward.js +0 -186
  215. package/dist/render/forward.js.map +0 -1
  216. package/dist/render/forward_pass.js +0 -137
  217. package/dist/render/forward_pass.js.map +0 -1
  218. package/dist/render/helper.js +0 -38
  219. package/dist/render/helper.js.map +0 -1
  220. package/dist/render/renderscheme.js +0 -61
  221. package/dist/render/renderscheme.js.map +0 -1
  222. package/dist/render/temporalcache.js +0 -222
  223. package/dist/scene/model.js +0 -111
  224. package/dist/scene/model.js.map +0 -1
  225. package/dist/scene/octree_update_visitor.js +0 -20
  226. package/dist/scene/octree_update_visitor.js.map +0 -1
  227. package/dist/shaders/builtins.js +0 -110
  228. package/dist/shaders/builtins.js.map +0 -1
  229. package/dist/shaders/framework.js +0 -723
  230. package/dist/shaders/lighting.js +0 -335
  231. package/dist/shaders/lighting.js.map +0 -1
  232. package/dist/utility/sheenlut.js +0 -196
  233. package/dist/utility/sheenlut.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { RenderPass } from './renderpass.js';
2
- import { RENDER_PASS_TYPE_LIGHT, QUEUE_OPAQUE, QUEUE_TRANSPARENT } from '../values.js';
2
+ import { RENDER_PASS_TYPE_LIGHT, MaterialVaryingFlags, QUEUE_OPAQUE, QUEUE_TRANSPARENT } from '../values.js';
3
3
  import { Vector4 } from '@zephyr3d/base';
4
4
  import { ShaderHelper } from '../material/shader/helper.js';
5
5
 
@@ -8,14 +8,21 @@ import { ShaderHelper } from '../material/shader/helper.js';
8
8
  * @internal
9
9
  */ class LightPass extends RenderPass {
10
10
  /** @internal */ _shadowMapHash;
11
+ /** @internal */ _transmission;
11
12
  /**
12
13
  * Creates an instance of ForwardRenderPass
13
14
  */ constructor(){
14
15
  super(RENDER_PASS_TYPE_LIGHT);
15
16
  this._shadowMapHash = null;
16
17
  }
18
+ /** @internal */ get transmission() {
19
+ return this._transmission;
20
+ }
21
+ set transmission(val) {
22
+ this._transmission = val;
23
+ }
17
24
  /** @internal */ _getGlobalBindGroupHash(ctx) {
18
- return `lp:${this._shadowMapHash}:${ctx.linearDepthTexture?.uid ?? ''}:${ctx.oit?.calculateHash() ?? ''}:${ctx.env.getHash(ctx)}`;
25
+ return `lp:${this._shadowMapHash}:${ctx.oit?.calculateHash() ?? ''}:${ctx.env.getHash(ctx)}`;
19
26
  }
20
27
  /** @internal */ renderLightPass(ctx, itemList, lights, flags) {
21
28
  const baseLightPass = !ctx.lightBlending;
@@ -55,8 +62,10 @@ import { ShaderHelper } from '../material/shader/helper.js';
55
62
  ctx.env = ctx.scene.env;
56
63
  ctx.drawEnvLight = false;
57
64
  ctx.flip = this.isAutoFlip(ctx);
58
- const oit = ctx.primaryCamera.oit && ctx.primaryCamera.oit.supportDevice(ctx.device.type) ? ctx.primaryCamera.oit : null;
59
- if (!oit) {
65
+ const ssr = !!(ctx.materialFlags & MaterialVaryingFlags.SSR_STORE_ROUGHNESS);
66
+ const tmpFramebuffer = ssr ? ctx.device.pool.fetchTemporalFramebuffer(false, ctx.device.getDrawingBufferWidth(), ctx.device.getDrawingBufferHeight(), ctx.device.getFramebuffer().getColorAttachments()[0], ctx.device.getFramebuffer().getDepthAttachment()) : null;
67
+ const oit = renderQueue.drawTransparent && ctx.primaryCamera.oit && ctx.primaryCamera.oit.supportDevice(ctx.device.type) ? ctx.primaryCamera.oit : null;
68
+ if (!oit && renderQueue.drawTransparent) {
60
69
  renderQueue.sortTransparentItems(ctx.primaryCamera.getWorldPosition());
61
70
  }
62
71
  const flags = {
@@ -64,24 +73,27 @@ import { ShaderHelper } from '../material/shader/helper.js';
64
73
  cameraSet: {},
65
74
  fogSet: {}
66
75
  };
67
- const orders = Object.keys(renderQueue.items).map((val)=>Number(val)).sort((a, b)=>a - b);
76
+ const items = renderQueue.itemList;
77
+ const lists = this._transmission ? [
78
+ items?.transmission,
79
+ items?.transmission_trans,
80
+ items?.transparent
81
+ ] : [
82
+ items?.opaque,
83
+ items?.transparent
84
+ ];
68
85
  for(let i = 0; i < 2; i++){
69
- ctx.applyFog = i === 1 && ctx.env.sky.fogType !== 'none' ? ctx.env.sky.fogType : null;
70
- ctx.queue = i === 0 ? QUEUE_OPAQUE : QUEUE_TRANSPARENT;
71
- ctx.oit = i === 0 ? null : oit;
72
- const numOitPasses = ctx.oit ? ctx.oit.begin(ctx) : 1;
73
- for(let p = 0; p < numOitPasses; p++){
74
- if (ctx.oit) {
75
- if (!ctx.oit.beginPass(ctx, p)) {
76
- continue;
86
+ if (lists[i]) {
87
+ ctx.applyFog = i === 1 && ctx.env.sky.fogType !== 'none' ? ctx.env.sky.fogType : null;
88
+ ctx.queue = i === 0 ? QUEUE_OPAQUE : QUEUE_TRANSPARENT;
89
+ ctx.oit = i === 0 || !items ? null : oit;
90
+ const numOitPasses = ctx.oit ? ctx.oit.begin(ctx) : 1;
91
+ for(let p = 0; p < numOitPasses; p++){
92
+ if (ctx.oit) {
93
+ if (!ctx.oit.beginPass(ctx, p)) {
94
+ continue;
95
+ }
77
96
  }
78
- }
79
- for (const order of orders){
80
- const items = renderQueue.items[order];
81
- const lists = [
82
- items.opaque,
83
- items.transparent
84
- ];
85
97
  let lightIndex = 0;
86
98
  if (ctx.shadowMapInfo) {
87
99
  for (const k of ctx.shadowMapInfo.keys()){
@@ -98,25 +110,53 @@ import { ShaderHelper } from '../material/shader/helper.js';
98
110
  ctx.currentShadowLight = null;
99
111
  ctx.lightBlending = lightIndex > 0;
100
112
  this._shadowMapHash = '';
113
+ if (ctx.lightBlending && tmpFramebuffer) {
114
+ ctx.materialFlags &= ~MaterialVaryingFlags.SSR_STORE_ROUGHNESS;
115
+ ctx.device.pushDeviceStates();
116
+ ctx.device.setFramebuffer(tmpFramebuffer);
117
+ }
101
118
  this.renderLightPass(ctx, lists[i], renderQueue.unshadowedLights, flags);
119
+ if (ctx.lightBlending && tmpFramebuffer) {
120
+ ctx.materialFlags |= MaterialVaryingFlags.SSR_STORE_ROUGHNESS;
121
+ ctx.device.popDeviceStates();
122
+ }
123
+ }
124
+ if (ctx.oit) {
125
+ ctx.oit.endPass(ctx, p);
102
126
  }
103
127
  }
104
128
  if (ctx.oit) {
105
- ctx.oit.endPass(ctx, p);
129
+ ctx.oit.end(ctx);
106
130
  }
107
131
  }
108
- if (ctx.oit) {
109
- ctx.oit.end(ctx);
110
- }
111
- if (i === 0) {
132
+ if (i === 0 && !ctx.sceneColorTexture) {
133
+ if (tmpFramebuffer) {
134
+ ctx.device.pushDeviceStates();
135
+ ctx.device.setFramebuffer(tmpFramebuffer);
136
+ }
112
137
  ctx.env.sky.skyWorldMatrix = ctx.scene.rootNode.worldMatrix;
113
138
  ctx.env.sky.renderSky(ctx);
139
+ if (tmpFramebuffer) {
140
+ ctx.device.popDeviceStates();
141
+ }
114
142
  }
115
- ctx.compositor?.drawPostEffects(ctx, i === 0, ctx.linearDepthTexture);
116
- if (i === 0) {
117
- ctx.env.sky.renderFog(ctx);
143
+ if (!renderQueue.needSceneColor || ctx.sceneColorTexture) {
144
+ if (i === 0) {
145
+ if (tmpFramebuffer) {
146
+ ctx.device.pushDeviceStates();
147
+ ctx.device.setFramebuffer(tmpFramebuffer);
148
+ }
149
+ ctx.env.sky.renderFog(ctx);
150
+ if (tmpFramebuffer) {
151
+ ctx.device.popDeviceStates();
152
+ }
153
+ }
154
+ ctx.compositor?.drawPostEffects(ctx, i === 0, ctx.linearDepthTexture);
118
155
  }
119
156
  }
157
+ if (tmpFramebuffer) {
158
+ ctx.device.pool.releaseFrameBuffer(tmpFramebuffer);
159
+ }
120
160
  }
121
161
  }
122
162
 
@@ -1 +1 @@
1
- {"version":3,"file":"lightpass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"lightpass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,51 @@
1
+ import { RenderPass } from './renderpass.js';
2
+ import { RENDER_PASS_TYPE_OBJECT_COLOR } from '../values.js';
3
+ import { ShaderHelper } from '../material/shader/helper.js';
4
+
5
+ /**
6
+ * Object color render pass
7
+ * @internal
8
+ */ class ObjectColorPass extends RenderPass {
9
+ /**
10
+ * Creates an instance of ForwardRenderPass
11
+ */ constructor(){
12
+ super(RENDER_PASS_TYPE_OBJECT_COLOR);
13
+ }
14
+ /** @internal */ _getGlobalBindGroupHash(ctx) {
15
+ return 'ocp';
16
+ }
17
+ /** @internal */ renderItems(ctx, renderQueue) {
18
+ const items = renderQueue.itemList;
19
+ if (items) {
20
+ ctx.applyFog = null;
21
+ ctx.drawEnvLight = false;
22
+ ctx.env = null;
23
+ ctx.picking = true;
24
+ ctx.flip = this.isAutoFlip(ctx);
25
+ ctx.renderPassHash = this.getGlobalBindGroupHash(ctx);
26
+ const bindGroup = ctx.globalBindGroupAllocator.getGlobalBindGroup(ctx);
27
+ ctx.device.setBindGroup(0, bindGroup);
28
+ ShaderHelper.setCameraUniforms(bindGroup, ctx.camera, ctx.flip, true);
29
+ const reverseWinding = ctx.camera.worldMatrixDet < 0;
30
+ for (const list of [
31
+ items.opaque,
32
+ items.transmission,
33
+ items.transparent,
34
+ items.transmission_trans
35
+ ]){
36
+ if (list) {
37
+ for (const lit of list.lit){
38
+ this.drawItemList(lit, ctx, reverseWinding);
39
+ }
40
+ for (const unlit of list.unlit){
41
+ this.drawItemList(unlit, ctx, reverseWinding);
42
+ }
43
+ }
44
+ }
45
+ ctx.picking = false;
46
+ }
47
+ }
48
+ }
49
+
50
+ export { ObjectColorPass };
51
+ //# sourceMappingURL=objectcolorpass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectcolorpass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}