@woosh/meep-engine 2.132.2 → 2.133.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/package.json +1 -1
- package/src/engine/graphics/render/frame_graph/{RenderGraph.d.ts → FrameGraph.d.ts} +21 -12
- package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{RenderGraph.js → FrameGraph.js} +25 -14
- package/src/engine/graphics/render/frame_graph/{GraphNode.d.ts → FrameGraphNode.d.ts} +2 -2
- package/src/engine/graphics/render/frame_graph/FrameGraphNode.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{GraphNode.js → FrameGraphNode.js} +1 -1
- package/src/engine/graphics/render/frame_graph/{RenderPassBuilder.d.ts → FramePassBuilder.d.ts} +5 -5
- package/src/engine/graphics/render/frame_graph/FramePassBuilder.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{RenderPassBuilder.js → FramePassBuilder.js} +5 -5
- package/src/engine/graphics/render/frame_graph/FramePassFlags.d.ts +4 -0
- package/src/engine/graphics/render/frame_graph/FramePassFlags.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{RenderPassFlags.js → FramePassFlags.js} +1 -1
- package/src/engine/graphics/render/frame_graph/{RenderPassNode.d.ts → FramePassNode.d.ts} +12 -7
- package/src/engine/graphics/render/frame_graph/FramePassNode.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{RenderPassNode.js → FramePassNode.js} +9 -4
- package/src/engine/graphics/render/frame_graph/{RenderPassResources.d.ts → FramePassResources.d.ts} +7 -7
- package/src/engine/graphics/render/frame_graph/FramePassResources.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{RenderPassResources.js → FramePassResources.js} +5 -5
- package/src/engine/graphics/render/frame_graph/{IRenderContext.d.ts → IFrameGraphContext.d.ts} +2 -2
- package/src/engine/graphics/render/frame_graph/IFrameGraphContext.d.ts.map +1 -0
- package/src/engine/graphics/render/frame_graph/{IRenderContext.js → IFrameGraphContext.js} +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts +4 -4
- package/src/engine/graphics/render/frame_graph/ResourceEntry.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceEntry.js +2 -2
- package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts +4 -4
- package/src/engine/graphics/render/frame_graph/ResourceNode.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/ResourceNode.js +3 -3
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.d.ts +2 -2
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.js +2 -2
- package/src/engine/graphics/render/frame_graph/resource/RenderResourceManager.js +1 -1
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts +2 -2
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts.map +1 -1
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js +2 -2
- package/src/engine/graphics/render/frame_graph/GraphNode.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/IRenderContext.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/RenderGraph.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/RenderPassBuilder.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/RenderPassFlags.d.ts +0 -4
- package/src/engine/graphics/render/frame_graph/RenderPassFlags.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/RenderPassNode.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/RenderPassResources.d.ts.map +0 -1
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.
|
|
8
|
+
"version": "2.133.0",
|
|
9
9
|
"main": "build/meep.module.js",
|
|
10
10
|
"module": "build/meep.module.js",
|
|
11
11
|
"exports": {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* A high-level rendering architecture system that manages render passes and their resource dependencies.
|
|
3
|
+
* This class schedules frame execution by building a directed graph of resources (textures, buffers) and the passes that read or write to them.
|
|
4
|
+
*
|
|
5
|
+
* By deferring execution until after the graph is compiled, it automatically handles complex tasks such as:
|
|
6
|
+
* - Culling unreferenced resources and passes (dead code elimination for rendering).
|
|
7
|
+
* - Automatic resource lifetime management (allocating transient resources just-in-time and destroying them immediately after their last use).
|
|
8
|
+
* - Visualizing the rendering pipeline via GraphViz DOT exports.
|
|
9
|
+
*
|
|
10
|
+
* @source Based on the Frostbite's GDC paper "FrameGraph: Extensible Rendering Architecture in Frostbite" by Yuriy O'Donnell
|
|
3
11
|
* @example
|
|
4
|
-
* const graph = new
|
|
12
|
+
* const graph = new FrameGraph("My Graph");
|
|
5
13
|
*
|
|
6
14
|
* const pass_data = {};
|
|
7
15
|
* const pass = graph.add("GBuffer Pass", pass_data, (data, resources, context) => {
|
|
@@ -30,7 +38,7 @@
|
|
|
30
38
|
* graph.execute(context);
|
|
31
39
|
*
|
|
32
40
|
*/
|
|
33
|
-
export class
|
|
41
|
+
export class FrameGraph {
|
|
34
42
|
/**
|
|
35
43
|
*
|
|
36
44
|
* @param {string} name
|
|
@@ -44,7 +52,7 @@ export class RenderGraph {
|
|
|
44
52
|
name: string;
|
|
45
53
|
/**
|
|
46
54
|
*
|
|
47
|
-
* @type {
|
|
55
|
+
* @type {FramePassNode[]}
|
|
48
56
|
* @private
|
|
49
57
|
*/
|
|
50
58
|
private __pass_nodes;
|
|
@@ -124,10 +132,10 @@ export class RenderGraph {
|
|
|
124
132
|
* @template T
|
|
125
133
|
* @param {string} name
|
|
126
134
|
* @param {T} data
|
|
127
|
-
* @param {function(data:T, resources:
|
|
128
|
-
* @returns {
|
|
135
|
+
* @param {function(data:T, resources: FramePassResources, context:IFrameGraphContext):void} execute
|
|
136
|
+
* @returns {FramePassBuilder}
|
|
129
137
|
*/
|
|
130
|
-
add<T_3>(name: string, data: T_3, execute: any):
|
|
138
|
+
add<T_3>(name: string, data: T_3, execute: any): FramePassBuilder;
|
|
131
139
|
/**
|
|
132
140
|
* Perform validation, useful for debugging
|
|
133
141
|
* Typically done before compilation
|
|
@@ -139,9 +147,9 @@ export class RenderGraph {
|
|
|
139
147
|
compile(): void;
|
|
140
148
|
/**
|
|
141
149
|
*
|
|
142
|
-
* @param {
|
|
150
|
+
* @param {IFrameGraphContext} context
|
|
143
151
|
*/
|
|
144
|
-
execute(context:
|
|
152
|
+
execute(context: IFrameGraphContext): void;
|
|
145
153
|
/**
|
|
146
154
|
* Should only call after {@link compile}
|
|
147
155
|
*
|
|
@@ -162,12 +170,13 @@ export class RenderGraph {
|
|
|
162
170
|
*/
|
|
163
171
|
exportToDot(): string;
|
|
164
172
|
/**
|
|
173
|
+
* Type check shortcut.
|
|
165
174
|
* @readonly
|
|
166
175
|
* @type {boolean}
|
|
167
176
|
*/
|
|
168
|
-
readonly
|
|
177
|
+
readonly isFrameGraph: boolean;
|
|
169
178
|
}
|
|
170
179
|
import { ResourceEntry } from "./ResourceEntry.js";
|
|
171
180
|
import { ResourceNode } from "./ResourceNode.js";
|
|
172
|
-
import {
|
|
173
|
-
//# sourceMappingURL=
|
|
181
|
+
import { FramePassBuilder } from "./FramePassBuilder.js";
|
|
182
|
+
//# sourceMappingURL=FrameGraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrameGraph.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FrameGraph.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;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,sBAehB;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,gBAAgB,CA2B5B;IAED;;;;;;OAMG;IACH,iEAFa,OAAO,CAQnB;IAED,gBA6FC;IAED;;;OAGG;IACH,2CAqDC;IAED;;;;;;;OAOG;IACH;gBAFqB,EAAE;mBAAa,EAAE;MA2DrC;IAED;;;;;OAKG;IACH,eAFY,MAAM,CA0GjB;IAGL;;;;OAIG;IACH,uBAFU,OAAO,CAEgB;CAPhC;8BApnB6B,oBAAoB;6BACrB,mBAAmB;iCAJf,uBAAuB"}
|
|
@@ -6,16 +6,24 @@ import { okhsv_to_linear_srgb } from "../../../../core/color/oklab/okhsv_to_line
|
|
|
6
6
|
import { graphviz_escape_string } from "../../../../core/graph/format/graphviz/graphviz_escape_string.js";
|
|
7
7
|
import { lerp } from "../../../../core/math/lerp.js";
|
|
8
8
|
import { computeStringHash } from "../../../../core/primitives/strings/computeStringHash.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { FramePassBuilder } from "./FramePassBuilder.js";
|
|
10
|
+
import { FramePassNode } from "./FramePassNode.js";
|
|
11
|
+
import { FramePassResources } from "./FramePassResources.js";
|
|
12
12
|
import { ResourceEntry } from "./ResourceEntry.js";
|
|
13
13
|
import { ResourceNode } from "./ResourceNode.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* A high-level rendering architecture system that manages render passes and their resource dependencies.
|
|
17
|
+
* This class schedules frame execution by building a directed graph of resources (textures, buffers) and the passes that read or write to them.
|
|
18
|
+
*
|
|
19
|
+
* By deferring execution until after the graph is compiled, it automatically handles complex tasks such as:
|
|
20
|
+
* - Culling unreferenced resources and passes (dead code elimination for rendering).
|
|
21
|
+
* - Automatic resource lifetime management (allocating transient resources just-in-time and destroying them immediately after their last use).
|
|
22
|
+
* - Visualizing the rendering pipeline via GraphViz DOT exports.
|
|
23
|
+
*
|
|
24
|
+
* @source Based on the Frostbite's GDC paper "FrameGraph: Extensible Rendering Architecture in Frostbite" by Yuriy O'Donnell
|
|
17
25
|
* @example
|
|
18
|
-
* const graph = new
|
|
26
|
+
* const graph = new FrameGraph("My Graph");
|
|
19
27
|
*
|
|
20
28
|
* const pass_data = {};
|
|
21
29
|
* const pass = graph.add("GBuffer Pass", pass_data, (data, resources, context) => {
|
|
@@ -44,7 +52,7 @@ import { ResourceNode } from "./ResourceNode.js";
|
|
|
44
52
|
* graph.execute(context);
|
|
45
53
|
*
|
|
46
54
|
*/
|
|
47
|
-
export class
|
|
55
|
+
export class FrameGraph {
|
|
48
56
|
/**
|
|
49
57
|
* Human-readable name, used for debugging and UI primarily.
|
|
50
58
|
* There is no uniqueness guarantee
|
|
@@ -54,7 +62,7 @@ export class RenderGraph {
|
|
|
54
62
|
|
|
55
63
|
/**
|
|
56
64
|
*
|
|
57
|
-
* @type {
|
|
65
|
+
* @type {FramePassNode[]}
|
|
58
66
|
* @private
|
|
59
67
|
*/
|
|
60
68
|
__pass_nodes = [];
|
|
@@ -92,6 +100,8 @@ export class RenderGraph {
|
|
|
92
100
|
getResourceEntry(id) {
|
|
93
101
|
const node = this.getResourceNode(id);
|
|
94
102
|
|
|
103
|
+
assert.defined(node, 'node');
|
|
104
|
+
|
|
95
105
|
const registry = this.__resource_registry;
|
|
96
106
|
|
|
97
107
|
const entry = registry[node.resource_id];
|
|
@@ -250,8 +260,8 @@ export class RenderGraph {
|
|
|
250
260
|
* @template T
|
|
251
261
|
* @param {string} name
|
|
252
262
|
* @param {T} data
|
|
253
|
-
* @param {function(data:T, resources:
|
|
254
|
-
* @returns {
|
|
263
|
+
* @param {function(data:T, resources: FramePassResources, context:IFrameGraphContext):void} execute
|
|
264
|
+
* @returns {FramePassBuilder}
|
|
255
265
|
*/
|
|
256
266
|
add(name, data, execute) {
|
|
257
267
|
assert.isString(name, 'name');
|
|
@@ -264,8 +274,8 @@ export class RenderGraph {
|
|
|
264
274
|
|
|
265
275
|
const pass_nodes = this.__pass_nodes;
|
|
266
276
|
|
|
267
|
-
const builder = new
|
|
268
|
-
const node = new
|
|
277
|
+
const builder = new FramePassBuilder();
|
|
278
|
+
const node = new FramePassNode();
|
|
269
279
|
|
|
270
280
|
node.id = pass_nodes.length;
|
|
271
281
|
node.name = name;
|
|
@@ -392,7 +402,7 @@ export class RenderGraph {
|
|
|
392
402
|
|
|
393
403
|
/**
|
|
394
404
|
*
|
|
395
|
-
* @param {
|
|
405
|
+
* @param {IFrameGraphContext} context
|
|
396
406
|
*/
|
|
397
407
|
execute(context) {
|
|
398
408
|
assert.defined(context, 'context');
|
|
@@ -417,7 +427,7 @@ export class RenderGraph {
|
|
|
417
427
|
this.getResourceEntry(id).create(context.resource_manager);
|
|
418
428
|
}
|
|
419
429
|
|
|
420
|
-
const resources = new
|
|
430
|
+
const resources = new FramePassResources();
|
|
421
431
|
resources.init(this, node);
|
|
422
432
|
|
|
423
433
|
// execute pass
|
|
@@ -630,7 +640,8 @@ export class RenderGraph {
|
|
|
630
640
|
}
|
|
631
641
|
|
|
632
642
|
/**
|
|
643
|
+
* Type check shortcut.
|
|
633
644
|
* @readonly
|
|
634
645
|
* @type {boolean}
|
|
635
646
|
*/
|
|
636
|
-
|
|
647
|
+
FrameGraph.prototype.isFrameGraph = true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrameGraphNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FrameGraphNode.js"],"names":[],"mappings":"AAAA;IACI;;;OAGG;IACH,MAFU,MAAM,CAEN;IACV;;;OAGG;IACH,IAFU,MAAM,CAET;IACP;;;OAGG;IACH,SAFU,MAAM,CAEJ;IACZ;;;OAGG;IACH,WAFU,MAAM,CAEF;CACjB"}
|
package/src/engine/graphics/render/frame_graph/{RenderPassBuilder.d.ts → FramePassBuilder.d.ts}
RENAMED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* const pass_builder = graph.add("pass", pass_data, (data, resources, context) => { ... });
|
|
7
7
|
* pass_data.resource_a = pass_builder.create("A", {});
|
|
8
8
|
*/
|
|
9
|
-
export class
|
|
9
|
+
export class FramePassBuilder {
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
12
|
+
* @param {FrameGraph} graph
|
|
13
|
+
* @param {FramePassNode} node
|
|
14
14
|
*/
|
|
15
|
-
init(graph:
|
|
15
|
+
init(graph: FrameGraph, node: FramePassNode): void;
|
|
16
16
|
/**
|
|
17
17
|
* Create a new resource.
|
|
18
18
|
* Creation implies writing as well.
|
|
@@ -41,4 +41,4 @@ export class RenderPassBuilder {
|
|
|
41
41
|
make_side_effect(): void;
|
|
42
42
|
#private;
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=FramePassBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FramePassBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FramePassBuilder.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH;IAgBI;;;;OAIG;IACH,mDAMC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,mCAEJ,MAAM,CAYlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;OAIG;IACH,yBAEC;;CACJ"}
|
|
@@ -8,26 +8,26 @@ import { assert } from "../../../../core/assert.js";
|
|
|
8
8
|
* const pass_builder = graph.add("pass", pass_data, (data, resources, context) => { ... });
|
|
9
9
|
* pass_data.resource_a = pass_builder.create("A", {});
|
|
10
10
|
*/
|
|
11
|
-
export class
|
|
11
|
+
export class FramePassBuilder {
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
|
-
* @type {
|
|
15
|
+
* @type {FrameGraph}
|
|
16
16
|
* @private
|
|
17
17
|
*/
|
|
18
18
|
#graph = null;
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
*
|
|
22
|
-
* @type {
|
|
22
|
+
* @type {FramePassNode}
|
|
23
23
|
* @private
|
|
24
24
|
*/
|
|
25
25
|
#node = null;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
*
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {
|
|
29
|
+
* @param {FrameGraph} graph
|
|
30
|
+
* @param {FramePassNode} node
|
|
31
31
|
*/
|
|
32
32
|
init(graph, node) {
|
|
33
33
|
assert.defined(graph, 'graph');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FramePassFlags.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FramePassFlags.js"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @template T
|
|
3
3
|
*/
|
|
4
|
-
export class
|
|
4
|
+
export class FramePassNode<T> extends FrameGraphNode {
|
|
5
5
|
constructor();
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
8
|
* @param {T} data
|
|
9
|
-
* @param {
|
|
10
|
-
* @param {
|
|
9
|
+
* @param {FramePassResources} resources
|
|
10
|
+
* @param {IFrameGraphContext} context
|
|
11
11
|
*/
|
|
12
|
-
execute(data: T, resources:
|
|
12
|
+
execute(data: T, resources: FramePassResources, context: IFrameGraphContext): void;
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
15
|
* @type {boolean}
|
|
@@ -53,7 +53,12 @@ export class RenderPassNode<T> extends GraphNode {
|
|
|
53
53
|
* @return {boolean}
|
|
54
54
|
*/
|
|
55
55
|
writes(id: number): boolean;
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param {number} resource
|
|
59
|
+
* @returns {number}
|
|
60
|
+
*/
|
|
61
|
+
write(resource: number): number;
|
|
57
62
|
/**
|
|
58
63
|
*
|
|
59
64
|
* @param {number} resource
|
|
@@ -66,5 +71,5 @@ export class RenderPassNode<T> extends GraphNode {
|
|
|
66
71
|
*/
|
|
67
72
|
can_execute(): boolean;
|
|
68
73
|
}
|
|
69
|
-
import {
|
|
70
|
-
//# sourceMappingURL=
|
|
74
|
+
import { FrameGraphNode } from "./FrameGraphNode.js";
|
|
75
|
+
//# sourceMappingURL=FramePassNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FramePassNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FramePassNode.js"],"names":[],"mappings":"AAGA;;GAEG;AACH;;IAEI;;;;;OAKG;IACH,cAJW,CAAC,oEAMX;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;;;OAGG;IACH,eAFY,OAAO,CAIlB;CACJ;+BApH8B,qBAAqB"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { assert } from "../../../../core/assert.js";
|
|
2
|
-
import {
|
|
2
|
+
import { FrameGraphNode } from "./FrameGraphNode.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @template T
|
|
6
6
|
*/
|
|
7
|
-
export class
|
|
7
|
+
export class FramePassNode extends FrameGraphNode {
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
* @param {T} data
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
12
|
+
* @param {FramePassResources} resources
|
|
13
|
+
* @param {IFrameGraphContext} context
|
|
14
14
|
*/
|
|
15
15
|
execute(data, resources, context) {
|
|
16
16
|
// override
|
|
@@ -79,6 +79,11 @@ export class RenderPassNode extends GraphNode {
|
|
|
79
79
|
return this.resource_writes.includes(id);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param {number} resource
|
|
85
|
+
* @returns {number}
|
|
86
|
+
*/
|
|
82
87
|
write(resource) {
|
|
83
88
|
if (this.writes(resource)) {
|
|
84
89
|
return resource;
|
package/src/engine/graphics/render/frame_graph/{RenderPassResources.d.ts → FramePassResources.d.ts}
RENAMED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Built by FrameGraphBuilder, maps abstract resource handles to concrete, allocated GPU resources
|
|
3
3
|
*/
|
|
4
|
-
export class
|
|
4
|
+
export class FramePassResources {
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
|
-
* @type {
|
|
7
|
+
* @type {FrameGraph|null}
|
|
8
8
|
* @private
|
|
9
9
|
*/
|
|
10
10
|
private __graph;
|
|
11
11
|
/**
|
|
12
12
|
*
|
|
13
|
-
* @type {
|
|
13
|
+
* @type {FramePassNode|null}
|
|
14
14
|
* @private
|
|
15
15
|
*/
|
|
16
16
|
private __pass;
|
|
@@ -26,10 +26,10 @@ export class RenderPassResources {
|
|
|
26
26
|
get pass_id(): number;
|
|
27
27
|
/**
|
|
28
28
|
*
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {
|
|
29
|
+
* @param {FrameGraph} graph
|
|
30
|
+
* @param {FramePassNode} node
|
|
31
31
|
*/
|
|
32
|
-
init(graph:
|
|
32
|
+
init(graph: FrameGraph, node: FramePassNode): void;
|
|
33
33
|
/**
|
|
34
34
|
* @template T
|
|
35
35
|
* @param {number} id resource id
|
|
@@ -43,4 +43,4 @@ export class RenderPassResources {
|
|
|
43
43
|
*/
|
|
44
44
|
getDescriptor<T_1>(id: number): T_1;
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=FramePassResources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FramePassResources.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/FramePassResources.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACI;;;;OAIG;IACH,gBAAe;IACf;;;;OAIG;IACH,eAAc;IAEd;;;OAGG;IACH,wBAEC;IAED;;;OAGG;IACH,sBAEC;IAED;;;;OAIG;IACH,mDAMC;IAED;;;;OAIG;IACH,WAHW,MAAM,KAehB;IAED;;;;OAIG;IACH,uBAHW,MAAM,OAehB;CACJ"}
|
package/src/engine/graphics/render/frame_graph/{RenderPassResources.js → FramePassResources.js}
RENAMED
|
@@ -3,16 +3,16 @@ import { assert } from "../../../../core/assert.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Built by FrameGraphBuilder, maps abstract resource handles to concrete, allocated GPU resources
|
|
5
5
|
*/
|
|
6
|
-
export class
|
|
6
|
+
export class FramePassResources {
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
|
-
* @type {
|
|
9
|
+
* @type {FrameGraph|null}
|
|
10
10
|
* @private
|
|
11
11
|
*/
|
|
12
12
|
__graph = null;
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
|
-
* @type {
|
|
15
|
+
* @type {FramePassNode|null}
|
|
16
16
|
* @private
|
|
17
17
|
*/
|
|
18
18
|
__pass = null;
|
|
@@ -35,8 +35,8 @@ export class RenderPassResources {
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
*
|
|
38
|
-
* @param {
|
|
39
|
-
* @param {
|
|
38
|
+
* @param {FrameGraph} graph
|
|
39
|
+
* @param {FramePassNode} node
|
|
40
40
|
*/
|
|
41
41
|
init(graph, node) {
|
|
42
42
|
assert.defined(graph, 'graph');
|
package/src/engine/graphics/render/frame_graph/{IRenderContext.d.ts → IFrameGraphContext.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Abstracts rendering context, such as "WebGLRenderer" in THREE.js or WebGL/WebGPU
|
|
3
3
|
*/
|
|
4
|
-
export class
|
|
4
|
+
export class IFrameGraphContext {
|
|
5
5
|
resource_manager: RenderResourceManager;
|
|
6
6
|
/**
|
|
7
7
|
* @template T
|
|
@@ -19,4 +19,4 @@ export class IRenderContext {
|
|
|
19
19
|
destroy(): void;
|
|
20
20
|
}
|
|
21
21
|
import { RenderResourceManager } from "./resource/RenderResourceManager.js";
|
|
22
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=IFrameGraphContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFrameGraphContext.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/IFrameGraphContext.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAEI,wCAA+C;IAM/C;;;;OAIG;IACH,wDAEC;IAED;;;;;OAKG;IACH,+EAEC;IAED,gBAEC;CACJ;sCAnCqC,qCAAqC"}
|
|
@@ -5,7 +5,7 @@ import { RenderResourceManager } from "./resource/RenderResourceManager.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Abstracts rendering context, such as "WebGLRenderer" in THREE.js or WebGL/WebGPU
|
|
7
7
|
*/
|
|
8
|
-
export class
|
|
8
|
+
export class IFrameGraphContext {
|
|
9
9
|
|
|
10
10
|
resource_manager = new RenderResourceManager();
|
|
11
11
|
|
|
@@ -30,14 +30,14 @@ export class ResourceEntry<T> {
|
|
|
30
30
|
imported: boolean;
|
|
31
31
|
/**
|
|
32
32
|
* Node that created this resource
|
|
33
|
-
* @type {
|
|
33
|
+
* @type {FramePassNode|null}
|
|
34
34
|
*/
|
|
35
|
-
producer:
|
|
35
|
+
producer: FramePassNode | null;
|
|
36
36
|
/**
|
|
37
37
|
*
|
|
38
|
-
* @type {
|
|
38
|
+
* @type {FramePassNode|null}
|
|
39
39
|
*/
|
|
40
|
-
last:
|
|
40
|
+
last: FramePassNode | null;
|
|
41
41
|
/**
|
|
42
42
|
* Creates actual resource
|
|
43
43
|
* @param {RenderResourceManager} resources
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceEntry.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/ResourceEntry.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI;;;OAGG;IACH,aAFU,MAAM,CAEW;IAE3B;;;OAGG;IACH,qBAFU,wBAAsB,IAAI,CAET;IAE3B;;;OAGG;IACH,kBAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,UAFU,CAAC,GAAC,IAAI,CAEA;IAEhB;;;;OAIG;IACH,UAFU,OAAO,CAEA;IAEjB;;;OAGG;IACH,UAFU,
|
|
1
|
+
{"version":3,"file":"ResourceEntry.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/ResourceEntry.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IACI;;;OAGG;IACH,aAFU,MAAM,CAEW;IAE3B;;;OAGG;IACH,qBAFU,wBAAsB,IAAI,CAET;IAE3B;;;OAGG;IACH,kBAFU,MAAM,CAEK;IAErB;;;OAGG;IACH,UAFU,CAAC,GAAC,IAAI,CAEA;IAEhB;;;;OAIG;IACH,UAFU,OAAO,CAEA;IAEjB;;;OAGG;IACH,UAFU,gBAAc,IAAI,CAEZ;IAEhB;;;OAGG;IACH,MAFU,gBAAc,IAAI,CAEhB;IAEZ;;;OAGG;IACH,+CAIC;IAED;;;OAGG;IACH,gDAIC;IAED;;;OAGG;IACH,cAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,eAFY,OAAO,CAIlB;IAED,gBAQC;CACJ"}
|
|
@@ -39,13 +39,13 @@ export class ResourceEntry {
|
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* Node that created this resource
|
|
42
|
-
* @type {
|
|
42
|
+
* @type {FramePassNode|null}
|
|
43
43
|
*/
|
|
44
44
|
producer = null;
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
*
|
|
48
|
-
* @type {
|
|
48
|
+
* @type {FramePassNode|null}
|
|
49
49
|
*/
|
|
50
50
|
last = null;
|
|
51
51
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @template T
|
|
3
3
|
*/
|
|
4
|
-
export class ResourceNode<T> extends
|
|
4
|
+
export class ResourceNode<T> extends FrameGraphNode {
|
|
5
5
|
constructor();
|
|
6
6
|
resource_id: number;
|
|
7
7
|
/**
|
|
@@ -11,14 +11,14 @@ export class ResourceNode<T> extends GraphNode {
|
|
|
11
11
|
descriptor: ResourceDescriptor<T> | null;
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
|
-
* @type {
|
|
14
|
+
* @type {FramePassNode|null}
|
|
15
15
|
*/
|
|
16
|
-
producer:
|
|
16
|
+
producer: FramePassNode | null;
|
|
17
17
|
/**
|
|
18
18
|
* @readonly
|
|
19
19
|
* @type {boolean}
|
|
20
20
|
*/
|
|
21
21
|
readonly isResourceNode: boolean;
|
|
22
22
|
}
|
|
23
|
-
import {
|
|
23
|
+
import { FrameGraphNode } from "./FrameGraphNode.js";
|
|
24
24
|
//# sourceMappingURL=ResourceNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/ResourceNode.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;;IACI,oBAAgB;IAEhB;;;OAGG;IACH,YAFU,wBAAsB,IAAI,CAElB;IAElB;;;OAGG;IACH,UAFU,
|
|
1
|
+
{"version":3,"file":"ResourceNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/ResourceNode.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;;IACI,oBAAgB;IAEhB;;;OAGG;IACH,YAFU,wBAAsB,IAAI,CAElB;IAElB;;;OAGG;IACH,UAFU,gBAAc,IAAI,CAEZ;IAGpB;;;OAGG;IACH,yBAFU,OAAO,CAEoB;CANpC;+BAnB8B,qBAAqB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrameGraphNode } from "./FrameGraphNode.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @template T
|
|
5
5
|
*/
|
|
6
|
-
export class ResourceNode extends
|
|
6
|
+
export class ResourceNode extends FrameGraphNode {
|
|
7
7
|
resource_id = 0;
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -14,7 +14,7 @@ export class ResourceNode extends GraphNode {
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
*
|
|
17
|
-
* @type {
|
|
17
|
+
* @type {FramePassNode|null}
|
|
18
18
|
*/
|
|
19
19
|
producer = null;
|
|
20
20
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Doesn't actually do anything, but works as a valid rendering context
|
|
3
3
|
* Mainly useful for testing
|
|
4
4
|
*/
|
|
5
|
-
export class VoidRenderContext extends
|
|
5
|
+
export class VoidRenderContext extends IFrameGraphContext {
|
|
6
6
|
static INSTANCE: VoidRenderContext;
|
|
7
7
|
createResource(descriptor: any): any;
|
|
8
8
|
destroyResource(resource: any, descriptor: any): void;
|
|
9
9
|
}
|
|
10
|
-
import {
|
|
10
|
+
import { IFrameGraphContext } from "../../IFrameGraphContext.js";
|
|
11
11
|
//# sourceMappingURL=VoidRenderContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoidRenderContext.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IAQI,mCAA0C;IAP1C,qCAEC;IAED,sDACC;CAGJ
|
|
1
|
+
{"version":3,"file":"VoidRenderContext.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/render/frame_graph/backend/void/VoidRenderContext.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IAQI,mCAA0C;IAP1C,qCAEC;IAED,sDACC;CAGJ;mCAfkC,6BAA6B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IFrameGraphContext } from "../../IFrameGraphContext.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Doesn't actually do anything, but works as a valid rendering context
|
|
5
5
|
* Mainly useful for testing
|
|
6
6
|
*/
|
|
7
|
-
export class VoidRenderContext extends
|
|
7
|
+
export class VoidRenderContext extends IFrameGraphContext {
|
|
8
8
|
createResource(descriptor) {
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export class WebGLRenderContext extends
|
|
1
|
+
export class WebGLRenderContext extends IFrameGraphContext {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {WebGL2RenderingContext} ctx
|
|
@@ -14,6 +14,6 @@ export class WebGLRenderContext extends IRenderContext {
|
|
|
14
14
|
destroyRenderTarget(target: any): boolean;
|
|
15
15
|
#private;
|
|
16
16
|
}
|
|
17
|
-
import {
|
|
17
|
+
import { IFrameGraphContext } from "../IFrameGraphContext.js";
|
|
18
18
|
import { RenderTarget } from "../resource/RenderTarget.js";
|
|
19
19
|
//# sourceMappingURL=WebGLRenderContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGLRenderContext.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js"],"names":[],"mappings":"AAGA;IAOI;;;OAGG;IACH,iBAFW,sBAAsB,EAMhC;IAED,8CAQC;IAED,yDAWC;IAED;;;OAGG;IACH,gEASC;IAED,0CAEC;;CACJ
|
|
1
|
+
{"version":3,"file":"WebGLRenderContext.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js"],"names":[],"mappings":"AAGA;IAOI;;;OAGG;IACH,iBAFW,sBAAsB,EAMhC;IAED,8CAQC;IAED,yDAWC;IAED;;;OAGG;IACH,gEASC;IAED,0CAEC;;CACJ;mCA7DkC,0BAA0B;6BAChC,6BAA6B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IFrameGraphContext } from "../IFrameGraphContext.js";
|
|
2
2
|
import { RenderTarget } from "../resource/RenderTarget.js";
|
|
3
3
|
|
|
4
|
-
export class WebGLRenderContext extends
|
|
4
|
+
export class WebGLRenderContext extends IFrameGraphContext {
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
7
|
* @type {WebGL2RenderingContext|null}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphNode.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/GraphNode.js"],"names":[],"mappings":"AAAA;IACI;;;OAGG;IACH,MAFU,MAAM,CAEN;IACV;;;OAGG;IACH,IAFU,MAAM,CAET;IACP;;;OAGG;IACH,SAFU,MAAM,CAEJ;IACZ;;;OAGG;IACH,WAFU,MAAM,CAEF;CACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IRenderContext.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/IRenderContext.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAEI,wCAA+C;IAM/C;;;;OAIG;IACH,wDAEC;IAED;;;;;OAKG;IACH,+EAEC;IAED,gBAEC;CACJ;sCAnCqC,qCAAqC"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPassBuilder.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderPassBuilder.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH;IAgBI;;;;OAIG;IACH,qDAMC;IAED;;;;;;OAMG;IACH,aAJW,MAAM,mCAEJ,MAAM,CAYlB;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;OAIG;IACH,yBAEC;;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPassFlags.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderPassFlags.js"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
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,0BAOC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,MAAM,CAUlB;IAED;;;OAGG;IACH,eAFY,OAAO,CAIlB;CACJ;0BA/GyB,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPassResources.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/render/frame_graph/RenderPassResources.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IACI;;;;OAIG;IACH,gBAAe;IACf;;;;OAIG;IACH,eAAc;IAEd;;;OAGG;IACH,wBAEC;IAED;;;OAGG;IACH,sBAEC;IAED;;;;OAIG;IACH,qDAMC;IAED;;;;OAIG;IACH,WAHW,MAAM,KAehB;IAED;;;;OAIG;IACH,uBAHW,MAAM,OAehB;CACJ"}
|