melonjs 19.9.1 → 20.0.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/README.md +25 -14
- package/build/application/application.d.ts +70 -16
- package/build/application/application.d.ts.map +1 -1
- package/build/application/defaultApplicationSettings.d.ts +2 -2
- package/build/application/settings.d.ts +150 -53
- package/build/application/settings.d.ts.map +1 -1
- package/build/camera/camera2d.d.ts +1 -1
- package/build/camera/camera2d.d.ts.map +1 -1
- package/build/camera/camera3d.d.ts +13 -11
- package/build/camera/camera3d.d.ts.map +1 -1
- package/build/const.d.ts +55 -26
- package/build/const.d.ts.map +1 -1
- package/build/geometries/box3d.d.ts +156 -0
- package/build/geometries/box3d.d.ts.map +1 -0
- package/build/index.d.ts +33 -23
- package/build/index.d.ts.map +1 -1
- package/build/index.js +21839 -8025
- package/build/index.js.map +4 -4
- package/build/lang/deprecated.d.ts +4 -4
- package/build/lang/deprecated.d.ts.map +1 -1
- package/build/level/gltf/GLTFModel.d.ts +4 -0
- package/build/level/gltf/GLTFModel.d.ts.map +1 -1
- package/build/level/gltf/GLTFScene.d.ts +42 -6
- package/build/level/gltf/GLTFScene.d.ts.map +1 -1
- package/build/level/gltf/srgb.d.ts +20 -0
- package/build/level/gltf/srgb.d.ts.map +1 -0
- package/build/level/level.d.ts +21 -2
- package/build/level/level.d.ts.map +1 -1
- package/build/lighting/light3d.d.ts +61 -13
- package/build/lighting/light3d.d.ts.map +1 -1
- package/build/loader/loader.d.ts +49 -21
- package/build/loader/loader.d.ts.map +1 -1
- package/build/loader/parsers/gltf.d.ts.map +1 -1
- package/build/loader/parsers/mtl.d.ts +18 -0
- package/build/loader/parsers/mtl.d.ts.map +1 -1
- package/build/loader/parsers/obj.d.ts +49 -0
- package/build/loader/parsers/obj.d.ts.map +1 -1
- package/build/loader/parsers/pbr.d.ts +63 -0
- package/build/loader/parsers/pbr.d.ts.map +1 -0
- package/build/loader/parsers/shader.d.ts +32 -24
- package/build/loader/parsers/shader.d.ts.map +1 -1
- package/build/physics/adapter.d.ts +12 -1
- package/build/physics/adapter.d.ts.map +1 -1
- package/build/physics/broadphase/octree.d.ts +35 -0
- package/build/physics/broadphase/octree.d.ts.map +1 -1
- package/build/physics/builtin/body.d.ts +123 -6
- package/build/physics/builtin/body.d.ts.map +1 -1
- package/build/physics/builtin/builtin-adapter.d.ts.map +1 -1
- package/build/physics/builtin/detector.d.ts +12 -0
- package/build/physics/builtin/detector.d.ts.map +1 -1
- package/build/physics/builtin/raycast.d.ts.map +1 -1
- package/build/physics/builtin/sat3d.d.ts +59 -0
- package/build/physics/builtin/sat3d.d.ts.map +1 -0
- package/build/physics/response.d.ts +32 -0
- package/build/physics/response.d.ts.map +1 -1
- package/build/physics/world.d.ts +1 -0
- package/build/physics/world.d.ts.map +1 -1
- package/build/renderable/container.d.ts +1 -0
- package/build/renderable/container.d.ts.map +1 -1
- package/build/renderable/groundshadow.d.ts +92 -0
- package/build/renderable/groundshadow.d.ts.map +1 -0
- package/build/renderable/instanced_mesh.d.ts +286 -0
- package/build/renderable/instanced_mesh.d.ts.map +1 -0
- package/build/renderable/mesh.d.ts +242 -23
- package/build/renderable/mesh.d.ts.map +1 -1
- package/build/renderable/renderable.d.ts +6 -4
- package/build/renderable/renderable.d.ts.map +1 -1
- package/build/renderable/sprite3d.d.ts +17 -6
- package/build/renderable/sprite3d.d.ts.map +1 -1
- package/build/renderable/text/text.d.ts.map +1 -1
- package/build/system/device.d.ts +11 -40
- package/build/system/device.d.ts.map +1 -1
- package/build/system/platform.d.ts +0 -16
- package/build/system/platform.d.ts.map +1 -1
- package/build/utils/utils.d.ts +2 -0
- package/build/utils/utils.d.ts.map +1 -1
- package/build/video/canvas/canvas_renderer.d.ts +22 -16
- package/build/video/canvas/canvas_renderer.d.ts.map +1 -1
- package/build/video/{webgl/effects → effects}/blur.d.ts +2 -2
- package/build/video/effects/blur.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/chromaticAberration.d.ts +2 -2
- package/build/video/effects/chromaticAberration.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/colorMatrix.d.ts +3 -3
- package/build/video/effects/colorMatrix.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/desaturate.d.ts +1 -1
- package/build/video/effects/desaturate.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/dissolve.d.ts +2 -2
- package/build/video/effects/dissolve.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/dropShadow.d.ts +2 -2
- package/build/video/effects/dropShadow.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/flash.d.ts +2 -2
- package/build/video/effects/flash.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/glow.d.ts +2 -2
- package/build/video/effects/glow.d.ts.map +1 -0
- package/build/video/effects/glsl_realization.d.ts +18 -0
- package/build/video/effects/glsl_realization.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/hologram.d.ts +2 -2
- package/build/video/effects/hologram.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/invert.d.ts +1 -1
- package/build/video/effects/invert.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/outline.d.ts +2 -2
- package/build/video/effects/outline.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/pixelate.d.ts +2 -2
- package/build/video/effects/pixelate.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/radialGradient.d.ts +3 -4
- package/build/video/effects/radialGradient.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/scanline.d.ts +2 -2
- package/build/video/effects/scanline.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/sepia.d.ts +1 -1
- package/build/video/effects/sepia.d.ts.map +1 -0
- package/build/video/{webgl → effects}/shadereffect.d.ts +133 -25
- package/build/video/effects/shadereffect.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/shine.d.ts +2 -2
- package/build/video/effects/shine.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/tintPulse.d.ts +2 -2
- package/build/video/effects/tintPulse.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/vignette.d.ts +2 -2
- package/build/video/effects/vignette.d.ts.map +1 -0
- package/build/video/{webgl/effects → effects}/wave.d.ts +2 -2
- package/build/video/effects/wave.d.ts.map +1 -0
- package/build/video/effects/wgsl/layout.d.ts +28 -0
- package/build/video/effects/wgsl/layout.d.ts.map +1 -0
- package/build/video/effects/wgsl/parse.d.ts +9 -0
- package/build/video/effects/wgsl/parse.d.ts.map +1 -0
- package/build/video/effects/wgsl/scaffold.d.ts +43 -0
- package/build/video/effects/wgsl/scaffold.d.ts.map +1 -0
- package/build/video/effects/wgsl_realization.d.ts +83 -0
- package/build/video/effects/wgsl_realization.d.ts.map +1 -0
- package/build/video/gpu/batcher.d.ts +71 -0
- package/build/video/gpu/batcher.d.ts.map +1 -0
- package/build/video/gpu/instancerecord.d.ts +164 -0
- package/build/video/gpu/instancerecord.d.ts.map +1 -0
- package/build/video/gpu/meshchunk.d.ts +49 -0
- package/build/video/gpu/meshchunk.d.ts.map +1 -0
- package/build/video/gpu/meshvertex.d.ts +54 -0
- package/build/video/gpu/meshvertex.d.ts.map +1 -0
- package/build/video/gpu/primitives.d.ts +60 -0
- package/build/video/gpu/primitives.d.ts.map +1 -0
- package/build/video/gpu/quadcorners.d.ts +11 -0
- package/build/video/gpu/quadcorners.d.ts.map +1 -0
- package/build/video/gpu/textureslots.d.ts +122 -0
- package/build/video/gpu/textureslots.d.ts.map +1 -0
- package/build/video/gpu/texturestore.d.ts +139 -0
- package/build/video/gpu/texturestore.d.ts.map +1 -0
- package/build/video/gpu/topology.d.ts +43 -0
- package/build/video/gpu/topology.d.ts.map +1 -0
- package/build/video/gpu/vertexformat.d.ts +72 -0
- package/build/video/gpu/vertexformat.d.ts.map +1 -0
- package/build/video/gradient.d.ts +14 -5
- package/build/video/gradient.d.ts.map +1 -1
- package/build/video/renderer.d.ts +153 -8
- package/build/video/renderer.d.ts.map +1 -1
- package/build/video/rendertarget/canvasrendertarget.d.ts +7 -6
- package/build/video/rendertarget/canvasrendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/render_target_pool.d.ts +2 -2
- package/build/video/rendertarget/render_target_pool.d.ts.map +1 -1
- package/build/video/rendertarget/webglrendertarget.d.ts +38 -2
- package/build/video/rendertarget/webglrendertarget.d.ts.map +1 -1
- package/build/video/rendertarget/webgpurendertarget.d.ts +83 -0
- package/build/video/rendertarget/webgpurendertarget.d.ts.map +1 -0
- package/build/video/texture/atlas.d.ts.map +1 -1
- package/build/video/texture/cache.d.ts +20 -2
- package/build/video/texture/cache.d.ts.map +1 -1
- package/build/video/texture/noise_texture2d.d.ts +2 -2
- package/build/video/utils/autodetect.d.ts.map +1 -1
- package/build/video/video.d.ts +1 -55
- package/build/video/video.d.ts.map +1 -1
- package/build/video/webgl/batchers/batcher.d.ts +132 -35
- package/build/video/webgl/batchers/batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts +14 -0
- package/build/video/webgl/batchers/lit_mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts +63 -36
- package/build/video/webgl/batchers/lit_quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/material_batcher.d.ts +29 -20
- package/build/video/webgl/batchers/material_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/mesh_batcher.d.ts +308 -14
- package/build/video/webgl/batchers/mesh_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/primitive_batcher.d.ts +2 -2
- package/build/video/webgl/batchers/primitive_batcher.d.ts.map +1 -1
- package/build/video/webgl/batchers/quad_batcher.d.ts +0 -2
- package/build/video/webgl/batchers/quad_batcher.d.ts.map +1 -1
- package/build/video/webgl/buffer/index.d.ts +1 -1
- package/build/video/webgl/buffer/instance_buffer.d.ts +54 -0
- package/build/video/webgl/buffer/instance_buffer.d.ts.map +1 -0
- package/build/video/webgl/buffer/retained_geometry.d.ts +83 -0
- package/build/video/webgl/buffer/retained_geometry.d.ts.map +1 -0
- package/build/video/webgl/buffer/uniformblock.d.ts +81 -0
- package/build/video/webgl/buffer/uniformblock.d.ts.map +1 -0
- package/build/video/webgl/buffer/vertexstate.d.ts +101 -0
- package/build/video/webgl/buffer/vertexstate.d.ts.map +1 -0
- package/build/video/webgl/glshader.d.ts +101 -8
- package/build/video/webgl/glshader.d.ts.map +1 -1
- package/build/video/webgl/lighting/constants.d.ts +20 -8
- package/build/video/webgl/lighting/constants.d.ts.map +1 -1
- package/build/video/webgl/lighting/pack.d.ts +1 -1
- package/build/video/webgl/lighting/pack3d.d.ts +27 -11
- package/build/video/webgl/lighting/pack3d.d.ts.map +1 -1
- package/build/video/webgl/lighting/std140.d.ts +110 -0
- package/build/video/webgl/lighting/std140.d.ts.map +1 -0
- package/build/video/webgl/shaders/multitexture-lit.d.ts +7 -3
- package/build/video/webgl/shaders/multitexture-lit.d.ts.map +1 -1
- package/build/video/webgl/texture/store.d.ts +52 -0
- package/build/video/webgl/texture/store.d.ts.map +1 -0
- package/build/video/webgl/utils/maxtextures.d.ts +37 -0
- package/build/video/webgl/utils/maxtextures.d.ts.map +1 -0
- package/build/video/webgl/utils/samplercache.d.ts +69 -0
- package/build/video/webgl/utils/samplercache.d.ts.map +1 -0
- package/build/video/webgl/utils/string.d.ts +16 -0
- package/build/video/webgl/utils/string.d.ts.map +1 -1
- package/build/video/webgl/utils/topology.d.ts +24 -0
- package/build/video/webgl/utils/topology.d.ts.map +1 -0
- package/build/video/webgl/utils/vertexformat.d.ts +27 -0
- package/build/video/webgl/utils/vertexformat.d.ts.map +1 -0
- package/build/video/webgl/webgl_renderer.d.ts +148 -30
- package/build/video/webgl/webgl_renderer.d.ts.map +1 -1
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts +40 -0
- package/build/video/webgpu/batchers/lit_mesh_batcher.d.ts.map +1 -0
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts +82 -0
- package/build/video/webgpu/batchers/lit_quad_batcher.d.ts.map +1 -0
- package/build/video/webgpu/batchers/mesh_batcher.d.ts +301 -0
- package/build/video/webgpu/batchers/mesh_batcher.d.ts.map +1 -0
- package/build/video/webgpu/batchers/primitive_batcher.d.ts +39 -0
- package/build/video/webgpu/batchers/primitive_batcher.d.ts.map +1 -0
- package/build/video/webgpu/batchers/quad_batcher.d.ts +143 -0
- package/build/video/webgpu/batchers/quad_batcher.d.ts.map +1 -0
- package/build/video/webgpu/batchers/webgpu_batcher.d.ts +70 -0
- package/build/video/webgpu/batchers/webgpu_batcher.d.ts.map +1 -0
- package/build/video/webgpu/buffer/arena.d.ts +64 -0
- package/build/video/webgpu/buffer/arena.d.ts.map +1 -0
- package/build/video/webgpu/buffer/instance_buffer.d.ts +65 -0
- package/build/video/webgpu/buffer/instance_buffer.d.ts.map +1 -0
- package/build/video/webgpu/buffer/retained_geometry.d.ts +55 -0
- package/build/video/webgpu/buffer/retained_geometry.d.ts.map +1 -0
- package/build/video/webgpu/buffer/uniformring.d.ts +68 -0
- package/build/video/webgpu/buffer/uniformring.d.ts.map +1 -0
- package/build/video/webgpu/effect_binding.d.ts +17 -0
- package/build/video/webgpu/effect_binding.d.ts.map +1 -0
- package/build/video/webgpu/pipeline/bindgroups.d.ts +36 -0
- package/build/video/webgpu/pipeline/bindgroups.d.ts.map +1 -0
- package/build/video/webgpu/pipeline/cache.d.ts +173 -0
- package/build/video/webgpu/pipeline/cache.d.ts.map +1 -0
- package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts +90 -0
- package/build/video/webgpu/renderers/tmxlayer/orthogonal.d.ts.map +1 -0
- package/build/video/webgpu/shaders/mesh-instanced.d.ts +60 -0
- package/build/video/webgpu/shaders/mesh-instanced.d.ts.map +1 -0
- package/build/video/webgpu/texture/compressed.d.ts +33 -0
- package/build/video/webgpu/texture/compressed.d.ts.map +1 -0
- package/build/video/webgpu/texture/frametexture.d.ts +65 -0
- package/build/video/webgpu/texture/frametexture.d.ts.map +1 -0
- package/build/video/webgpu/texture/store.d.ts +149 -0
- package/build/video/webgpu/texture/store.d.ts.map +1 -0
- package/build/video/webgpu/webgpu_renderer.d.ts +536 -0
- package/build/video/webgpu/webgpu_renderer.d.ts.map +1 -0
- package/package.json +2 -2
- package/build/video/webgl/effects/blur.d.ts.map +0 -1
- package/build/video/webgl/effects/chromaticAberration.d.ts.map +0 -1
- package/build/video/webgl/effects/colorMatrix.d.ts.map +0 -1
- package/build/video/webgl/effects/desaturate.d.ts.map +0 -1
- package/build/video/webgl/effects/dissolve.d.ts.map +0 -1
- package/build/video/webgl/effects/dropShadow.d.ts.map +0 -1
- package/build/video/webgl/effects/flash.d.ts.map +0 -1
- package/build/video/webgl/effects/glow.d.ts.map +0 -1
- package/build/video/webgl/effects/hologram.d.ts.map +0 -1
- package/build/video/webgl/effects/invert.d.ts.map +0 -1
- package/build/video/webgl/effects/outline.d.ts.map +0 -1
- package/build/video/webgl/effects/pixelate.d.ts.map +0 -1
- package/build/video/webgl/effects/radialGradient.d.ts.map +0 -1
- package/build/video/webgl/effects/scanline.d.ts.map +0 -1
- package/build/video/webgl/effects/sepia.d.ts.map +0 -1
- package/build/video/webgl/effects/shine.d.ts.map +0 -1
- package/build/video/webgl/effects/tintPulse.d.ts.map +0 -1
- package/build/video/webgl/effects/vignette.d.ts.map +0 -1
- package/build/video/webgl/effects/wave.d.ts.map +0 -1
- package/build/video/webgl/shadereffect.d.ts.map +0 -1
|
@@ -15,12 +15,9 @@
|
|
|
15
15
|
*/
|
|
16
16
|
export default class CanvasRenderer extends Renderer {
|
|
17
17
|
cache: TextureCache;
|
|
18
|
+
onGameReset: () => void;
|
|
18
19
|
_lightCache: WeakMap<object, any> | undefined;
|
|
19
20
|
_frameTexture: any;
|
|
20
|
-
/**
|
|
21
|
-
* Reset the canvas transform to identity
|
|
22
|
-
*/
|
|
23
|
-
resetTransform(): void;
|
|
24
21
|
/**
|
|
25
22
|
* set/change the current projection matrix.
|
|
26
23
|
* In Canvas mode, this applies the ortho projection as a canvas 2D transform
|
|
@@ -101,6 +98,27 @@ export default class CanvasRenderer extends Renderer {
|
|
|
101
98
|
* @see CanvasRenderer#createPattern
|
|
102
99
|
*/
|
|
103
100
|
drawPattern(pattern: CanvasPattern, x: number, y: number, width: number, height: number): void;
|
|
101
|
+
/**
|
|
102
|
+
* Draw a textured triangle mesh.
|
|
103
|
+
* Uses per-triangle affine texture mapping with back-to-front depth
|
|
104
|
+
* sorting (painter's algorithm) and optional backface culling.
|
|
105
|
+
* Note: the painter's algorithm works well for convex shapes but
|
|
106
|
+
* may produce visual artifacts with concave or self-overlapping
|
|
107
|
+
* geometry (e.g. a torus), as Canvas 2D has no hardware depth
|
|
108
|
+
* buffer. Use the WebGL renderer for correct depth ordering on
|
|
109
|
+
* complex meshes.
|
|
110
|
+
*
|
|
111
|
+
* Multi-material meshes (`mesh.vertexColors` present) render here
|
|
112
|
+
* via per-triangle solid fill — each triangle's three vertices
|
|
113
|
+
* share one baked material color, so we read `vertexColors[v0]`
|
|
114
|
+
* and use it as the triangle's fillStyle, multiplied by
|
|
115
|
+
* `currentTint`. The single shared texture (typically the 1×1
|
|
116
|
+
* white-pixel fallback for Kd-only models) is bypassed in that
|
|
117
|
+
* path. Canvas can't do per-material textures; if you need that,
|
|
118
|
+
* use the WebGL renderer.
|
|
119
|
+
* @param {Mesh} mesh - a Mesh renderable or compatible object
|
|
120
|
+
*/
|
|
121
|
+
drawMesh(mesh: Mesh): void;
|
|
104
122
|
_meshColorCanvas: HTMLCanvasElement | OffscreenCanvas | undefined;
|
|
105
123
|
_meshColorCtx: RenderingContext | OffscreenCanvasRenderingContext2D | null | undefined;
|
|
106
124
|
_meshSortBuf: Float64Array<ArrayBuffer> | undefined;
|
|
@@ -301,18 +319,6 @@ export default class CanvasRenderer extends Renderer {
|
|
|
301
319
|
* @param {number} f - the f component to multiply the current matrix by
|
|
302
320
|
*/
|
|
303
321
|
transform(a: Matrix2d | Matrix3d | number, b: number, c: number, d: number, e: number, f: number): void;
|
|
304
|
-
/**
|
|
305
|
-
* clip the given region from the original canvas. Once a region is clipped,
|
|
306
|
-
* all future drawing will be limited to the clipped region.
|
|
307
|
-
* You can however save the current region using the save(),
|
|
308
|
-
* and restore it (with the restore() method) any time in the future.
|
|
309
|
-
* (<u>this is an experimental feature !</u>)
|
|
310
|
-
* @param {number} x
|
|
311
|
-
* @param {number} y
|
|
312
|
-
* @param {number} width
|
|
313
|
-
* @param {number} height
|
|
314
|
-
*/
|
|
315
|
-
clipRect(x: number, y: number, width: number, height: number): void;
|
|
316
322
|
/**
|
|
317
323
|
* A mask limits rendering elements to the shape and position of the given mask object.
|
|
318
324
|
* If the drawing or rendering area is larger than the mask, only the intersecting part of the renderable will be visible.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canvas_renderer.d.ts","sourceRoot":"","sources":["../../../src/video/canvas/canvas_renderer.js"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export default class BlurEffect extends ShaderEffect {
|
|
|
15
15
|
* @param {number} [options.strength=1.0] - blur strength in texels
|
|
16
16
|
* @param {number[]} [options.textureSize=[256, 256]] - texture dimensions [width, height]
|
|
17
17
|
*/
|
|
18
|
-
constructor(renderer:
|
|
18
|
+
constructor(renderer: any, options?: {
|
|
19
19
|
strength?: number | undefined;
|
|
20
20
|
textureSize?: number[] | undefined;
|
|
21
21
|
});
|
|
@@ -32,5 +32,5 @@ export default class BlurEffect extends ShaderEffect {
|
|
|
32
32
|
*/
|
|
33
33
|
setTextureSize(width: number, height: number): void;
|
|
34
34
|
}
|
|
35
|
-
import ShaderEffect from "
|
|
35
|
+
import ShaderEffect from "./shadereffect.js";
|
|
36
36
|
//# sourceMappingURL=blur.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../../src/video/effects/blur.js"],"names":[],"mappings":"AA4BA;;;;;;;;;GASG;AACH;IACC;;;;;OAKG;IACH,qCAHG;QAAyB,QAAQ;QACN,WAAW;KACxC,EA8BA;IALA,iBAAuC;IAOxC;;;OAGG;IACH,sBAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBA7FwB,mBAAmB"}
|
|
@@ -18,7 +18,7 @@ export default class ChromaticAberrationEffect extends ShaderEffect {
|
|
|
18
18
|
* @param {number} [options.offset=3.0] - channel offset in texels
|
|
19
19
|
* @param {number[]} [options.textureSize=[256, 256]] - texture dimensions [width, height]
|
|
20
20
|
*/
|
|
21
|
-
constructor(renderer:
|
|
21
|
+
constructor(renderer: any, options?: {
|
|
22
22
|
offset?: number | undefined;
|
|
23
23
|
textureSize?: number[] | undefined;
|
|
24
24
|
});
|
|
@@ -35,5 +35,5 @@ export default class ChromaticAberrationEffect extends ShaderEffect {
|
|
|
35
35
|
*/
|
|
36
36
|
setTextureSize(width: number, height: number): void;
|
|
37
37
|
}
|
|
38
|
-
import ShaderEffect from "
|
|
38
|
+
import ShaderEffect from "./shadereffect.js";
|
|
39
39
|
//# sourceMappingURL=chromaticAberration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromaticAberration.d.ts","sourceRoot":"","sources":["../../../src/video/effects/chromaticAberration.js"],"names":[],"mappings":"AAqBA;;;;;;;;;;;;GAYG;AACH;IACC;;;;;OAKG;IACH,qCAHG;QAAyB,MAAM;QACJ,WAAW;KACxC,EAuBA;IALA,eAAmC;IAOpC;;;OAGG;IACH,kBAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBAlFwB,mBAAmB"}
|
|
@@ -19,7 +19,7 @@ export default class ColorMatrixEffect extends ShaderEffect {
|
|
|
19
19
|
* @param {object} [options] - effect options
|
|
20
20
|
* @param {ColorMatrix} [options.matrix] - an initial color matrix. Defaults to identity.
|
|
21
21
|
*/
|
|
22
|
-
constructor(renderer:
|
|
22
|
+
constructor(renderer: any, options?: {
|
|
23
23
|
matrix?: ColorMatrix | undefined;
|
|
24
24
|
});
|
|
25
25
|
/**
|
|
@@ -87,6 +87,6 @@ export default class ColorMatrixEffect extends ShaderEffect {
|
|
|
87
87
|
*/
|
|
88
88
|
transform(...args: number[]): this;
|
|
89
89
|
}
|
|
90
|
-
import ShaderEffect from "
|
|
91
|
-
import { ColorMatrix } from "
|
|
90
|
+
import ShaderEffect from "./shadereffect.js";
|
|
91
|
+
import { ColorMatrix } from "../../math/color_matrix.ts";
|
|
92
92
|
//# sourceMappingURL=colorMatrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorMatrix.d.ts","sourceRoot":"","sources":["../../../src/video/effects/colorMatrix.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;OAIG;IACH,qCAFG;QAA8B,MAAM;KACtC,EAkBA;IANA;;;OAGG;IACH,qBAAkD;IAInD;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,SAFa,IAAI,CAMhB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,iBAHW,WAAW,GACT,IAAI,CAMhB;IAED;;;;;OAKG;IACH,mBAHc,MAAM,EAAA,GACP,IAAI,CAMhB;CACD;yBAjKwB,mBAAmB;4BADhB,4BAA4B"}
|
|
@@ -16,7 +16,7 @@ export default class DesaturateEffect extends ColorMatrixEffect {
|
|
|
16
16
|
* @param {object} [options] - effect options
|
|
17
17
|
* @param {number} [options.intensity=1.0] - desaturation intensity (0.0 = full color, 1.0 = grayscale)
|
|
18
18
|
*/
|
|
19
|
-
constructor(renderer:
|
|
19
|
+
constructor(renderer: any, options?: {
|
|
20
20
|
intensity?: number | undefined;
|
|
21
21
|
});
|
|
22
22
|
intensity: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desaturate.d.ts","sourceRoot":"","sources":["../../../src/video/effects/desaturate.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH;IACC;;;;OAIG;IACH,qCAFG;QAAyB,SAAS;KACpC,EAMA;IAHA,kBACgE;IAIjE;;;OAGG;IACH,oBAFW,MAAM,QAKhB;CACD;8BAnC6B,kBAAkB"}
|
|
@@ -21,7 +21,7 @@ export default class DissolveEffect extends ShaderEffect {
|
|
|
21
21
|
* @param {number[]} [options.edgeColor=[1.0, 0.5, 0.0]] - color of the dissolve edge
|
|
22
22
|
* @param {number} [options.edgeWidth=0.1] - width of the colored edge (0.0–1.0)
|
|
23
23
|
*/
|
|
24
|
-
constructor(renderer:
|
|
24
|
+
constructor(renderer: any, options?: {
|
|
25
25
|
progress?: number | undefined;
|
|
26
26
|
edgeColor?: number[] | undefined;
|
|
27
27
|
edgeWidth?: number | undefined;
|
|
@@ -38,5 +38,5 @@ export default class DissolveEffect extends ShaderEffect {
|
|
|
38
38
|
*/
|
|
39
39
|
setEdgeColor(color: number[]): void;
|
|
40
40
|
}
|
|
41
|
-
import ShaderEffect from "
|
|
41
|
+
import ShaderEffect from "./shadereffect.js";
|
|
42
42
|
//# sourceMappingURL=dissolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissolve.d.ts","sourceRoot":"","sources":["../../../src/video/effects/dissolve.js"],"names":[],"mappings":"AA8DA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;OAMG;IACH,qCAJG;QAAyB,QAAQ;QACN,SAAS;QACX,SAAS;KACpC,EA0DA;IAPA,iBAAuC;IASxC;;;OAGG;IACH,mBAFW,MAAM,QAKhB;IAED;;;OAGG;IACH,oBAFW,MAAM,EAAE,QAIlB;CACD;yBAhKwB,mBAAmB"}
|
|
@@ -23,7 +23,7 @@ export default class DropShadowEffect extends ShaderEffect {
|
|
|
23
23
|
* @param {number} [options.opacity=0.5] - shadow opacity (0.0–1.0)
|
|
24
24
|
* @param {number[]} [options.textureSize=[256, 256]] - texture dimensions [width, height]
|
|
25
25
|
*/
|
|
26
|
-
constructor(renderer:
|
|
26
|
+
constructor(renderer: any, options?: {
|
|
27
27
|
offsetX?: number | undefined;
|
|
28
28
|
offsetY?: number | undefined;
|
|
29
29
|
color?: number[] | undefined;
|
|
@@ -43,5 +43,5 @@ export default class DropShadowEffect extends ShaderEffect {
|
|
|
43
43
|
*/
|
|
44
44
|
setTextureSize(width: number, height: number): void;
|
|
45
45
|
}
|
|
46
|
-
import ShaderEffect from "
|
|
46
|
+
import ShaderEffect from "./shadereffect.js";
|
|
47
47
|
//# sourceMappingURL=dropShadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropShadow.d.ts","sourceRoot":"","sources":["../../../src/video/effects/dropShadow.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;GAcG;AACH;IACC;;;;;;;;OAQG;IACH,qCANG;QAAyB,OAAO;QACP,OAAO;QACL,KAAK;QACP,OAAO;QACL,WAAW;KACxC,EA0CA;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAIhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBAvHwB,mBAAmB"}
|
|
@@ -26,7 +26,7 @@ export default class FlashEffect extends ShaderEffect {
|
|
|
26
26
|
* @param {number[]} [options.color=[1.0, 1.0, 1.0]] - flash color as [r, g, b] (0.0–1.0)
|
|
27
27
|
* @param {number} [options.intensity=0.0] - initial flash intensity (0.0–1.0)
|
|
28
28
|
*/
|
|
29
|
-
constructor(renderer:
|
|
29
|
+
constructor(renderer: any, options?: {
|
|
30
30
|
color?: number[] | undefined;
|
|
31
31
|
intensity?: number | undefined;
|
|
32
32
|
});
|
|
@@ -42,5 +42,5 @@ export default class FlashEffect extends ShaderEffect {
|
|
|
42
42
|
*/
|
|
43
43
|
setColor(color: number[]): void;
|
|
44
44
|
}
|
|
45
|
-
import ShaderEffect from "
|
|
45
|
+
import ShaderEffect from "./shadereffect.js";
|
|
46
46
|
//# sourceMappingURL=flash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flash.d.ts","sourceRoot":"","sources":["../../../src/video/effects/flash.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IACC;;;;;OAKG;IACH,qCAHG;QAA2B,KAAK;QACP,SAAS;KACpC,EAkBA;IAJA,kBAAyC;IAM1C;;;OAGG;IACH,oBAFW,MAAM,QAKhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;CACD;yBA/EwB,mBAAmB"}
|
|
@@ -20,7 +20,7 @@ export default class GlowEffect extends ShaderEffect {
|
|
|
20
20
|
* @param {number} [options.intensity=1.0] - glow brightness multiplier
|
|
21
21
|
* @param {number[]} [options.textureSize=[256, 256]] - texture dimensions [width, height]
|
|
22
22
|
*/
|
|
23
|
-
constructor(renderer:
|
|
23
|
+
constructor(renderer: any, options?: {
|
|
24
24
|
color?: number[] | undefined;
|
|
25
25
|
width?: number | undefined;
|
|
26
26
|
intensity?: number | undefined;
|
|
@@ -44,5 +44,5 @@ export default class GlowEffect extends ShaderEffect {
|
|
|
44
44
|
*/
|
|
45
45
|
setTextureSize(width: number, height: number): void;
|
|
46
46
|
}
|
|
47
|
-
import ShaderEffect from "
|
|
47
|
+
import ShaderEffect from "./shadereffect.js";
|
|
48
48
|
//# sourceMappingURL=glow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glow.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glow.js"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;GAYG;AACH;IACC;;;;;;;OAOG;IACH,qCALG;QAA2B,KAAK;QACP,KAAK;QACL,SAAS;QACP,WAAW;KACxC,EAsCA;IANA,kBAAyC;IAQ1C;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;IAED;;;OAGG;IACH,oBAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBAtHwB,mBAAmB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assemble the complete GLSL program sources for a ShaderEffect fragment
|
|
3
|
+
* body: parse the builtins, build the vertex variant, and wrap the user's
|
|
4
|
+
* `apply()` with the texture-sampling boilerplate.
|
|
5
|
+
* @param {string} fragmentBody - the user body (GLSL, `vec4 apply(vec4, vec2)` convention)
|
|
6
|
+
* @returns {{vertex: string, fragment: string, screenTextures: Array<{name: string, repeat: string}>, noiseUV: boolean}} the assembled sources + builtin usage
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
export function buildGLSLProgram(fragmentBody: string): {
|
|
10
|
+
vertex: string;
|
|
11
|
+
fragment: string;
|
|
12
|
+
screenTextures: Array<{
|
|
13
|
+
name: string;
|
|
14
|
+
repeat: string;
|
|
15
|
+
}>;
|
|
16
|
+
noiseUV: boolean;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=glsl_realization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glsl_realization.d.ts","sourceRoot":"","sources":["../../../src/video/effects/glsl_realization.js"],"names":[],"mappings":"AAiHA;;;;;;;GAOG;AACH,+CAJW,MAAM,GACJ;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CA6BvH"}
|
|
@@ -18,7 +18,7 @@ export default class HologramEffect extends ShaderEffect {
|
|
|
18
18
|
* @param {number[]} [options.color=[0.1, 0.7, 1.0]] - hologram tint color [r, g, b]
|
|
19
19
|
* @param {number} [options.intensity=0.5] - effect intensity (0.0–1.0)
|
|
20
20
|
*/
|
|
21
|
-
constructor(renderer:
|
|
21
|
+
constructor(renderer: any, options?: {
|
|
22
22
|
color?: number[] | undefined;
|
|
23
23
|
intensity?: number | undefined;
|
|
24
24
|
});
|
|
@@ -28,5 +28,5 @@ export default class HologramEffect extends ShaderEffect {
|
|
|
28
28
|
*/
|
|
29
29
|
setColor(color: number[]): void;
|
|
30
30
|
}
|
|
31
|
-
import ShaderEffect from "
|
|
31
|
+
import ShaderEffect from "./shadereffect.js";
|
|
32
32
|
//# sourceMappingURL=hologram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hologram.d.ts","sourceRoot":"","sources":["../../../src/video/effects/hologram.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;GAYG;AACH;IACC;;;;;OAKG;IACH,qCAHG;QAA2B,KAAK;QACP,SAAS;KACpC,EAyBA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;CACD;yBA7EwB,mBAAmB"}
|
|
@@ -15,7 +15,7 @@ export default class InvertEffect extends ColorMatrixEffect {
|
|
|
15
15
|
* @param {object} [options] - effect options
|
|
16
16
|
* @param {number} [options.intensity=1.0] - inversion intensity (0.0 = original, 1.0 = fully inverted)
|
|
17
17
|
*/
|
|
18
|
-
constructor(renderer:
|
|
18
|
+
constructor(renderer: any, options?: {
|
|
19
19
|
intensity?: number | undefined;
|
|
20
20
|
});
|
|
21
21
|
intensity: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../../src/video/effects/invert.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH;IACC;;;;OAIG;IACH,qCAFG;QAAyB,SAAS;KACpC,EAMA;IAHA,kBACgE;IAIjE;;;OAGG;IACH,oBAFW,MAAM,QAKhB;CACD;8BAlC6B,kBAAkB"}
|
|
@@ -23,7 +23,7 @@ export default class OutlineEffect extends ShaderEffect {
|
|
|
23
23
|
* @param {number} [options.width=1.0] - outline width in pixels
|
|
24
24
|
* @param {number[]} [options.textureSize] - texture dimensions [width, height] (defaults to renderer size)
|
|
25
25
|
*/
|
|
26
|
-
constructor(renderer:
|
|
26
|
+
constructor(renderer: any, options?: {
|
|
27
27
|
color?: number[] | undefined;
|
|
28
28
|
width?: number | undefined;
|
|
29
29
|
textureSize?: number[] | undefined;
|
|
@@ -45,5 +45,5 @@ export default class OutlineEffect extends ShaderEffect {
|
|
|
45
45
|
*/
|
|
46
46
|
setTextureSize(width: number, height: number): void;
|
|
47
47
|
}
|
|
48
|
-
import ShaderEffect from "
|
|
48
|
+
import ShaderEffect from "./shadereffect.js";
|
|
49
49
|
//# sourceMappingURL=outline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/outline.js"],"names":[],"mappings":"AAkCA;;;;;;;;;;;;;;;;GAgBG;AACH;IACC;;;;;;OAMG;IACH,qCAJG;QAA2B,KAAK;QACP,KAAK;QACH,WAAW;KACxC,EAsCA;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAIlB;IAED;;;OAGG;IACH,gBAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBA1HwB,mBAAmB"}
|
|
@@ -17,7 +17,7 @@ export default class PixelateEffect extends ShaderEffect {
|
|
|
17
17
|
* @param {number} [options.size=4.0] - pixel size in texels (higher = more pixelated)
|
|
18
18
|
* @param {number[]} [options.textureSize=[256, 256]] - texture dimensions [width, height]
|
|
19
19
|
*/
|
|
20
|
-
constructor(renderer:
|
|
20
|
+
constructor(renderer: any, options?: {
|
|
21
21
|
size?: number | undefined;
|
|
22
22
|
textureSize?: number[] | undefined;
|
|
23
23
|
});
|
|
@@ -34,5 +34,5 @@ export default class PixelateEffect extends ShaderEffect {
|
|
|
34
34
|
*/
|
|
35
35
|
setTextureSize(width: number, height: number): void;
|
|
36
36
|
}
|
|
37
|
-
import ShaderEffect from "
|
|
37
|
+
import ShaderEffect from "./shadereffect.js";
|
|
38
38
|
//# sourceMappingURL=pixelate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixelate.d.ts","sourceRoot":"","sources":["../../../src/video/effects/pixelate.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;GAWG;AACH;IACC;;;;;OAKG;IACH,qCAHG;QAAyB,IAAI;QACF,WAAW;KACxC,EAoBA;IALA,aAA+B;IAOhC;;;OAGG;IACH,cAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAIhB;CACD;yBA3EwB,mBAAmB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* additional import for TypeScript
|
|
3
|
-
* @import { Color } from "
|
|
3
|
+
* @import { Color } from "../../math/color.ts";
|
|
4
4
|
* @import { default as WebGLRenderer } from "../webgl_renderer.js";
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
@@ -99,7 +99,6 @@ export default class RadialGradientEffect extends ShaderEffect {
|
|
|
99
99
|
*/
|
|
100
100
|
setIntensity(intensity: number): void;
|
|
101
101
|
}
|
|
102
|
-
import ShaderEffect from "
|
|
103
|
-
import type { Color } from "
|
|
104
|
-
import type { default as WebGLRenderer } from "../webgl_renderer.js";
|
|
102
|
+
import ShaderEffect from "./shadereffect.js";
|
|
103
|
+
import type { Color } from "../../math/color.ts";
|
|
105
104
|
//# sourceMappingURL=radialGradient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radialGradient.d.ts","sourceRoot":"","sources":["../../../src/video/effects/radialGradient.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH;IACC;;;;;OAKG;IACH,+CAHG;QAAwB,KAAK;QACJ,SAAS;KACpC,EA2DA;IAZA,qCAAoC;IAcrC;;;;OAIG;IACH,gBAFW,KAAK,QAOf;IAED;;;;OAIG;IACH,wBAFW,MAAM,QAIhB;CACD;yBAtKwB,mBAAmB;2BAIlB,qBAAqB"}
|
|
@@ -22,7 +22,7 @@ export default class ScanlineEffect extends ShaderEffect {
|
|
|
22
22
|
* @param {number} [options.curvature=0.0] - barrel distortion strength (0.0 = flat, 0.02 = subtle CRT curve)
|
|
23
23
|
* @param {number} [options.vignetteStrength=0.0] - edge darkening strength (0.0 = none, 0.3 = subtle)
|
|
24
24
|
*/
|
|
25
|
-
constructor(renderer:
|
|
25
|
+
constructor(renderer: any, options?: {
|
|
26
26
|
opacity?: number | undefined;
|
|
27
27
|
curvature?: number | undefined;
|
|
28
28
|
vignetteStrength?: number | undefined;
|
|
@@ -43,5 +43,5 @@ export default class ScanlineEffect extends ShaderEffect {
|
|
|
43
43
|
*/
|
|
44
44
|
setVignetteStrength(strength: number): void;
|
|
45
45
|
}
|
|
46
|
-
import ShaderEffect from "
|
|
46
|
+
import ShaderEffect from "./shadereffect.js";
|
|
47
47
|
//# sourceMappingURL=scanline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanline.d.ts","sourceRoot":"","sources":["../../../src/video/effects/scanline.js"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;GAeG;AACH;IACC;;;;;;OAMG;IACH,qCAJG;QAAyB,OAAO;QACP,SAAS;QACT,gBAAgB;KAC3C,EAyCA;IAED;;;OAGG;IACH,oBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,wBAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,8BAFW,MAAM,QAIhB;CACD;yBAnIwB,mBAAmB"}
|
|
@@ -14,7 +14,7 @@ export default class SepiaEffect extends ColorMatrixEffect {
|
|
|
14
14
|
* @param {object} [options] - effect options
|
|
15
15
|
* @param {number} [options.intensity=1.0] - sepia intensity (0.0 = original, 1.0 = full sepia)
|
|
16
16
|
*/
|
|
17
|
-
constructor(renderer:
|
|
17
|
+
constructor(renderer: any, options?: {
|
|
18
18
|
intensity?: number | undefined;
|
|
19
19
|
});
|
|
20
20
|
intensity: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sepia.d.ts","sourceRoot":"","sources":["../../../src/video/effects/sepia.js"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH;IACC;;;;OAIG;IACH,qCAFG;QAAyB,SAAS;KACpC,EAMA;IAHA,kBACgE;IAIjE;;;OAGG;IACH,oBAFW,MAAM,QAKhB;CACD;8BAjC6B,kBAAkB"}
|
|
@@ -2,9 +2,90 @@
|
|
|
2
2
|
* A simplified shader class for applying custom fragment effects to renderables.
|
|
3
3
|
* Only requires a fragment `apply()` function — the vertex shader, uniforms, and
|
|
4
4
|
* texture sampling boilerplate are handled automatically.
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* ## Dual-language bodies
|
|
7
|
+
*
|
|
8
|
+
* An effect body is written in the active renderer's shading language:
|
|
9
|
+
* GLSL on the WebGL renderer, WGSL on the WebGPU renderer. Pass a plain
|
|
10
|
+
* string for a GLSL-only effect (the historical form), or one body per
|
|
11
|
+
* language for an effect that runs on both backends:
|
|
12
|
+
*
|
|
13
|
+
* ```js
|
|
14
|
+
* new ShaderEffect(renderer, { glsl: glslBody, wgsl: wgslBody });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* The renderer compiles the body matching its
|
|
18
|
+
* {@link Renderer#shaderLanguage}. When no matching body exists — a
|
|
19
|
+
* GLSL-only effect on the WebGPU renderer, any effect on the Canvas
|
|
20
|
+
* renderer — the effect warns once and stays **disabled**
|
|
21
|
+
* (`enabled === false`, every method a safe no-op): the scene renders
|
|
22
|
+
* without the effect, it never breaks.
|
|
23
|
+
*
|
|
24
|
+
* ## The WGSL convention
|
|
25
|
+
*
|
|
26
|
+
* A WGSL body mirrors the GLSL one — declarations plus an apply function,
|
|
27
|
+
* compiled verbatim inside engine boilerplate:
|
|
28
|
+
*
|
|
29
|
+
* - `fn apply(color : vec4f, uv : vec2f) -> vec4f` — required; receives
|
|
30
|
+
* the sampled, tinted pixel and its UV, returns the modified color.
|
|
31
|
+
* - Uniforms are the members of ONE struct bound as
|
|
32
|
+
* `@group(3) @binding(0) var<uniform> fx : MyUniforms;` — member names
|
|
33
|
+
* are the {@link ShaderEffect#setUniform} names, so a dual-language
|
|
34
|
+
* effect uses the same uniform names in both bodies and one
|
|
35
|
+
* `setUniform` call serves both. Supported member types: `f32`, `i32`,
|
|
36
|
+
* `u32`, `vec2f`, `vec3f`, `vec4f`, `mat3x3f`, `mat4x4f`,
|
|
37
|
+
* `array<vec4f, N>`.
|
|
38
|
+
* - Extra {@link ShaderEffect#setTexture} samplers are texture/sampler
|
|
39
|
+
* pairs at explicit consecutive group-3 bindings (from 1):
|
|
40
|
+
* `@group(3) @binding(1) var uNoise : texture_2d<f32>;`
|
|
41
|
+
* `@group(3) @binding(2) var uNoiseSampler : sampler;`
|
|
42
|
+
* - The source texture is available as `uTexture` with `uSampler`
|
|
43
|
+
* (`textureSample(uTexture, uSampler, uv)` — the WGSL spelling of
|
|
44
|
+
* GLSL's `texture2D(uSampler, uv)`), and the interpolated tint as
|
|
45
|
+
* `vColor`, under the same names as the GLSL side.
|
|
46
|
+
* - The shader builtins keep their names: `screen_uv`, `noise_uv`, and
|
|
47
|
+
* `screen_texture` — sampled through `screen_sampler` (clamped) or
|
|
48
|
+
* `screen_sampler_repeat` (wrapping), replacing the GLSL
|
|
49
|
+
* `: screen_texture(repeat)` annotation.
|
|
50
|
+
* - Porting note: a texture sampled after a non-uniform `return` or
|
|
51
|
+
* inside a varying branch must use
|
|
52
|
+
* `textureSampleLevel(uTexture, uSampler, uv, 0.0)` (a WGSL
|
|
53
|
+
* uniform-control-flow rule; identical output for sprite textures).
|
|
54
|
+
*
|
|
55
|
+
* ## Directional UV arithmetic (`uUVYDir`)
|
|
56
|
+
*
|
|
57
|
+
* The vertical orientation of `apply()`'s UV space depends on the draw
|
|
58
|
+
* path: sampling the sprite directly, `uv.y` grows downward, but the
|
|
59
|
+
* WebGL multi-effect (pooled) path composites through capture FBOs whose
|
|
60
|
+
* rows are bottom-up — there `uv.y` grows upward. A body that offsets its
|
|
61
|
+
* sampling coordinate vertically (a drop shadow, a directional smear)
|
|
62
|
+
* would render mirrored on that path. Declare a `float uUVYDir` uniform
|
|
63
|
+
* (WGSL: `uUVYDir : f32` in the uniform struct) and multiply vertical UV
|
|
64
|
+
* offsets by it: the renderer feeds `+1` where `uv.y` grows downward —
|
|
65
|
+
* including every WebGPU path — and `-1` on the WebGL pooled path, so
|
|
66
|
+
* "down" stays down everywhere. Initialize it to `1.0` with `setUniform`;
|
|
67
|
+
* bodies that don't declare it are unaffected. The built-in
|
|
68
|
+
* {@link DropShadowEffect} is the reference use.
|
|
6
69
|
* @category Rendering
|
|
7
70
|
* @example
|
|
71
|
+
* // one effect, both backends: dual-language body
|
|
72
|
+
* mySprite.shader = new ShaderEffect(renderer, {
|
|
73
|
+
* glsl: `
|
|
74
|
+
* uniform float uStrength;
|
|
75
|
+
* vec4 apply(vec4 color, vec2 uv) {
|
|
76
|
+
* return vec4(color.rgb * uStrength, color.a);
|
|
77
|
+
* }
|
|
78
|
+
* `,
|
|
79
|
+
* wgsl: `
|
|
80
|
+
* struct Fx { uStrength : f32, };
|
|
81
|
+
* @group(3) @binding(0) var<uniform> fx : Fx;
|
|
82
|
+
* fn apply(color : vec4f, uv : vec2f) -> vec4f {
|
|
83
|
+
* return vec4f(color.rgb * fx.uStrength, color.a);
|
|
84
|
+
* }
|
|
85
|
+
* `,
|
|
86
|
+
* });
|
|
87
|
+
* mySprite.shader.setUniform("uStrength", 0.5); // sets either backend
|
|
88
|
+
* @example
|
|
8
89
|
* // create a grayscale effect
|
|
9
90
|
* mySprite.shader = new ShaderEffect(renderer, `
|
|
10
91
|
* vec4 apply(vec4 color, vec2 uv) {
|
|
@@ -44,13 +125,21 @@
|
|
|
44
125
|
*/
|
|
45
126
|
export default class ShaderEffect {
|
|
46
127
|
/**
|
|
47
|
-
* @param {WebGLRenderer|CanvasRenderer} renderer - the current renderer instance
|
|
48
|
-
* @param {string
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
128
|
+
* @param {WebGLRenderer|WebGPURenderer|CanvasRenderer} renderer - the current renderer instance
|
|
129
|
+
* @param {string|{glsl?: string, wgsl?: string}} body - the effect body:
|
|
130
|
+
* a GLSL string (containing a `vec4 apply(vec4 color, vec2 uv)` function —
|
|
131
|
+
* unchanged from previous versions), or an object carrying one body per
|
|
132
|
+
* shading language (`glsl` and/or `wgsl`, the WGSL body defining
|
|
133
|
+
* `fn apply(color : vec4f, uv : vec2f) -> vec4f`). The renderer picks the
|
|
134
|
+
* body matching its {@link Renderer#shaderLanguage}; when no matching body
|
|
135
|
+
* exists the effect warns once and stays disabled (`enabled === false`),
|
|
136
|
+
* exactly like the Canvas renderer.
|
|
137
|
+
* @param {string} [precision=auto detected] - float precision ('lowp', 'mediump' or 'highp'), GLSL only
|
|
52
138
|
*/
|
|
53
|
-
constructor(renderer: WebGLRenderer | CanvasRenderer,
|
|
139
|
+
constructor(renderer: WebGLRenderer | WebGPURenderer | CanvasRenderer, body: string | {
|
|
140
|
+
glsl?: string;
|
|
141
|
+
wgsl?: string;
|
|
142
|
+
}, precision?: string);
|
|
54
143
|
/**
|
|
55
144
|
* whether this effect is active (false in Canvas mode, false after
|
|
56
145
|
* {@link destroy}, and false while the WebGL context is suspended
|
|
@@ -89,14 +178,25 @@ export default class ShaderEffect {
|
|
|
89
178
|
*/
|
|
90
179
|
_renderer: any;
|
|
91
180
|
/**
|
|
92
|
-
* the construction "recipe" (
|
|
181
|
+
* the construction "recipe" (body + precision), kept VERBATIM so
|
|
93
182
|
* {@link clone} can compile an independent copy. Stored before the
|
|
94
|
-
*
|
|
183
|
+
* disabled-stub early return so cloning behaves consistently there too.
|
|
95
184
|
* @ignore
|
|
96
185
|
*/
|
|
97
|
-
_fragmentBody: string
|
|
186
|
+
_fragmentBody: string | {
|
|
187
|
+
glsl?: string;
|
|
188
|
+
wgsl?: string;
|
|
189
|
+
};
|
|
98
190
|
/** @ignore */
|
|
99
191
|
_precision: string | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* extra texture samplers bound via {@link setTexture}, keyed by the
|
|
194
|
+
* uniform name → `{ image, repeat, tex }` (`tex` is the uploaded GL
|
|
195
|
+
* texture, created lazily on first draw; unused on WebGPU, where the
|
|
196
|
+
* bind group is built lazily instead)
|
|
197
|
+
* @ignore
|
|
198
|
+
*/
|
|
199
|
+
_extraTextures: Map<any, any> | undefined;
|
|
100
200
|
/**
|
|
101
201
|
* samplers annotated `: screen_texture` — the renderer checks this to
|
|
102
202
|
* know when to refresh the shared frame capture before the effect draws
|
|
@@ -108,16 +208,11 @@ export default class ShaderEffect {
|
|
|
108
208
|
repeat: string;
|
|
109
209
|
}>;
|
|
110
210
|
/** @ignore */
|
|
111
|
-
_hasNoiseUV:
|
|
211
|
+
_hasNoiseUV: any;
|
|
112
212
|
/** @ignore */
|
|
113
213
|
_shader: GLShader | undefined;
|
|
114
|
-
/**
|
|
115
|
-
|
|
116
|
-
* uniform name → `{ image, repeat, tex }` (`tex` is the uploaded GL
|
|
117
|
-
* texture, created lazily on first draw)
|
|
118
|
-
* @ignore
|
|
119
|
-
*/
|
|
120
|
-
_extraTextures: Map<any, any> | undefined;
|
|
214
|
+
/** @ignore */
|
|
215
|
+
wgslRealization: WGSLEffectRealization | undefined;
|
|
121
216
|
/** @private */
|
|
122
217
|
private _onContextLost;
|
|
123
218
|
_enabledBeforeSuspend: boolean | undefined;
|
|
@@ -153,6 +248,20 @@ export default class ShaderEffect {
|
|
|
153
248
|
* flow.setTime(me.timer.getTime() / 1000);
|
|
154
249
|
*/
|
|
155
250
|
setTime(seconds: number): ShaderEffect;
|
|
251
|
+
/**
|
|
252
|
+
* Feed the UV y-direction of the space `apply()` is about to run in:
|
|
253
|
+
* `+1` where `uv.y` grows downward (direct sprite sampling, and every
|
|
254
|
+
* WebGPU path), `-1` on the WebGL pooled-blit path, whose capture FBOs
|
|
255
|
+
* are bottom-up — there, y-directional UV arithmetic inside a body
|
|
256
|
+
* runs vertically mirrored unless compensated. Directional bodies
|
|
257
|
+
* (DropShadow) declare a `uUVYDir` uniform and multiply their y
|
|
258
|
+
* offsets with it, so "down" means down on every path of every
|
|
259
|
+
* backend. A silent no-op for bodies that don't declare the uniform.
|
|
260
|
+
* @param {number} dir - +1 (uv.y grows downward) or -1 (upward)
|
|
261
|
+
* @ignore
|
|
262
|
+
*/
|
|
263
|
+
_setUVYDir(dir: number): void;
|
|
264
|
+
_uvYDir: any;
|
|
156
265
|
/**
|
|
157
266
|
* Feed the `noise_uv` builtin's frame rect for the object about to draw:
|
|
158
267
|
* the source texture dimensions, the destination (object) dimensions, and
|
|
@@ -170,14 +279,12 @@ export default class ShaderEffect {
|
|
|
170
279
|
_setNoiseUVRect(sourceWidth: number, sourceHeight: number, objectWidth: number, objectHeight: number, u0: number, v0: number): void;
|
|
171
280
|
/**
|
|
172
281
|
* Apply the wrap mode a `: screen_texture(<repeat>)` annotation asked for
|
|
173
|
-
* onto the live capture handle.
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* redundant while the GL active unit points elsewhere.
|
|
282
|
+
* onto the live capture handle. The unit is force-activated first: the
|
|
283
|
+
* batcher's bind may have been skipped as redundant while the GL active
|
|
284
|
+
* unit points elsewhere.
|
|
177
285
|
* @ignore
|
|
178
286
|
*/
|
|
179
287
|
_applyCaptureWrap(batcher: any, glTex: any, entry: any): void;
|
|
180
|
-
_captureWrapWarned: boolean | undefined;
|
|
181
288
|
/**
|
|
182
289
|
* Bind an **extra** texture to a named `sampler2D` uniform in this shader, so
|
|
183
290
|
* a custom effect can read a *second* texture — a noise map, mask, gradient,
|
|
@@ -192,7 +299,7 @@ export default class ShaderEffect {
|
|
|
192
299
|
* drawable source. No-op in Canvas mode.
|
|
193
300
|
* @param {string} name - the `sampler2D` uniform name declared in the fragment
|
|
194
301
|
* @param {Texture2d|HTMLImageElement|HTMLCanvasElement|OffscreenCanvas|ImageBitmap} image - the texture: an engine texture asset, or a raw drawable source
|
|
195
|
-
* @param {"repeat"|"repeat-x"|"repeat-y"|"no-repeat"} [repeat="no-repeat"] - wrap mode; use `"repeat"` for a tiled/scrolled texture
|
|
302
|
+
* @param {"repeat"|"repeat-x"|"repeat-y"|"no-repeat"} [repeat="no-repeat"] - wrap mode; use `"repeat"` for a tiled/scrolled texture
|
|
196
303
|
* @returns {ShaderEffect} this effect for chaining
|
|
197
304
|
* @example
|
|
198
305
|
* // "water": distort the sprite by a static noise texture scrolled over time
|
|
@@ -269,6 +376,7 @@ export default class ShaderEffect {
|
|
|
269
376
|
*/
|
|
270
377
|
destroy(): void;
|
|
271
378
|
}
|
|
272
|
-
import GLShader from "
|
|
379
|
+
import GLShader from "../webgl/glshader.js";
|
|
380
|
+
import WGSLEffectRealization from "./wgsl_realization.js";
|
|
273
381
|
import Texture2d from "../texture/texture2d.ts";
|
|
274
382
|
//# sourceMappingURL=shadereffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadereffect.d.ts","sourceRoot":"","sources":["../../../src/video/effects/shadereffect.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4HG;AACH;IAiCC;;;;;;;;;;;OAWG;IACH,sBAXW,aAAa,GAAC,cAAc,GAAC,cAAc,QAC3C,MAAM,GAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,cAQrC,MAAM,EAqHhB;IA/JD;;;;;;OAMG;IACH,SAFU,OAAO,CAED;IAEhB;;;;;;;OAOG;IACH,oBAHU,OAAO,CAGC;IAElB;;;;;;;;;;OAUG;IACH,QAHU,OAAO,CAGF;IAed;;;;;;OAMG;IACH,eAAyB;IAEzB;;;;;OAKG;IACH;eA1ByB,MAAM;eAAS,MAAM;MA0BrB;IACzB,cAAc;IACd,+BAA2B;IAoB3B;;;;;;OAMG;IACH,0CAA+B;IAQ9B;;;;;OAKG;IACH,wBAHU,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAGK;IACpD,cAAc;IACd,iBAAkC;IAElC,cAAc;IACd,8BAKC;IAyBD,cAAc;IACd,mDAAkC;IAsBpC,eAAe;IACf,uBAkBC;IAbA,2CAAyC;IAe1C,eAAe;IACf,2BAQC;IAED;;;;OAIG;IACH,iBAHW,MAAM,SACN,MAAM,GAAC,YAAY,QAmB7B;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAbW,MAAM,GACJ,YAAY,CAuCxB;IAED;;;;;;;;;;;OAWG;IACH,gBAHW,MAAM,QAqBhB;IATC,aAAkB;IAWpB;;;;;;;;;;;;;OAaG;IACH,6BARW,MAAM,gBACN,MAAM,eACN,MAAM,gBACN,MAAM,MACN,MAAM,MACN,MAAM,QAoDhB;IAED;;;;;;OAMG;IACH,8DAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,iBAnBW,MAAM,SACN,SAAS,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,eAAe,GAAC,WAAW,WACxE,QAAQ,GAAC,UAAU,GAAC,UAAU,GAAC,WAAW,GACxC,YAAY,CA0GxB;IAED;;;;;;;;OAQG;IACH,0BAHW,MAAM,QA2FhB;IA3DI,4CAAkC;IA6DvC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SARa,YAAY,CAqDxB;IAKD,cAAc;IACd,aAIC;IAED,cAAc;IACd,qCAIC;IAED,cAAc;IACd,iEAIC;IAED,cAAc;IACd,mCAEC;IAED,cAAc;IACd,kBAEC;IAED,cAAc;IACd,oBAEC;IAED,cAAc;IACd,qBAEC;IAED,cAAc;IACd,uBAEC;IAED;;;;OAIG;IACH,gBAyCC;CACD;qBA34BoB,sBAAsB;kCAET,uBAAuB;sBAHnC,yBAAyB"}
|