babylon.quarks 0.26.0 → 0.28.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/CHANGELOG.md +1194 -8
- package/README.md +13 -9
- package/dist/babylon.quarks.cjs +1 -1
- package/dist/babylon.quarks.cjs.map +1 -1
- package/dist/babylon.quarks.esm.js +1 -1
- package/dist/babylon.quarks.esm.js.map +1 -1
- package/dist/babylon.quarks.umd.min.js +1 -1
- package/dist/babylon.quarks.umd.min.js.map +1 -1
- package/dist/types/index.d.cts +10108 -0
- package/dist/types/index.d.ts +5794 -998
- package/package.json +18 -7
- package/src/BatchedRenderer.ts +274 -156
- package/src/EffectPool.ts +94 -12
- package/src/MeshSurfaceEmitter.ts +50 -14
- package/src/ParticleEmitter.ts +75 -17
- package/src/ParticleSystem.ts +981 -2066
- package/src/QuarksLoader.ts +666 -194
- package/src/QuarksPrefab.ts +367 -73
- package/src/QuarksSerializer.ts +512 -0
- package/src/QuarksUtil.ts +77 -7
- package/src/SpriteBatch.ts +127 -252
- package/src/TrailBatch.ts +545 -348
- package/src/VFXBatch.ts +238 -596
- package/src/batchKey.ts +239 -0
- package/src/batchSettings.ts +546 -0
- package/src/effectDocumentJSON.ts +261 -0
- package/src/effectResources.ts +76 -0
- package/src/envAtlas.ts +126 -18
- package/src/geometryUtil.ts +1 -1
- package/src/index.ts +69 -35
- package/src/nodeId.ts +36 -0
- package/src/shaderProgram.ts +419 -0
- package/src/shaderVariants.ts +245 -0
- package/src/shaders/chunks/blend.ts +31 -0
- package/src/shaders/chunks/fog.ts +12 -5
- package/src/shaders/chunks/sheet.ts +111 -0
- package/src/shaders/chunks/soft.ts +85 -0
- package/src/shaders/chunks/surface.ts +12 -2
- package/src/shaders/local_particle_physics_vert.glsl.ts +14 -28
- package/src/shaders/local_particle_physics_vert.wgsl.ts +16 -29
- package/src/shaders/particle_frag.glsl.ts +5 -22
- package/src/shaders/particle_frag.wgsl.ts +5 -23
- package/src/shaders/particle_physics_frag.glsl.ts +16 -26
- package/src/shaders/particle_physics_frag.wgsl.ts +14 -26
- package/src/shaders/particle_vert.glsl.ts +5 -27
- package/src/shaders/particle_vert.wgsl.ts +5 -26
- package/src/shaders/stretched_bb_particle_vert.glsl.ts +7 -33
- package/src/shaders/stretched_bb_particle_vert.wgsl.ts +7 -33
- package/src/shaders/trail_frag.glsl.ts +13 -0
- package/src/shaders/trail_frag.wgsl.ts +13 -0
- package/src/shaders/trail_vert.glsl.ts +45 -36
- package/src/shaders/trail_vert.wgsl.ts +46 -40
- package/src/softDepth.ts +136 -0
- package/src/system/BehaviorPlan.ts +85 -0
- package/src/system/BoundsTracker.ts +181 -0
- package/src/system/EmissionController.ts +358 -0
- package/src/system/EventDispatcher.ts +60 -0
- package/src/system/ParticleSpawner.ts +274 -0
- package/src/system/SimulationClock.ts +130 -0
- package/src/system/geometry.ts +104 -0
- package/src/system/integrate.ts +428 -0
- package/src/system/materialResolve.ts +165 -0
- package/src/system/normalize.ts +100 -0
- package/src/system/serialization.ts +422 -0
- package/src/system/settingsSchema.ts +339 -0
- package/src/system/types.ts +449 -0
- package/src/textureSource.ts +30 -0
- package/src/trailSettings.ts +54 -0
- package/src/BatchedParticleRenderer.ts +0 -3
- package/src/materials/ParticleMaterials.ts +0 -23
- package/src/materials/index.ts +0 -1
- package/src/shaders/chunks/index.ts +0 -1
- package/src/shaders/chunks/register-shader-chunks.ts +0 -32
- package/src/shaders/chunks/soft_fragment.glsl.ts +0 -13
- package/src/shaders/chunks/soft_pars_fragment.glsl.ts +0 -20
- package/src/shaders/chunks/soft_pars_vertex.glsl.ts +0 -6
- package/src/shaders/chunks/soft_vertex.glsl.ts +0 -6
- package/src/shaders/chunks/tile_fragment.glsl.ts +0 -9
- package/src/shaders/chunks/tile_pars_fragment.glsl.ts +0 -9
- package/src/shaders/chunks/tile_pars_vertex.glsl.ts +0 -28
- package/src/shaders/chunks/tile_vertex.glsl.ts +0 -18
- package/src/shaders/index.ts +0 -9
- package/src/shaders/local_particle_vert.glsl.ts +0 -50
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export default /* glsl */ `
|
|
2
|
-
#ifdef UV_TILE
|
|
3
|
-
attribute float uvTile;
|
|
4
|
-
uniform vec2 tileCount;
|
|
5
|
-
|
|
6
|
-
mat3 makeTileTransform(float tileIndex) {
|
|
7
|
-
float col = mod(tileIndex, tileCount.x);
|
|
8
|
-
float row = (tileCount.y - floor(tileIndex / tileCount.x) - 1.0);
|
|
9
|
-
return mat3(
|
|
10
|
-
1.0 / tileCount.x, 0.0, 0.0,
|
|
11
|
-
0.0, 1.0 / tileCount.y, 0.0,
|
|
12
|
-
col / tileCount.x, row / tileCount.y, 1.0
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
#else
|
|
16
|
-
mat3 makeTileTransform(float tileIndex) {
|
|
17
|
-
return mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0);
|
|
18
|
-
}
|
|
19
|
-
#endif
|
|
20
|
-
|
|
21
|
-
#if defined(USE_UV)
|
|
22
|
-
varying vec2 vUv;
|
|
23
|
-
#ifdef TILE_BLEND
|
|
24
|
-
varying vec2 vUvNext;
|
|
25
|
-
varying float vUvBlend;
|
|
26
|
-
#endif
|
|
27
|
-
#endif
|
|
28
|
-
`;
|
|
@@ -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
|
-
`;
|
package/src/shaders/index.ts
DELETED
|
@@ -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
|
-
`;
|