babylon.quarks 0.26.0 → 0.27.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 (79) hide show
  1. package/CHANGELOG.md +769 -8
  2. package/README.md +10 -8
  3. package/dist/babylon.quarks.cjs +1 -1
  4. package/dist/babylon.quarks.cjs.map +1 -1
  5. package/dist/babylon.quarks.esm.js +1 -1
  6. package/dist/babylon.quarks.esm.js.map +1 -1
  7. package/dist/babylon.quarks.umd.min.js +1 -1
  8. package/dist/babylon.quarks.umd.min.js.map +1 -1
  9. package/dist/types/index.d.cts +6683 -0
  10. package/dist/types/index.d.ts +1959 -588
  11. package/package.json +12 -6
  12. package/src/BatchedRenderer.ts +204 -101
  13. package/src/EffectPool.ts +4 -1
  14. package/src/MeshSurfaceEmitter.ts +29 -4
  15. package/src/ParticleEmitter.ts +45 -15
  16. package/src/ParticleSystem.ts +909 -2061
  17. package/src/QuarksLoader.ts +421 -67
  18. package/src/QuarksPrefab.ts +91 -4
  19. package/src/QuarksSerializer.ts +484 -0
  20. package/src/QuarksUtil.ts +15 -0
  21. package/src/SpriteBatch.ts +106 -246
  22. package/src/TrailBatch.ts +533 -342
  23. package/src/VFXBatch.ts +236 -136
  24. package/src/batchKey.ts +237 -0
  25. package/src/effectResources.ts +79 -0
  26. package/src/envAtlas.ts +119 -17
  27. package/src/index.ts +32 -33
  28. package/src/nodeId.ts +13 -0
  29. package/src/shaderProgram.ts +325 -0
  30. package/src/shaderVariants.ts +225 -0
  31. package/src/shaders/chunks/fog.ts +4 -2
  32. package/src/shaders/chunks/sheet.ts +111 -0
  33. package/src/shaders/chunks/soft.ts +84 -0
  34. package/src/shaders/chunks/surface.ts +10 -0
  35. package/src/shaders/local_particle_physics_vert.glsl.ts +14 -28
  36. package/src/shaders/local_particle_physics_vert.wgsl.ts +16 -29
  37. package/src/shaders/particle_frag.glsl.ts +3 -22
  38. package/src/shaders/particle_frag.wgsl.ts +3 -23
  39. package/src/shaders/particle_physics_frag.glsl.ts +12 -25
  40. package/src/shaders/particle_physics_frag.wgsl.ts +12 -26
  41. package/src/shaders/particle_vert.glsl.ts +5 -27
  42. package/src/shaders/particle_vert.wgsl.ts +5 -26
  43. package/src/shaders/stretched_bb_particle_vert.glsl.ts +7 -33
  44. package/src/shaders/stretched_bb_particle_vert.wgsl.ts +7 -33
  45. package/src/shaders/trail_frag.glsl.ts +11 -1
  46. package/src/shaders/trail_frag.wgsl.ts +11 -0
  47. package/src/shaders/trail_vert.glsl.ts +45 -36
  48. package/src/shaders/trail_vert.wgsl.ts +46 -40
  49. package/src/softDepth.ts +136 -0
  50. package/src/system/BehaviorPlan.ts +85 -0
  51. package/src/system/BoundsTracker.ts +181 -0
  52. package/src/system/EmissionController.ts +360 -0
  53. package/src/system/EventDispatcher.ts +44 -0
  54. package/src/system/ParticleSpawner.ts +274 -0
  55. package/src/system/SimulationClock.ts +130 -0
  56. package/src/system/geometry.ts +111 -0
  57. package/src/system/integrate.ts +428 -0
  58. package/src/system/materialResolve.ts +116 -0
  59. package/src/system/normalize.ts +95 -0
  60. package/src/system/serialization.ts +401 -0
  61. package/src/system/settingsSchema.ts +317 -0
  62. package/src/system/types.ts +410 -0
  63. package/src/textureSource.ts +30 -0
  64. package/src/trailSettings.ts +51 -0
  65. package/src/BatchedParticleRenderer.ts +0 -3
  66. package/src/materials/ParticleMaterials.ts +0 -23
  67. package/src/materials/index.ts +0 -1
  68. package/src/shaders/chunks/index.ts +0 -1
  69. package/src/shaders/chunks/register-shader-chunks.ts +0 -32
  70. package/src/shaders/chunks/soft_fragment.glsl.ts +0 -13
  71. package/src/shaders/chunks/soft_pars_fragment.glsl.ts +0 -20
  72. package/src/shaders/chunks/soft_pars_vertex.glsl.ts +0 -6
  73. package/src/shaders/chunks/soft_vertex.glsl.ts +0 -6
  74. package/src/shaders/chunks/tile_fragment.glsl.ts +0 -9
  75. package/src/shaders/chunks/tile_pars_fragment.glsl.ts +0 -9
  76. package/src/shaders/chunks/tile_pars_vertex.glsl.ts +0 -28
  77. package/src/shaders/chunks/tile_vertex.glsl.ts +0 -18
  78. package/src/shaders/index.ts +0 -9
  79. package/src/shaders/local_particle_vert.glsl.ts +0 -50
@@ -1,18 +0,0 @@
1
- export default /* glsl */ `
2
- #ifdef UV_TILE
3
- mat3 tileTransform = makeTileTransform(floor(uvTile));
4
- #ifdef TILE_BLEND
5
- mat3 nextTileTransform = makeTileTransform(ceil(uvTile));
6
- vUvBlend = fract(uvTile);
7
- #endif
8
- #else
9
- mat3 tileTransform = makeTileTransform(0.0);
10
- #endif
11
-
12
- #if defined(USE_UV)
13
- vUv = (tileTransform * vec3(uv, 1.0)).xy;
14
- #if defined(TILE_BLEND) && defined(UV_TILE)
15
- vUvNext = (nextTileTransform * vec3(uv, 1.0)).xy;
16
- #endif
17
- #endif
18
- `;
@@ -1,9 +0,0 @@
1
- export * from './chunks';
2
- export {default as localParticlePhysicsVertShader} from './local_particle_physics_vert.glsl';
3
- export {default as localParticleVertShader} from './local_particle_vert.glsl';
4
- export {default as particleFragShader} from './particle_frag.glsl';
5
- export {default as particlePhysicsFragShader} from './particle_physics_frag.glsl';
6
- export {default as particleVertShader} from './particle_vert.glsl';
7
- export {default as stretchedBillboardVertShader} from './stretched_bb_particle_vert.glsl';
8
- export {default as trailFragShader} from './trail_frag.glsl';
9
- export {default as trailVertShader} from './trail_vert.glsl';
@@ -1,50 +0,0 @@
1
- export default /* glsl */ `
2
- // Per-vertex attributes
3
- attribute vec3 position;
4
- attribute vec2 uv;
5
-
6
- // Per-instance attributes
7
- attribute vec3 offset;
8
- attribute vec4 color;
9
- attribute vec3 size;
10
- attribute vec4 rotation;
11
- attribute float uvTile;
12
-
13
- // Uniforms
14
- uniform mat4 worldViewProjection;
15
-
16
- #ifdef UV_TILE
17
- uniform float tileCountX;
18
- uniform float tileCountY;
19
- #endif
20
-
21
- // Varyings
22
- varying vec2 vUV;
23
- varying vec4 vColor;
24
-
25
- vec3 applyQuaternion(vec3 v, vec4 q) {
26
- vec3 qVec = q.xyz;
27
- float qW = q.w;
28
- vec3 t = 2.0 * cross(qVec, v);
29
- return v + qW * t + cross(qVec, t);
30
- }
31
-
32
- void main() {
33
- vec3 rotatedPosition = applyQuaternion(position * size, rotation);
34
- vec3 worldPos = rotatedPosition + offset;
35
-
36
- gl_Position = worldViewProjection * vec4(worldPos, 1.0);
37
-
38
- #ifdef UV_TILE
39
- vec2 tc = vec2(tileCountX, tileCountY);
40
- float baseTile = floor(uvTile);
41
- float tileU = mod(baseTile, tc.x) / tc.x;
42
- float tileV = 1.0 - floor(baseTile / tc.x) / tc.y - 1.0 / tc.y;
43
- vUV = uv / tc + vec2(tileU, tileV);
44
- #else
45
- vUV = uv;
46
- #endif
47
-
48
- vColor = color;
49
- }
50
- `;