@luma.gl/engine 9.3.0-alpha.2 → 9.3.0-alpha.6
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/dist/animation-loop/animation-loop.d.ts +8 -4
- package/dist/animation-loop/animation-loop.d.ts.map +1 -1
- package/dist/animation-loop/animation-loop.js +70 -43
- package/dist/animation-loop/animation-loop.js.map +1 -1
- package/dist/animation-loop/make-animation-loop.js +7 -1
- package/dist/animation-loop/make-animation-loop.js.map +1 -1
- package/dist/animation-loop/request-animation-frame.d.ts.map +1 -1
- package/dist/animation-loop/request-animation-frame.js +23 -6
- package/dist/animation-loop/request-animation-frame.js.map +1 -1
- package/dist/dist.dev.js +442 -209
- package/dist/dist.min.js +37 -79
- package/dist/dynamic-texture/dynamic-texture.d.ts +3 -3
- package/dist/dynamic-texture/dynamic-texture.d.ts.map +1 -1
- package/dist/dynamic-texture/dynamic-texture.js +187 -36
- package/dist/dynamic-texture/dynamic-texture.js.map +1 -1
- package/dist/dynamic-texture/texture-data.d.ts +4 -0
- package/dist/dynamic-texture/texture-data.d.ts.map +1 -1
- package/dist/dynamic-texture/texture-data.js +9 -1
- package/dist/dynamic-texture/texture-data.js.map +1 -1
- package/dist/factories/pipeline-factory.d.ts +7 -5
- package/dist/factories/pipeline-factory.d.ts.map +1 -1
- package/dist/factories/pipeline-factory.js +71 -36
- package/dist/factories/pipeline-factory.js.map +1 -1
- package/dist/factories/shader-factory.d.ts +0 -3
- package/dist/factories/shader-factory.d.ts.map +1 -1
- package/dist/factories/shader-factory.js +13 -19
- package/dist/factories/shader-factory.js.map +1 -1
- package/dist/geometries/cone-geometry.d.ts +3 -1
- package/dist/geometries/cone-geometry.d.ts.map +1 -1
- package/dist/geometries/cone-geometry.js.map +1 -1
- package/dist/geometries/cylinder-geometry.d.ts +2 -1
- package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
- package/dist/geometries/cylinder-geometry.js.map +1 -1
- package/dist/index.cjs +433 -208
- package/dist/index.cjs.map +2 -2
- package/dist/model/model.d.ts +3 -1
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +11 -9
- package/dist/model/model.js.map +1 -1
- package/dist/models/billboard-texture-model.d.ts.map +1 -1
- package/dist/models/billboard-texture-model.js +10 -8
- package/dist/models/billboard-texture-model.js.map +1 -1
- package/dist/models/clip-space.js +7 -7
- package/dist/modules/picking/index-picking.d.ts +1 -1
- package/dist/modules/picking/index-picking.d.ts.map +1 -1
- package/dist/modules/picking/index-picking.js +0 -6
- package/dist/modules/picking/index-picking.js.map +1 -1
- package/dist/passes/get-fragment-shader.js +11 -30
- package/dist/passes/get-fragment-shader.js.map +1 -1
- package/dist/passes/shader-pass-renderer.d.ts +0 -2
- package/dist/passes/shader-pass-renderer.d.ts.map +1 -1
- package/dist/passes/shader-pass-renderer.js +4 -31
- package/dist/passes/shader-pass-renderer.js.map +1 -1
- package/dist/scenegraph/group-node.d.ts +5 -0
- package/dist/scenegraph/group-node.d.ts.map +1 -1
- package/dist/scenegraph/group-node.js +12 -0
- package/dist/scenegraph/group-node.js.map +1 -1
- package/dist/scenegraph/model-node.d.ts +2 -2
- package/dist/scenegraph/model-node.d.ts.map +1 -1
- package/dist/scenegraph/model-node.js.map +1 -1
- package/dist/scenegraph/scenegraph-node.d.ts +1 -1
- package/dist/scenegraph/scenegraph-node.d.ts.map +1 -1
- package/dist/scenegraph/scenegraph-node.js +23 -15
- package/dist/scenegraph/scenegraph-node.js.map +1 -1
- package/dist/utils/buffer-layout-order.d.ts.map +1 -1
- package/dist/utils/buffer-layout-order.js +12 -2
- package/dist/utils/buffer-layout-order.js.map +1 -1
- package/package.json +4 -4
- package/src/animation-loop/animation-loop.ts +75 -46
- package/src/animation-loop/make-animation-loop.ts +13 -5
- package/src/animation-loop/request-animation-frame.ts +32 -6
- package/src/dynamic-texture/dynamic-texture.ts +248 -39
- package/src/dynamic-texture/texture-data.ts +15 -1
- package/src/factories/pipeline-factory.ts +87 -46
- package/src/factories/shader-factory.ts +16 -20
- package/src/geometries/cone-geometry.ts +6 -1
- package/src/geometries/cylinder-geometry.ts +5 -1
- package/src/model/model.ts +14 -10
- package/src/models/billboard-texture-model.ts +10 -8
- package/src/models/clip-space.ts +7 -7
- package/src/modules/picking/index-picking.ts +0 -6
- package/src/passes/get-fragment-shader.ts +11 -30
- package/src/passes/shader-pass-renderer.ts +4 -33
- package/src/scenegraph/group-node.ts +16 -0
- package/src/scenegraph/model-node.ts +2 -2
- package/src/scenegraph/scenegraph-node.ts +27 -16
- package/src/utils/buffer-layout-order.ts +18 -2
package/dist/model/model.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs' | 'bindings'> & {
|
|
|
21
21
|
shaderInputs?: ShaderInputs;
|
|
22
22
|
/** Bindings */
|
|
23
23
|
bindings?: Record<string, Binding | DynamicTexture>;
|
|
24
|
+
/** WebGL-only uniforms */
|
|
25
|
+
uniforms?: Record<string, unknown>;
|
|
24
26
|
/** Parameters that are built into the pipeline */
|
|
25
27
|
parameters?: RenderPipelineParameters;
|
|
26
28
|
/** Geometry */
|
|
@@ -62,7 +64,7 @@ export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs' | 'bindings'> & {
|
|
|
62
64
|
* - Reuses and lazily recompiles {@link RenderPipeline | pipelines} as needed.
|
|
63
65
|
* - Integrates with `@luma.gl/shadertools` to assemble GLSL or WGSL from shader modules.
|
|
64
66
|
* - Manages geometry attributes and buffer bindings.
|
|
65
|
-
* - Accepts textures, samplers and uniform buffers as bindings, including `
|
|
67
|
+
* - Accepts textures, samplers and uniform buffers as bindings, including `DynamicTexture`.
|
|
66
68
|
* - Provides detailed debug logging and optional shader source inspection.
|
|
67
69
|
*/
|
|
68
70
|
export declare class Model {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EAEZ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EAEN,MAAM,EAIN,cAAc,EACd,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAC,QAAQ,EAAC,gCAA6B;AACnD,OAAO,EAAC,WAAW,EAAkB,oCAAiC;AACtE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAO1D,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAKlE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,GAAG;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,oEAAoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;IACpD,kDAAkD;IAClD,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAEtC,eAAe;IACf,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEzC,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEhD,0GAA0G;IAC1G,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE1D,mGAAmG;IACnG,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,KAAK;IAChB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EAEZ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EAEN,MAAM,EAIN,cAAc,EACd,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAC,QAAQ,EAAC,gCAA6B;AACnD,OAAO,EAAC,WAAW,EAAkB,oCAAiC;AACtE,OAAO,EAAC,eAAe,EAAC,yCAAsC;AAC9D,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAO1D,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAKlE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,GAAG;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,oEAAoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;IACpD,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kDAAkD;IAClD,UAAU,CAAC,EAAE,wBAAwB,CAAC;IAEtC,eAAe;IACf,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IAEzC,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEhD,0GAA0G;IAC1G,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE1D,mGAAmG;IACnG,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,KAAK;IAChB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CA8BvC;IAEF,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mDAAmD;IAEnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAEhC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAElC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,qCAAqC;IACrC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,mCAAmC;IACnC,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAM;IAIpC,4DAA4D;IAC5D,UAAU,EAAE,wBAAwB,CAAC;IAErC,6BAA6B;IAC7B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,oBAAoB;IACpB,YAAY,EAAE,YAAY,EAAE,CAAC;IAI7B,8BAA8B;IAC9B,WAAW,EAAE,OAAO,GAAG,SAAS,CAAa;IAC7C,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAK;IAC1B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IAEpB,mBAAmB;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,+BAA+B;IAC/B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC9C,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAM;IACpD,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,CAAM;IAExD;;;;SAIK;IACL,WAAW,EAAE,WAAW,CAAC;IAEzB,uCAAuC;IACvC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAEnD,gFAAgF;IAChF,QAAQ,EAAE,cAAc,CAAC;IAEzB,4BAA4B;IAE5B,YAAY,EAAE,YAAY,CAAC;IAE3B,aAAa,EAAE,YAAY,CAAC;IAE5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAM;IACpD,YAAY,EAAE,WAAW,GAAG,IAAI,CAAQ;IACxC,OAAO,CAAC,KAAK,CAAuB;IAEpC,oBAAoB,EAAE,MAAM,GAAG,KAAK,CAAmB;IACvD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,UAAU,CAAS;IAE3B,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAM;IAEhC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED,QAAQ,IAAI,MAAM;gBAIN,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAqH7C,OAAO,IAAI,IAAI;IAkBf,8CAA8C;IAC9C,WAAW,IAAI,KAAK,GAAG,MAAM;IAU7B,yCAAyC;IACzC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,2DAA2D;IAC3D,OAAO,IAAI,IAAI;IAOf;;;;OAIG;IACH,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAoErC;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI;IAiB1D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAO9C;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI;IAuBnD;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,wBAAwB;IASlD;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAU7C;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,4BAA4B;IAC5B,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAajD,4DAA4D;IAC5D,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG,IAAI;IAKrE;;OAEG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAKvE;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKhD;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI;IAmD3F;;;;;;;OAOG;IACH,qBAAqB,CACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtC,OAAO,CAAC,EAAE;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAC,GACpC,IAAI;IAgBP,yFAAyF;IACzF,mBAAmB,IAAI,MAAM,GAAG,KAAK;IASrC,+GAA+G;IAC/G,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiBvC,0FAA0F;IAC1F,2BAA2B,IAAI,MAAM;IAmBrC;;;;OAIG;IACH,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAqBtD,sCAAsC;IACtC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK7C,gCAAgC;IAChC,eAAe,IAAI,cAAc;IA2DjC,iCAAiC;IACjC,YAAY,SAAK;IACjB,QAAQ,UAAS;IAEjB,iBAAiB,IAAI,IAAI;IAazB,eAAe,IAAI,IAAI;IAoBvB,SAAS,CAAC,UAAU,SAAK;IACzB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAgB7C,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA4BlE,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,GAAG,GAAG,MAAM;CAMlF;AAQD,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAS5D"}
|
package/dist/model/model.js
CHANGED
|
@@ -28,7 +28,7 @@ const LOG_DRAW_TIMEOUT = 10000;
|
|
|
28
28
|
* - Reuses and lazily recompiles {@link RenderPipeline | pipelines} as needed.
|
|
29
29
|
* - Integrates with `@luma.gl/shadertools` to assemble GLSL or WGSL from shader modules.
|
|
30
30
|
* - Manages geometry attributes and buffer bindings.
|
|
31
|
-
* - Accepts textures, samplers and uniform buffers as bindings, including `
|
|
31
|
+
* - Accepts textures, samplers and uniform buffers as bindings, including `DynamicTexture`.
|
|
32
32
|
* - Provides detailed debug logging and optional shader source inspection.
|
|
33
33
|
*/
|
|
34
34
|
export class Model {
|
|
@@ -46,6 +46,8 @@ export class Model {
|
|
|
46
46
|
indexBuffer: null,
|
|
47
47
|
attributes: {},
|
|
48
48
|
constantAttributes: {},
|
|
49
|
+
bindings: {},
|
|
50
|
+
uniforms: {},
|
|
49
51
|
varyings: [],
|
|
50
52
|
isInstanced: undefined,
|
|
51
53
|
instanceCount: 0,
|
|
@@ -231,7 +233,7 @@ export class Model {
|
|
|
231
233
|
this.pipelineFactory.release(this.pipeline);
|
|
232
234
|
// Release the shaders
|
|
233
235
|
this.shaderFactory.release(this.pipeline.vs);
|
|
234
|
-
if (this.pipeline.fs) {
|
|
236
|
+
if (this.pipeline.fs && this.pipeline.fs !== this.pipeline.vs) {
|
|
235
237
|
this.shaderFactory.release(this.pipeline.fs);
|
|
236
238
|
}
|
|
237
239
|
this._uniformStore.destroy();
|
|
@@ -288,13 +290,7 @@ export class Model {
|
|
|
288
290
|
// TODO - inside RenderPass is likely the worst place to do this from performance perspective.
|
|
289
291
|
// Application can call Model.predraw() to avoid this.
|
|
290
292
|
this.pipeline = this._updatePipeline();
|
|
291
|
-
// Set pipeline state, we may be sharing a pipeline so we need to set all state on every draw
|
|
292
|
-
// Any caching needs to be done inside the pipeline functions
|
|
293
|
-
// TODO this is a busy initialized check for all bindings every frame
|
|
294
293
|
const syncBindings = this._getBindings();
|
|
295
|
-
this.pipeline.setBindings(syncBindings, {
|
|
296
|
-
disableWarnings: this.props.disableWarnings
|
|
297
|
-
});
|
|
298
294
|
const { indexBuffer } = this.vertexArray;
|
|
299
295
|
const indexCount = indexBuffer
|
|
300
296
|
? indexBuffer.byteLength / (indexBuffer.indexType === 'uint32' ? 4 : 2)
|
|
@@ -307,6 +303,11 @@ export class Model {
|
|
|
307
303
|
instanceCount: this.instanceCount,
|
|
308
304
|
indexCount,
|
|
309
305
|
transformFeedback: this.transformFeedback || undefined,
|
|
306
|
+
// Pipelines may be shared across models when caching is enabled, so bindings
|
|
307
|
+
// and WebGL uniforms must be supplied on every draw instead of being stored
|
|
308
|
+
// on the pipeline instance.
|
|
309
|
+
bindings: syncBindings,
|
|
310
|
+
uniforms: this.props.uniforms,
|
|
310
311
|
// WebGL shares underlying cached pipelines even for models that have different parameters and topology,
|
|
311
312
|
// so we must provide our unique parameters to each draw
|
|
312
313
|
// (In WebGPU most parameters are encoded in the pipeline and cannot be changed per draw call)
|
|
@@ -635,8 +636,9 @@ export class Model {
|
|
|
635
636
|
this._attributeInfos = getAttributeInfosFromLayouts(this.pipeline.shaderLayout, this.bufferLayout);
|
|
636
637
|
if (prevShaderVs)
|
|
637
638
|
this.shaderFactory.release(prevShaderVs);
|
|
638
|
-
if (prevShaderFs)
|
|
639
|
+
if (prevShaderFs && prevShaderFs !== prevShaderVs) {
|
|
639
640
|
this.shaderFactory.release(prevShaderFs);
|
|
641
|
+
}
|
|
640
642
|
}
|
|
641
643
|
return this.pipeline;
|
|
642
644
|
}
|
package/dist/model/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billboard-texture-model.d.ts","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,wBAAqB;AAsDvD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,cAAc,GAAG;IACzD,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,iBAAiB,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5C,iIAAiI;IACjI,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,iBAAiB,EAAE,OAAO,CAAS;gBAEvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"billboard-texture-model.d.ts","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,wBAAqB;AAsDvD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,cAAc,GAAG;IACzD,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,iBAAiB,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5C,iIAAiI;IACjI,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,iBAAiB,EAAE,OAAO,CAAS;gBAEvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B;IA8B9D,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAqBlD,OAAO,IAAI,IAAI;IAKxB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAwBpC"}
|
|
@@ -17,15 +17,15 @@ struct backgroundUniforms {
|
|
|
17
17
|
};
|
|
18
18
|
@group(0) @binding(2) var<uniform> background: backgroundUniforms;
|
|
19
19
|
|
|
20
|
-
fn billboardTexture_getTextureUV(
|
|
20
|
+
fn billboardTexture_getTextureUV(uv: vec2<f32>) -> vec2<f32> {
|
|
21
21
|
let scale: vec2<f32> = background.scale;
|
|
22
|
-
var position: vec2<f32> = (
|
|
22
|
+
var position: vec2<f32> = (uv - vec2<f32>(0.5, 0.5)) / scale + vec2<f32>(0.5, 0.5);
|
|
23
23
|
return position;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
@fragment
|
|
27
27
|
fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4<f32> {
|
|
28
|
-
let position: vec2<f32> = billboardTexture_getTextureUV(inputs.
|
|
28
|
+
let position: vec2<f32> = billboardTexture_getTextureUV(inputs.uv);
|
|
29
29
|
return textureSample(backgroundTexture, backgroundTextureSampler, position);
|
|
30
30
|
}
|
|
31
31
|
`;
|
|
@@ -59,21 +59,23 @@ export class BackgroundTextureModel extends ClipSpace {
|
|
|
59
59
|
backgroundTexture = null;
|
|
60
60
|
constructor(device, props) {
|
|
61
61
|
super(device, {
|
|
62
|
+
...props,
|
|
62
63
|
id: props.id || 'background-texture-model',
|
|
63
64
|
source: BACKGROUND_FS_WGSL,
|
|
64
65
|
fs: BACKGROUND_FS,
|
|
65
|
-
modules: [backgroundModule],
|
|
66
|
+
modules: [...(props.modules || []), backgroundModule],
|
|
66
67
|
parameters: {
|
|
67
68
|
depthWriteEnabled: false,
|
|
69
|
+
...(props.parameters || {}),
|
|
68
70
|
...(props.blend
|
|
69
71
|
? {
|
|
70
72
|
blend: true,
|
|
71
73
|
blendColorOperation: 'add',
|
|
72
74
|
blendAlphaOperation: 'add',
|
|
73
|
-
blendColorSrcFactor: 'one',
|
|
74
|
-
blendColorDstFactor: 'one
|
|
75
|
-
blendAlphaSrcFactor: 'one',
|
|
76
|
-
blendAlphaDstFactor: 'one
|
|
75
|
+
blendColorSrcFactor: 'one-minus-dst-alpha',
|
|
76
|
+
blendColorDstFactor: 'one',
|
|
77
|
+
blendAlphaSrcFactor: 'one-minus-dst-alpha',
|
|
78
|
+
blendAlphaDstFactor: 'one'
|
|
77
79
|
}
|
|
78
80
|
: {})
|
|
79
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billboard-texture-model.js","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAiB,wBAAqB;AAEvD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE;QACZ,KAAK,EAAE,WAAW;KACnB;CAC6D,CAAC;AAEjE,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;CAmBrC,CAAC;AAEF,MAAM,aAAa,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBhC,CAAC;AAcF;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACnD,iBAAiB,GAAY,IAAK,CAAC;IAEnC,YAAY,MAAc,EAAE,KAAkC;QAC5D,KAAK,CAAC,MAAM,EAAE;YACZ,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,0BAA0B;YAC1C,MAAM,EAAE,kBAAkB;YAC1B,EAAE,EAAE,aAAa;YACjB,OAAO,EAAE,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"billboard-texture-model.js","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ import { Geometry } from "../geometry/geometry.js";
|
|
|
6
6
|
import { uid } from "../utils/uid.js";
|
|
7
7
|
const CLIPSPACE_VERTEX_SHADER_WGSL = /* wgsl */ `\
|
|
8
8
|
struct VertexInputs {
|
|
9
|
-
@location(0)
|
|
10
|
-
@location(1)
|
|
11
|
-
@location(2)
|
|
9
|
+
@location(0) clipSpacePositions: vec2<f32>,
|
|
10
|
+
@location(1) texCoords: vec2<f32>,
|
|
11
|
+
@location(2) coordinates: vec2<f32>
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
struct FragmentInputs {
|
|
@@ -21,10 +21,10 @@ struct FragmentInputs {
|
|
|
21
21
|
@vertex
|
|
22
22
|
fn vertexMain(inputs: VertexInputs) -> FragmentInputs {
|
|
23
23
|
var outputs: FragmentInputs;
|
|
24
|
-
outputs.Position = vec4(inputs.
|
|
25
|
-
outputs.position = inputs.
|
|
26
|
-
outputs.coordinate = inputs.
|
|
27
|
-
outputs.uv = inputs.
|
|
24
|
+
outputs.Position = vec4(inputs.clipSpacePositions, 0., 1.);
|
|
25
|
+
outputs.position = inputs.clipSpacePositions;
|
|
26
|
+
outputs.coordinate = inputs.coordinates;
|
|
27
|
+
outputs.uv = inputs.texCoords;
|
|
28
28
|
return outputs;
|
|
29
29
|
}
|
|
30
30
|
`;
|
|
@@ -12,7 +12,7 @@ import type { PickingProps, PickingUniforms } from "./picking-uniforms.js";
|
|
|
12
12
|
*/
|
|
13
13
|
export declare const picking: {
|
|
14
14
|
readonly name: "picking";
|
|
15
|
-
readonly source: "struct pickingUniforms {\n isActive: int32;\n indexMode: int32;\n batchIndex: int32;\n\n isHighlightActive: int32;\n highlightedBatchIndex: int32;\n highlightedObjectIndex: int32;\n highlightColor: vec4<f32>;\n} picking;\n\n\nconst INDEX_PICKING_MODE_INSTANCE = 0;\nconst INDEX_PICKING_MODE_CUSTOM = 1;\nconst INDEX_PICKING_INVALID_INDEX = -1; // 2^32 - 1\n\
|
|
15
|
+
readonly source: "struct pickingUniforms {\n isActive: int32;\n indexMode: int32;\n batchIndex: int32;\n\n isHighlightActive: int32;\n highlightedBatchIndex: int32;\n highlightedObjectIndex: int32;\n highlightColor: vec4<f32>;\n} picking;\n\n\nconst INDEX_PICKING_MODE_INSTANCE = 0;\nconst INDEX_PICKING_MODE_CUSTOM = 1;\nconst INDEX_PICKING_INVALID_INDEX = -1; // 2^32 - 1\n\n/**\n * Vertex shaders should call this function to set the object index.\n * If using instance or vertex mode, argument will be ignored, 0 can be supplied.\n */\nfn picking_setObjectIndex(objectIndex: int32) {\n switch (picking.indexMode) {\n case INDEX_PICKING_MODE_INSTANCE, default: {\n picking_objectIndex = instance_index;\n };\n case INDEX_PICKING_MODE_CUSTOM: {\n picking_objectIndex = objectIndex;\n };\n }\n}\n\n";
|
|
16
16
|
readonly vs: "precision highp float;\nprecision highp int;\n\nuniform pickingUniforms {\n int isActive;\n int indexMode;\n int batchIndex;\n\n int isHighlightActive;\n int highlightedBatchIndex;\n int highlightedObjectIndex;\n vec4 highlightColor;\n} picking;\n\n\nconst int INDEX_PICKING_MODE_INSTANCE = 0;\nconst int INDEX_PICKING_MODE_CUSTOM = 1;\n\nconst int INDEX_PICKING_INVALID_INDEX = -1; // 2^32 - 1\n\nflat out int picking_objectIndex;\n\n/**\n * Vertex shaders should call this function to set the object index.\n * If using instance or vertex mode, argument will be ignored, 0 can be supplied.\n */\nvoid picking_setObjectIndex(int objectIndex) {\n switch (picking.indexMode) {\n case INDEX_PICKING_MODE_INSTANCE:\n picking_objectIndex = gl_InstanceID;\n break;\n case INDEX_PICKING_MODE_CUSTOM:\n picking_objectIndex = objectIndex;\n break;\n }\n}\n";
|
|
17
17
|
readonly fs: "precision highp float;\nprecision highp int;\n\nuniform pickingUniforms {\n int isActive;\n int indexMode;\n int batchIndex;\n\n int isHighlightActive;\n int highlightedBatchIndex;\n int highlightedObjectIndex;\n vec4 highlightColor;\n} picking;\n\n\nconst int INDEX_PICKING_INVALID_INDEX = -1; // 2^32 - 1\n\nflat in int picking_objectIndex;\n\n/**\n * Check if this vertex is highlighted (part of the selected batch and object)\n */ \nbool picking_isFragmentHighlighted() {\n return \n bool(picking.isHighlightActive) &&\n picking.highlightedBatchIndex == picking.batchIndex &&\n picking.highlightedObjectIndex == picking_objectIndex\n ;\n}\n\n/**\n * Returns highlight color if this item is selected.\n */\nvec4 picking_filterHighlightColor(vec4 color) {\n // If we are still picking, we don't highlight\n if (bool(picking.isActive)) {\n return color;\n }\n\n // If we are not highlighted, return color as is\n if (!picking_isFragmentHighlighted()) {\n return color;\n }\n \n // Blend in highlight color based on its alpha value\n float highLightAlpha = picking.highlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking.highlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\n/*\n * Returns picking color if picking enabled else unmodified argument.\n */\nivec4 picking_getPickingColor() {\n // Assumes that colorAttachment0 is rg32int\n // TODO? - we could render indices into a second color attachment and not mess with fragColor\n return ivec4(picking_objectIndex, picking.batchIndex, 0u, 0u); \n}\n\nvec4 picking_filterPickingColor(vec4 color) {\n if (bool(picking.isActive)) {\n if (picking_objectIndex == INDEX_PICKING_INVALID_INDEX) {\n discard;\n }\n }\n return color;\n}\n\n/*\n * Returns picking color if picking is enabled if not\n * highlight color if this item is selected, otherwise unmodified argument.\n */\nvec4 picking_filterColor(vec4 color) {\n vec4 outColor = color;\n outColor = picking_filterHighlightColor(outColor);\n outColor = picking_filterPickingColor(outColor);\n return outColor;\n}\n";
|
|
18
18
|
readonly props: PickingProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-picking.d.ts","sourceRoot":"","sources":["../../../src/modules/picking/index-picking.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAkB,YAAY,EAAE,eAAe,EAAC,8BAA2B;
|
|
1
|
+
{"version":3,"file":"index-picking.d.ts","sourceRoot":"","sources":["../../../src/modules/picking/index-picking.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAkB,YAAY,EAAE,eAAe,EAAC,8BAA2B;AA8HvF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAM6D,CAAC"}
|
|
@@ -10,12 +10,6 @@ const INDEX_PICKING_MODE_INSTANCE = 0;
|
|
|
10
10
|
const INDEX_PICKING_MODE_CUSTOM = 1;
|
|
11
11
|
const INDEX_PICKING_INVALID_INDEX = ${INVALID_INDEX}; // 2^32 - 1
|
|
12
12
|
|
|
13
|
-
struct indexPickingFragmentInputs = {
|
|
14
|
-
objectIndex: int32;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
let indexPickingFragmentInputs: indexPickingFragmentInputs;
|
|
18
|
-
|
|
19
13
|
/**
|
|
20
14
|
* Vertex shaders should call this function to set the object index.
|
|
21
15
|
* If using instance or vertex mode, argument will be ignored, 0 can be supplied.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-picking.js","sourceRoot":"","sources":["../../../src/modules/picking/index-picking.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAC,8BAA2B;AAEhG,UAAU;AAEV,MAAM,MAAM,GAAG,UAAU,CAAC;EACxB,aAAa;;;;sCAIuB,aAAa
|
|
1
|
+
{"version":3,"file":"index-picking.js","sourceRoot":"","sources":["../../../src/modules/picking/index-picking.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAKpC,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAC,8BAA2B;AAEhG,UAAU;AAEV,MAAM,MAAM,GAAG,UAAU,CAAC;EACxB,aAAa;;;;sCAIuB,aAAa;;;;;;;;;;;;;;;;;CAiBlD,CAAC;AAEF,MAAM,EAAE,GAAG,UAAU,CAAC;EACpB,aAAa;;;;;0CAK2B,aAAa;;;;;;;;;;;;;;;;;;CAkBtD,CAAC;AAEF,MAAM,EAAE,GAAG,UAAU,CAAC;EACpB,aAAa;;0CAE2B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEtD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,eAAe;IAClB,IAAI,EAAE,SAAS;IACf,MAAM;IACN,EAAE;IACF,EAAE;CAC6E,CAAC"}
|
|
@@ -26,26 +26,16 @@ export function getFragmentShaderForRenderPass(options) {
|
|
|
26
26
|
/** Get a filtering WGSL fragment shader */
|
|
27
27
|
function getFilterShaderWGSL(func) {
|
|
28
28
|
return /* wgsl */ `\
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@group(0) @binding(1) var texture: texture_2d<f32>;
|
|
32
|
-
@group(0) @binding(2) var textureSampler: sampler;
|
|
33
|
-
|
|
34
|
-
// This needs to be aligned with
|
|
35
|
-
// struct FragmentInputs {
|
|
36
|
-
// @location(0) fragUV: vec2f,
|
|
37
|
-
// @location(1) fragPosition: vec4f,
|
|
38
|
-
// @location(2) fragCoordinate: vec4f
|
|
39
|
-
// };
|
|
29
|
+
@group(0) @binding(0) var sourceTexture: texture_2d<f32>;
|
|
30
|
+
@group(0) @binding(2) var sourceTextureSampler: sampler;
|
|
40
31
|
|
|
41
32
|
@fragment
|
|
42
33
|
fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4f {
|
|
43
|
-
let
|
|
44
|
-
let
|
|
45
|
-
let texSize = vec2f(textureDimensions(texture, 0));
|
|
34
|
+
let texCoord = inputs.coordinate;
|
|
35
|
+
let texSize = vec2f(textureDimensions(sourceTexture));
|
|
46
36
|
|
|
47
|
-
var fragColor = textureSample(
|
|
48
|
-
fragColor = ${func}(fragColor, texSize,
|
|
37
|
+
var fragColor = textureSample(sourceTexture, sourceTextureSampler, texCoord);
|
|
38
|
+
fragColor = ${func}(fragColor, texSize, texCoord);
|
|
49
39
|
return fragColor;
|
|
50
40
|
}
|
|
51
41
|
`;
|
|
@@ -53,23 +43,14 @@ fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4f {
|
|
|
53
43
|
/** Get a sampling WGSL fragment shader */
|
|
54
44
|
function getSamplerShaderWGSL(func) {
|
|
55
45
|
return /* wgsl */ `\
|
|
56
|
-
|
|
57
|
-
@group(0) @binding(
|
|
58
|
-
@group(0) @binding(1) var texture: texture_2d<f32>;
|
|
59
|
-
@group(0) @binding(2) var sampler: sampler;
|
|
60
|
-
|
|
61
|
-
struct FragmentInputs = {
|
|
62
|
-
@location(0) fragUV: vec2f,
|
|
63
|
-
@location(1) fragPosition: vec4f,
|
|
64
|
-
@location(2) fragCoordinate: vec4f
|
|
65
|
-
};
|
|
46
|
+
@group(0) @binding(0) var sourceTexture: texture_2d<f32>;
|
|
47
|
+
@group(0) @binding(2) var sourceTextureSampler: sampler;
|
|
66
48
|
|
|
67
49
|
@fragment
|
|
68
50
|
fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4f {
|
|
69
|
-
let
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
return fragColor;
|
|
51
|
+
let texCoord = inputs.coordinate;
|
|
52
|
+
let texSize = vec2f(textureDimensions(sourceTexture));
|
|
53
|
+
return ${func}(sourceTexture, sourceTextureSampler, texSize, texCoord);
|
|
73
54
|
}
|
|
74
55
|
`;
|
|
75
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-fragment-shader.js","sourceRoot":"","sources":["../../src/passes/get-fragment-shader.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAI9C;IACC,MAAM,EAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAC,GAAG,OAAO,CAAC;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,kBAAkB,CAAC;YACxD,OAAO,eAAe,KAAK,MAAM;gBAC/B,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC;gBACjC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEtC,KAAK,QAAQ;YACX,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,IAAI,cAAc,CAAC;YACrD,OAAO,eAAe,KAAK,MAAM;gBAC/B,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC;gBACnC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAExC;YACE,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,+CAA+C,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"get-fragment-shader.js","sourceRoot":"","sources":["../../src/passes/get-fragment-shader.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAI9C;IACC,MAAM,EAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAC,GAAG,OAAO,CAAC;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ;YACX,MAAM,UAAU,GAAG,GAAG,UAAU,CAAC,IAAI,kBAAkB,CAAC;YACxD,OAAO,eAAe,KAAK,MAAM;gBAC/B,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC;gBACjC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEtC,KAAK,QAAQ;YACX,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,IAAI,cAAc,CAAC;YACrD,OAAO,eAAe,KAAK,MAAM;gBAC/B,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC;gBACnC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAExC;YACE,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI,+CAA+C,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC;;;;;;;;;;gBAUJ,IAAI;;;CAGnB,CAAC;AACF,CAAC;AAED,0CAA0C;AAC1C,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,UAAU,CAAC;;;;;;;;WAQT,IAAI;;CAEd,CAAC;AACF,CAAC;AAED,2CAA2C;AAC3C,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,UAAU,CAAC;;;;;;;;;;;;;;;;;gBAiBJ,IAAI;;CAEnB,CAAC;AACF,CAAC;AAED,0CAA0C;AAC1C,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,UAAU,CAAC;;;;;;;;;;;;;;;;gBAgBJ,IAAI;;CAEnB,CAAC;AACF,CAAC"}
|
|
@@ -19,8 +19,6 @@ export declare class ShaderPassRenderer {
|
|
|
19
19
|
shaderInputs: ShaderInputs;
|
|
20
20
|
passRenderers: PassRenderer[];
|
|
21
21
|
swapFramebuffers: SwapFramebuffers;
|
|
22
|
-
/** For rendering to the screen */
|
|
23
|
-
clipSpace: ClipSpace;
|
|
24
22
|
textureModel: BackgroundTextureModel;
|
|
25
23
|
constructor(device: Device, props: ShaderPassRendererProps);
|
|
26
24
|
/** Destroys resources created by this ShaderPassRenderer */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-pass-renderer.d.ts","sourceRoot":"","sources":["../../src/passes/shader-pass-renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,gBAAgB,EAAC,2BAAwB;AACjD,OAAO,EAAC,sBAAsB,EAAC,6CAA0C;AAIzE,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,mCAAmC;AACnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,yDAAyD;IACzD,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,4DAA4D;AAC5D,qBAAa,kBAAkB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"shader-pass-renderer.d.ts","sourceRoot":"","sources":["../../src/passes/shader-pass-renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,gBAAgB,EAAC,2BAAwB;AACjD,OAAO,EAAC,sBAAsB,EAAC,6CAA0C;AAIzE,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D,mCAAmC;AACnC,MAAM,MAAM,uBAAuB,GAAG;IACpC,yDAAyD;IACzD,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,4DAA4D;AAC5D,qBAAa,kBAAkB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,sBAAsB,CAAC;gBAEzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB;IAyB1D,4DAA4D;IAC5D,OAAO;IAQP,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKpD,cAAc,CAAC,OAAO,EAAE;QACtB,aAAa,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,GAAG,OAAO;IAuBX;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE;QACvB,aAAa,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,QAAQ,CAAC,EAAE,GAAG,CAAC;KAChB,GAAG,OAAO,GAAG,IAAI;CA4DnB;AAED,6BAA6B;AAC7B,cAAM,YAAY;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,eAAe,EAAE,CAAC;gBAExB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,KAAK;IAa9D,OAAO;CAKR;AAED,0CAA0C;AAC1C,cAAM,eAAe;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa;IAsB1E,OAAO;IAIP,MAAM,CAAC,OAAO,EAAE;QAAC,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAC,GAAG,IAAI;CAa/D"}
|
|
@@ -13,8 +13,6 @@ export class ShaderPassRenderer {
|
|
|
13
13
|
shaderInputs;
|
|
14
14
|
passRenderers;
|
|
15
15
|
swapFramebuffers;
|
|
16
|
-
/** For rendering to the screen */
|
|
17
|
-
clipSpace;
|
|
18
16
|
textureModel;
|
|
19
17
|
constructor(device, props) {
|
|
20
18
|
this.device = device;
|
|
@@ -30,29 +28,6 @@ export class ShaderPassRenderer {
|
|
|
30
28
|
this.textureModel = new BackgroundTextureModel(device, {
|
|
31
29
|
backgroundTexture: this.swapFramebuffers.current.colorAttachments[0].texture
|
|
32
30
|
});
|
|
33
|
-
this.clipSpace = new ClipSpace(device, {
|
|
34
|
-
source: /* wgsl */ `\
|
|
35
|
-
@group(0) @binding(0) var sourceTexture: texture_2d<f32>;
|
|
36
|
-
@group(0) @binding(1) var sourceTextureSampler: sampler;
|
|
37
|
-
|
|
38
|
-
@fragment
|
|
39
|
-
fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4<f32> {
|
|
40
|
-
let texCoord: vec2<f32> = inputs.coordinate;
|
|
41
|
-
return textureSample(sourceTexture, sourceTextureSampler, texCoord);
|
|
42
|
-
}
|
|
43
|
-
`,
|
|
44
|
-
fs: /* glsl */ `\
|
|
45
|
-
#version 300 es
|
|
46
|
-
|
|
47
|
-
uniform sampler2D sourceTexture;
|
|
48
|
-
in vec2 uv;
|
|
49
|
-
out vec4 fragColor;
|
|
50
|
-
|
|
51
|
-
void main() {
|
|
52
|
-
fragColor = texture(sourceTexture, uv);
|
|
53
|
-
}
|
|
54
|
-
`
|
|
55
|
-
});
|
|
56
31
|
this.passRenderers = props.shaderPasses.map(shaderPass => new PassRenderer(device, shaderPass));
|
|
57
32
|
}
|
|
58
33
|
/** Destroys resources created by this ShaderPassRenderer */
|
|
@@ -61,7 +36,6 @@ void main() {
|
|
|
61
36
|
subPassRenderer.destroy();
|
|
62
37
|
}
|
|
63
38
|
this.swapFramebuffers.destroy();
|
|
64
|
-
this.clipSpace.destroy();
|
|
65
39
|
this.textureModel.destroy();
|
|
66
40
|
}
|
|
67
41
|
resize(size) {
|
|
@@ -77,16 +51,15 @@ void main() {
|
|
|
77
51
|
}
|
|
78
52
|
const framebuffer = this.device
|
|
79
53
|
.getDefaultCanvasContext()
|
|
80
|
-
|
|
81
|
-
.getCurrentFramebuffer({ depthStencilAttachment: false });
|
|
54
|
+
.getCurrentFramebuffer({ depthStencilFormat: false });
|
|
82
55
|
const renderPass = this.device.beginRenderPass({
|
|
83
56
|
id: 'shader-pass-renderer-to-screen',
|
|
84
57
|
framebuffer,
|
|
85
58
|
// clearColor: [1, 1, 0, 1],
|
|
86
|
-
clearDepth:
|
|
59
|
+
clearDepth: false
|
|
87
60
|
});
|
|
88
|
-
this.
|
|
89
|
-
this.
|
|
61
|
+
this.textureModel.setProps({ backgroundTexture: outputTexture });
|
|
62
|
+
this.textureModel.draw(renderPass);
|
|
90
63
|
renderPass.end();
|
|
91
64
|
return true;
|
|
92
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shader-pass-renderer.js","sourceRoot":"","sources":["../../src/passes/shader-pass-renderer.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAE9C,OAAO,EAAC,SAAS,EAAC,gCAA6B;AAC/C,OAAO,EAAC,gBAAgB,EAAC,2BAAwB;AACjD,OAAO,EAAC,sBAAsB,EAAC,6CAA0C;AAEzE,OAAO,EAAC,8BAA8B,EAAC,iCAA8B;AAYrE,4DAA4D;AAC5D,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAS;IACf,YAAY,CAAe;IAC3B,aAAa,CAAiB;IAC9B,gBAAgB,CAAmB;IACnC,
|
|
1
|
+
{"version":3,"file":"shader-pass-renderer.js","sourceRoot":"","sources":["../../src/passes/shader-pass-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,5 +17,10 @@ export declare class GroupNode extends ScenegraphNode {
|
|
|
17
17
|
}) => void, { worldMatrix }?: {
|
|
18
18
|
worldMatrix?: Matrix4 | undefined;
|
|
19
19
|
}): void;
|
|
20
|
+
preorderTraversal(visitor: (node: ScenegraphNode, context: {
|
|
21
|
+
worldMatrix: Matrix4;
|
|
22
|
+
}) => void, { worldMatrix }?: {
|
|
23
|
+
worldMatrix?: Matrix4 | undefined;
|
|
24
|
+
}): void;
|
|
20
25
|
}
|
|
21
26
|
//# sourceMappingURL=group-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-node.d.ts","sourceRoot":"","sources":["../../src/scenegraph/group-node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,6BAA0B;AAEtE,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG;IACjD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,cAAc;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;gBAEf,QAAQ,EAAE,cAAc,EAAE;gBAC1B,KAAK,CAAC,EAAE,cAAc;IAazB,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAmCxC,OAAO,IAAI,IAAI;IAOxB,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,cAAc,GAAG,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI;IAW7D,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASnC,SAAS,IAAI,IAAI;IAKjB,QAAQ,CACN,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,EACxE,EAAC,WAA2B,EAAC;;KAAK;
|
|
1
|
+
{"version":3,"file":"group-node.d.ts","sourceRoot":"","sources":["../../src/scenegraph/group-node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,6BAA0B;AAEtE,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG;IACjD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,cAAc;IAC3C,QAAQ,EAAE,cAAc,EAAE,CAAC;gBAEf,QAAQ,EAAE,cAAc,EAAE;gBAC1B,KAAK,CAAC,EAAE,cAAc;IAazB,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAmCxC,OAAO,IAAI,IAAI;IAOxB,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,cAAc,GAAG,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI;IAW7D,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASnC,SAAS,IAAI,IAAI;IAKjB,QAAQ,CACN,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,EACxE,EAAC,WAA2B,EAAC;;KAAK;IAapC,iBAAiB,CACf,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,EACxE,EAAC,WAA2B,EAAC;;KAAK;CAarC"}
|
|
@@ -84,5 +84,17 @@ export class GroupNode extends ScenegraphNode {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
preorderTraversal(visitor, { worldMatrix = new Matrix4() } = {}) {
|
|
88
|
+
const modelMatrix = new Matrix4(worldMatrix).multiplyRight(this.matrix);
|
|
89
|
+
visitor(this, { worldMatrix: modelMatrix });
|
|
90
|
+
for (const child of this.children) {
|
|
91
|
+
if (child instanceof GroupNode) {
|
|
92
|
+
child.preorderTraversal(visitor, { worldMatrix: modelMatrix });
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
visitor(child, { worldMatrix: modelMatrix });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
87
99
|
}
|
|
88
100
|
//# sourceMappingURL=group-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-node.js","sourceRoot":"","sources":["../../src/scenegraph/group-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"group-node.js","sourceRoot":"","sources":["../../src/scenegraph/group-node.ts"],"names":[],"mappings":"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"}
|