@woosh/meep-engine 2.132.1 → 2.132.3
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/package.json +1 -1
- package/src/core/geom/3d/aabb/AABB3.d.ts +3 -0
- package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
- package/src/core/geom/3d/aabb/AABB3.js +8 -1
- package/src/engine/graphics/render/frame_graph/RenderGraph.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/RenderGraph.js +13 -3
- package/src/engine/graphics/render/frame_graph/RenderPassNode.d.ts +21 -4
- package/src/engine/graphics/render/frame_graph/RenderPassNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/RenderPassNode.js +24 -3
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "Pure JavaScript game engine. Fully featured and production ready.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "Alexander Goldring",
|
|
8
|
-
"version": "2.132.
|
|
8
|
+
"version": "2.132.3",
|
|
9
9
|
"main": "build/meep.module.js",
|
|
10
10
|
"module": "build/meep.module.js",
|
|
11
11
|
"exports": {
|
|
@@ -166,6 +166,7 @@ export class AABB3 {
|
|
|
166
166
|
* @param {number} y
|
|
167
167
|
* @param {number} z
|
|
168
168
|
* @returns {number} Squared distance to point, value is negative if the point is inside the box
|
|
169
|
+
* @deprecated use {@link aabb3_signed_distance_sqr_to_point} directly
|
|
169
170
|
*/
|
|
170
171
|
distanceToPoint2(x: number, y: number, z: number): number;
|
|
171
172
|
/**
|
|
@@ -190,6 +191,7 @@ export class AABB3 {
|
|
|
190
191
|
*
|
|
191
192
|
* @param {AABB3} other
|
|
192
193
|
* @returns {number}
|
|
194
|
+
* @deprecated
|
|
193
195
|
*/
|
|
194
196
|
costForInclusion(other: AABB3): number;
|
|
195
197
|
/**
|
|
@@ -202,6 +204,7 @@ export class AABB3 {
|
|
|
202
204
|
* @param {number} y1
|
|
203
205
|
* @param {number} z1
|
|
204
206
|
* @returns {number}
|
|
207
|
+
* @deprecated
|
|
205
208
|
*/
|
|
206
209
|
_costForInclusion(x0: number, y0: number, z0: number, x1: number, y1: number, z1: number): number;
|
|
207
210
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH;IACI;;;;;;;;;OASG;IACH,iBARW,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,EAYhB;IAgED;;;OAGG;IACH,mBAEC;IAxDD;;;OAGG;IACH,gBAEC;IAoDD;;;OAGG;IACH,mBAEC;IAvDD;;;OAGG;IACH,gBAEC;IAmDD;;;OAGG;IACH,mBAEC;IAvDD;;;OAGG;IACH,gBAEC;IAmDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAkDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAkDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAOG,IA4GU,MAAM,CA5GL;IAQX,IAyGU,MAAM,CAzGL;IAQX,IAsGU,MAAM,CAtGL;IAQX,IAmGU,MAAM,CAnGL;IAQX,IAgGU,MAAM,CAhGL;IAQX,IA6FU,MAAM,CA7FL;IAGf;;;;;;;OAOG;IACH,8BANW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,GACJ,OAAO,CAMnB;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,iBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFW,KAAK,QAIf;IAED;;;;;;;;OAQG;IACH,wFAsCC;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,
|
|
1
|
+
{"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH;IACI;;;;;;;;;OASG;IACH,iBARW,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,EAYhB;IAgED;;;OAGG;IACH,mBAEC;IAxDD;;;OAGG;IACH,gBAEC;IAoDD;;;OAGG;IACH,mBAEC;IAvDD;;;OAGG;IACH,gBAEC;IAmDD;;;OAGG;IACH,mBAEC;IAvDD;;;OAGG;IACH,gBAEC;IAmDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAkDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAkDD;;;OAGG;IACH,mBAEC;IAtDD;;;OAGG;IACH,gBAEC;IAOG,IA4GU,MAAM,CA5GL;IAQX,IAyGU,MAAM,CAzGL;IAQX,IAsGU,MAAM,CAtGL;IAQX,IAmGU,MAAM,CAnGL;IAQX,IAgGU,MAAM,CAhGL;IAQX,IA6FU,MAAM,CA7FL;IAGf;;;;;;;OAOG;IACH,8BANW,MAAM,KACN,MAAM,KACN,MAAM,aACN,MAAM,GACJ,OAAO,CAMnB;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,iBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFW,KAAK,QAIf;IAED;;;;;;;;OAQG;IACH,wFAsCC;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAQnB;IAED;;;;;;;;;OASG;IACH,iFAFa,OAAO,CASnB;IAED;;OAEG;IACH,QAFa,MAAM,CAIlB;IAED;;;;;;;;OAQG;IACH,iGA6BC;IAED,oCAEC;IAED,0BAEC;IAED;;;;;OAKG;IACH,cAJW,MAAM,KACN,MAAM,KACN,MAAM,QAOhB;IAED;;;;;;;OAOG;IACH,oBANW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CASlB;IAED;;;;OAIG;IACH,mBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,mBARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAclB;IAED;;;;;OAKG;IACH,wBAJW,KAAK,GACH,MAAM,CAKlB;IAED;;;;;;;;;;;OAWG;IACH,sBATW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAuClB;IAED;;;;;;OAMG;IACH,qBALW,MAAM,KACN,MAAM,KACN,MAAM,GACJ,OAAO,CA6BnB;IAED;;;;OAIG;IACH,iBAHW,KAAK,GACH,OAAO,CAInB;IAED;;;;;;;;;OASG;IACH,iBARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CA6BnB;IAED;;;;;;;;;OASG;IACH,iBARW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAHW,KAAK,GACH,OAAO,CAInB;IAED;;;OAGG;IACH,eAFa,MAAM,CAIlB;IAED,oBAEC;IAED;;;OAGG;IACH,eAFa,MAAM,CAIlB;IAED,qBAEC;IAED;;;OAGG;IACH,eAFa,MAAM,CAIlB;IAED,oBAEC;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,oBAHW,OAAO,GACL,OAAO,CAUnB;IAED;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAED,sBAEC;IAED;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAED,sBAEC;IAED;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAED,sBAEC;IAED;;;OAGG;IACH,mBAFW,OAAO,WAcjB;IAGD;;;;;;;;OAQG;IACH,4EAEC;IAED,kGAEC;IAED;;;;OAIG;IACH,kCAFa,OAAO,CAMnB;IAED;;;;OAIG;IACH,oDAmBC;IAED;;;OAGG;IACH,mBAFW,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,QAa5C;IAED;;;;OAIG;IACH,sBAHW,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,WAClC,MAAM,0CAchB;IAED;;;;OAIG;IACH,sBAHW,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,WAClC,MAAM,QAchB;IAED;;;OAGG;IACH,wBAHW,MAAM,KAAK,OAWrB;IAED;;;;;;;OAOG;IACH,oCANW,MAAM,YACN,MAAM,YACN,MAAM,UACN,MAAM,GACJ,MAAM,CAQlB;IAED;;;;;;;OAOG;IACH,wBANW,MAAM,YACN,MAAM,YACN,MAAM,UACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,4BAFY,OAAO,CAMlB;IAED;;;OAGG;IACH,+BAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;OAIG;IACH,0CAFa,MAAM,CAoBlB;IAED;;;;OAIG;IACH,sCAHW,MAAM,EAAE,GACN,MAAM,CAMlB;IAED;;;;OAIG;IACH;;QAFa,OAAO,CAYnB;IAED;;;;OAIG;IACH,gCAHW,UAAU,MAAM,CAAC,GAAC,MAAM,EAAE,GAAC,YAAY,GACrC,OAAO,CAYnB;IAED;;;OAGG;IACH,qBAFW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,YAAY,QAWjD;IAED;;;OAGG;IACH,YAFW,MAAM,QAUhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAQjB;IAED;;;;;;;aAEC;IAED;;;;;;;MASC;IAED,mBAEC;IAIL;;;OAGG;IACH,kBAFU,OAAO,CAEM;IAEvB,mBApPe,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,WAClC,MAAM,4CAmPE;IACvB,oBAlOe,MAAM,EAAE,GAAC,YAAY,GAAC,YAAY,WAClC,MAAM,UAiOI;IAEzB;;;;OAIG;IACH,iBAFU,MAAM,CAEM;IAj9BlB,sDAUC;CAs7BJ;oBAx+BmB,kBAAkB"}
|
|
@@ -251,6 +251,10 @@ export class AABB3 {
|
|
|
251
251
|
* @returns {boolean}
|
|
252
252
|
*/
|
|
253
253
|
equals(other) {
|
|
254
|
+
assert.notNull(other, 'other');
|
|
255
|
+
assert.defined(other, 'other');
|
|
256
|
+
assert.equal(other.isAABB3, true, 'other.isAABB3 !== true');
|
|
257
|
+
|
|
254
258
|
return this._equals(other.x0, other.y0, other.z0, other.x1, other.y1, other.z1);
|
|
255
259
|
}
|
|
256
260
|
|
|
@@ -276,7 +280,7 @@ export class AABB3 {
|
|
|
276
280
|
/**
|
|
277
281
|
* @returns {number}
|
|
278
282
|
*/
|
|
279
|
-
hash(){
|
|
283
|
+
hash() {
|
|
280
284
|
return computeHashFloatArray(this);
|
|
281
285
|
}
|
|
282
286
|
|
|
@@ -347,6 +351,7 @@ export class AABB3 {
|
|
|
347
351
|
* @param {number} y
|
|
348
352
|
* @param {number} z
|
|
349
353
|
* @returns {number} Squared distance to point, value is negative if the point is inside the box
|
|
354
|
+
* @deprecated use {@link aabb3_signed_distance_sqr_to_point} directly
|
|
350
355
|
*/
|
|
351
356
|
distanceToPoint2(x, y, z) {
|
|
352
357
|
return aabb3_signed_distance_sqr_to_point(
|
|
@@ -394,6 +399,7 @@ export class AABB3 {
|
|
|
394
399
|
*
|
|
395
400
|
* @param {AABB3} other
|
|
396
401
|
* @returns {number}
|
|
402
|
+
* @deprecated
|
|
397
403
|
*/
|
|
398
404
|
costForInclusion(other) {
|
|
399
405
|
return this._costForInclusion(other.x0, other.y0, other.z0, other.x1, other.y1, other.z1);
|
|
@@ -409,6 +415,7 @@ export class AABB3 {
|
|
|
409
415
|
* @param {number} y1
|
|
410
416
|
* @param {number} z1
|
|
411
417
|
* @returns {number}
|
|
418
|
+
* @deprecated
|
|
412
419
|
*/
|
|
413
420
|
_costForInclusion(x0, y0, z0, x1, y1, z1) {
|
|
414
421
|
let x = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderGraph.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;IA6BI;;;OAGG;IACH,mBAFW,MAAM,EAOhB;IArCD;;;;OAIG;IACH,MAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,qBAAkB;IAElB;;;;OAIG;IACH,yBAAsB;IAEtB;;;;OAIG;IACH,4BAAyB;IAazB;;;;OAIG;IACH,qBAHW,MAAM,sBAahB;IAED;;;;OAIG;IACH,oBAHW,MAAM,qBAmBhB;IAED;;;;OAIG;IACH,qBAHW,MAAM,KAKhB;IAED;;;;;OAKG;IACH,2BAJW,MAAM,oBAEJ,MAAM,CAWlB;IAED;;;;;OAKG;IACH,6BAYC;IAED;;;;;;OAMG;IACH,4BAeC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,MAAM,CAkBlB;IAED;;;;;;OAMG;IACH,2BALW,MAAM,wDAGJ,MAAM,CAUlB;IAED;;;OAGG;IACH,4BAHa,OAAO,CAQnB;IAED;;;;;;;OAOG;IACH,eALW,MAAM,4BAGJ,iBAAiB,CA2B7B;IAED;;;;;;OAMG;IACH,iEAFa,OAAO,CAQnB;IAED,gBA6FC;IAED;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"RenderGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderGraph.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;IA6BI;;;OAGG;IACH,mBAFW,MAAM,EAOhB;IArCD;;;;OAIG;IACH,MAFU,MAAM,CAEN;IAEV;;;;OAIG;IACH,qBAAkB;IAElB;;;;OAIG;IACH,yBAAsB;IAEtB;;;;OAIG;IACH,4BAAyB;IAazB;;;;OAIG;IACH,qBAHW,MAAM,sBAahB;IAED;;;;OAIG;IACH,oBAHW,MAAM,qBAmBhB;IAED;;;;OAIG;IACH,qBAHW,MAAM,KAKhB;IAED;;;;;OAKG;IACH,2BAJW,MAAM,oBAEJ,MAAM,CAWlB;IAED;;;;;OAKG;IACH,6BAYC;IAED;;;;;;OAMG;IACH,4BAeC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,MAAM,CAkBlB;IAED;;;;;;OAMG;IACH,2BALW,MAAM,wDAGJ,MAAM,CAUlB;IAED;;;OAGG;IACH,4BAHa,OAAO,CAQnB;IAED;;;;;;;OAOG;IACH,eALW,MAAM,4BAGJ,iBAAiB,CA2B7B;IAED;;;;;;OAMG;IACH,iEAFa,OAAO,CAQnB;IAED,gBA6FC;IAED;;;OAGG;IACH,uCAqDC;IAED;;;;;;;OAOG;IACH;gBAFqB,EAAE;mBAAa,EAAE;MA2DrC;IAED;;;;;OAKG;IACH,eAFY,MAAM,CA0GjB;IAGL;;;OAGG;IACH,wBAFU,OAAO,CAEkB;CANlC;8BA1mB6B,oBAAoB;6BACrB,mBAAmB;kCAJd,wBAAwB"}
|
|
@@ -421,7 +421,17 @@ export class RenderGraph {
|
|
|
421
421
|
resources.init(this, node);
|
|
422
422
|
|
|
423
423
|
// execute pass
|
|
424
|
-
|
|
424
|
+
try {
|
|
425
|
+
node.execute(node.data, resources, context);
|
|
426
|
+
} catch (e) {
|
|
427
|
+
// decorate
|
|
428
|
+
const error = new Error(`RenderPass '${node.name}' failed to execute`);
|
|
429
|
+
|
|
430
|
+
error.cause = e;
|
|
431
|
+
|
|
432
|
+
throw error;
|
|
433
|
+
}
|
|
434
|
+
|
|
425
435
|
|
|
426
436
|
const resource_entries = this.__resource_registry;
|
|
427
437
|
const resource_entry_count = resource_entries.length;
|
|
@@ -552,7 +562,7 @@ export class RenderGraph {
|
|
|
552
562
|
*/
|
|
553
563
|
function entry_to_background_color(entry) {
|
|
554
564
|
|
|
555
|
-
let color_hue= type_to_color(entry.resource_descriptor?.type ?? "");
|
|
565
|
+
let color_hue = type_to_color(entry.resource_descriptor?.type ?? "");
|
|
556
566
|
|
|
557
567
|
// remap hue away from red
|
|
558
568
|
color_hue = lerp(0.10, 0.90, color_hue);
|
|
@@ -577,7 +587,7 @@ export class RenderGraph {
|
|
|
577
587
|
const block_title = `${entry.isImported() ? "↪ " : ""}${node.name}`;
|
|
578
588
|
const block_tooltip = graphviz_escape_string(entry.toString());
|
|
579
589
|
|
|
580
|
-
out.add(`R${entry.resource_id}_${node.version} [label=<{ {<B>${block_title}</B>${node.version > 0 ? ` <FONT>v${(node.version+1)}</FONT>` : ""}<BR/>${type}} | {Index: ${entry.resource_id}<BR/> Refs : ${node.ref_count} } }> style=filled, fillcolor="${entry_to_background_color(entry)}" tooltip="${block_tooltip}"]`);
|
|
590
|
+
out.add(`R${entry.resource_id}_${node.version} [label=<{ {<B>${block_title}</B>${node.version > 0 ? ` <FONT>v${(node.version + 1)}</FONT>` : ""}<BR/>${type}} | {Index: ${entry.resource_id}<BR/> Refs : ${node.ref_count} } }> style=filled, fillcolor="${entry_to_background_color(entry)}" tooltip="${block_tooltip}"]`);
|
|
581
591
|
}
|
|
582
592
|
|
|
583
593
|
// -- Each pass node points to the resource that it writes
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @template T
|
|
3
|
+
*/
|
|
4
|
+
export class RenderPassNode<T> extends GraphNode {
|
|
5
|
+
constructor();
|
|
2
6
|
/**
|
|
3
7
|
*
|
|
4
|
-
* @
|
|
8
|
+
* @param {T} data
|
|
9
|
+
* @param {RenderPassResources} resources
|
|
10
|
+
* @param {IRenderContext} context
|
|
5
11
|
*/
|
|
6
|
-
execute:
|
|
12
|
+
execute(data: T, resources: RenderPassResources, context: IRenderContext): void;
|
|
7
13
|
/**
|
|
8
14
|
*
|
|
9
15
|
* @type {boolean}
|
|
@@ -47,13 +53,24 @@ export class RenderPassNode extends GraphNode {
|
|
|
47
53
|
* @return {boolean}
|
|
48
54
|
*/
|
|
49
55
|
writes(id: number): boolean;
|
|
50
|
-
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param {number} resource
|
|
59
|
+
* @returns {number}
|
|
60
|
+
*/
|
|
61
|
+
write(resource: number): number;
|
|
51
62
|
/**
|
|
52
63
|
*
|
|
53
64
|
* @param {number} resource
|
|
54
65
|
* @returns {number} same as the input
|
|
55
66
|
*/
|
|
56
67
|
read(resource: number): number;
|
|
68
|
+
/**
|
|
69
|
+
* Shortcut for read + write
|
|
70
|
+
* @param {number} resource
|
|
71
|
+
* @returns {number} written resource ID
|
|
72
|
+
*/
|
|
73
|
+
read_write(resource: number): number;
|
|
57
74
|
/**
|
|
58
75
|
*
|
|
59
76
|
* @return {boolean}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPassNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderPassNode.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RenderPassNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderPassNode.js"],"names":[],"mappings":"AAGA;;GAEG;AACH;;IAEI;;;;;OAKG;IACH,cAJW,CAAC,iEAMX;IAED;;;OAGG;IACH,kBAFU,OAAO,CAEQ;IAEzB;;;OAGG;IACH,UAAU;IAEV;;;OAGG;IACH,kBAFU,MAAM,EAAE,CAEI;IAEtB;;;OAGG;IACH,gBAFU,MAAM,EAAE,CAEE;IAEpB;;;OAGG;IACH,iBAFU,MAAM,EAAE,CAEG;IAErB;;;;OAIG;IACH,YAHW,MAAM,GACL,OAAO,CAMlB;IAED;;;;OAIG;IACH,UAHW,MAAM,GACL,OAAO,CAMlB;IAED;;;;OAIG;IACH,WAHW,MAAM,GACL,OAAO,CAMlB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,MAAM,CAUlB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,MAAM,CAKlB;IAED;;;OAGG;IACH,eAFY,OAAO,CAIlB;CACJ;0BA9HyB,gBAAgB"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { assert } from "../../../../core/assert.js";
|
|
2
|
-
import { noop } from "../../../../core/function/noop.js";
|
|
3
2
|
import { GraphNode } from "./GraphNode.js";
|
|
4
3
|
|
|
4
|
+
/**
|
|
5
|
+
* @template T
|
|
6
|
+
*/
|
|
5
7
|
export class RenderPassNode extends GraphNode {
|
|
6
8
|
|
|
7
9
|
/**
|
|
8
10
|
*
|
|
9
|
-
* @
|
|
11
|
+
* @param {T} data
|
|
12
|
+
* @param {RenderPassResources} resources
|
|
13
|
+
* @param {IRenderContext} context
|
|
10
14
|
*/
|
|
11
|
-
execute
|
|
15
|
+
execute(data, resources, context) {
|
|
16
|
+
// override
|
|
17
|
+
}
|
|
12
18
|
|
|
13
19
|
/**
|
|
14
20
|
*
|
|
@@ -73,6 +79,11 @@ export class RenderPassNode extends GraphNode {
|
|
|
73
79
|
return this.resource_writes.includes(id);
|
|
74
80
|
}
|
|
75
81
|
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param {number} resource
|
|
85
|
+
* @returns {number}
|
|
86
|
+
*/
|
|
76
87
|
write(resource) {
|
|
77
88
|
if (this.writes(resource)) {
|
|
78
89
|
return resource;
|
|
@@ -97,6 +108,16 @@ export class RenderPassNode extends GraphNode {
|
|
|
97
108
|
return resource;
|
|
98
109
|
}
|
|
99
110
|
|
|
111
|
+
/**
|
|
112
|
+
* Shortcut for read + write
|
|
113
|
+
* @param {number} resource
|
|
114
|
+
* @returns {number} written resource ID
|
|
115
|
+
*/
|
|
116
|
+
read_write(resource) {
|
|
117
|
+
this.reads(resource);
|
|
118
|
+
return this.write(resource);
|
|
119
|
+
}
|
|
120
|
+
|
|
100
121
|
/**
|
|
101
122
|
*
|
|
102
123
|
* @return {boolean}
|