@codexo/exojs 0.8.2 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +124 -0
- package/dist/esm/audio/AudioAnalyser.d.ts +36 -0
- package/dist/esm/audio/AudioAnalyser.js +148 -0
- package/dist/esm/audio/AudioAnalyser.js.map +1 -1
- package/dist/esm/audio/BeatDetector.d.ts +62 -0
- package/dist/esm/audio/BeatDetector.js +77 -0
- package/dist/esm/audio/BeatDetector.js.map +1 -1
- package/dist/esm/audio/dsp/mel.js +70 -0
- package/dist/esm/audio/dsp/mel.js.map +1 -0
- package/dist/esm/debug/RenderPassInspectorLayer.d.ts +71 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js +201 -0
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -0
- package/dist/esm/debug/index.d.ts +1 -0
- package/dist/esm/debug/index.js +1 -0
- package/dist/esm/debug/index.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +5 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +2 -0
- package/dist/esm/rendering/mesh/Mesh.d.ts +4 -47
- package/dist/esm/rendering/mesh/Mesh.js.map +1 -1
- package/dist/esm/rendering/mesh/MeshShader.d.ts +183 -0
- package/dist/esm/rendering/mesh/MeshShader.js +231 -0
- package/dist/esm/rendering/mesh/MeshShader.js.map +1 -0
- package/dist/esm/rendering/texture/DataTexture.d.ts +115 -0
- package/dist/esm/rendering/texture/DataTexture.js +173 -0
- package/dist/esm/rendering/texture/DataTexture.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +42 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js +12 -1
- package/dist/esm/rendering/webgl2/WebGl2MeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +60 -7
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +13 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +636 -83
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/exo.esm.js +1452 -102
- package/dist/exo.esm.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeatDetector.js","sources":["../../../../src/audio/BeatDetector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BeatDetector.js","sources":["../../../../src/audio/BeatDetector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mel-scale filterbank generator.
|
|
3
|
+
*
|
|
4
|
+
* Generates `numBands` triangular filters log-spaced from `fMin` to `fMax` Hz
|
|
5
|
+
* on the mel scale. Each filter is a typed array of weights for the FFT
|
|
6
|
+
* magnitude bins.
|
|
7
|
+
*
|
|
8
|
+
* These helpers are also inlined inside the beat-detector worklet source
|
|
9
|
+
* string (worklets cannot import modules).
|
|
10
|
+
*/
|
|
11
|
+
/** Convert Hz to mel. */
|
|
12
|
+
function hzToMel(hz) {
|
|
13
|
+
return 2595 * Math.log10(1 + hz / 700);
|
|
14
|
+
}
|
|
15
|
+
/** Convert mel to Hz. */
|
|
16
|
+
function melToHz(mel) {
|
|
17
|
+
return 700 * (Math.pow(10, mel / 2595) - 1);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Build a mel filterbank.
|
|
21
|
+
*
|
|
22
|
+
* @param numBands Number of mel bands (default 24).
|
|
23
|
+
* @param fMin Lowest frequency in Hz (default 80).
|
|
24
|
+
* @param fMax Highest frequency in Hz (default 8000).
|
|
25
|
+
* @param fftSize Number of FFT points (e.g., 2048).
|
|
26
|
+
* @param sampleRate Audio sample rate in Hz (e.g., 48000).
|
|
27
|
+
*/
|
|
28
|
+
function buildMelFilterbank(bandCount, fMin, fMax, fftSize, sampleRate) {
|
|
29
|
+
const binCount = fftSize >> 1; // positive frequencies
|
|
30
|
+
const nyquist = sampleRate / 2;
|
|
31
|
+
// Equally-spaced mel points: bandCount+2 points spanning fMin..fMax
|
|
32
|
+
const melMin = hzToMel(fMin);
|
|
33
|
+
const melMax = hzToMel(fMax);
|
|
34
|
+
const melPoints = new Float32Array(bandCount + 2);
|
|
35
|
+
for (let i = 0; i < bandCount + 2; i++) {
|
|
36
|
+
melPoints[i] = melMin + ((melMax - melMin) * i) / (bandCount + 1);
|
|
37
|
+
}
|
|
38
|
+
// Convert mel points to FFT bin indices
|
|
39
|
+
const binPoints = new Float32Array(bandCount + 2);
|
|
40
|
+
for (let i = 0; i < bandCount + 2; i++) {
|
|
41
|
+
const hz = melToHz(melPoints[i]);
|
|
42
|
+
binPoints[i] = Math.round((hz / nyquist) * (binCount - 1));
|
|
43
|
+
}
|
|
44
|
+
const bands = [];
|
|
45
|
+
for (let b = 0; b < bandCount; b++) {
|
|
46
|
+
const startBin = Math.max(0, Math.min(binCount - 1, binPoints[b]));
|
|
47
|
+
const peakBin = Math.max(0, Math.min(binCount - 1, binPoints[b + 1]));
|
|
48
|
+
const endBin = Math.max(0, Math.min(binCount - 1, binPoints[b + 2]));
|
|
49
|
+
const len = endBin - startBin + 1;
|
|
50
|
+
const weights = new Float32Array(len);
|
|
51
|
+
for (let i = 0; i < len; i++) {
|
|
52
|
+
const bin = startBin + i;
|
|
53
|
+
if (bin <= peakBin && peakBin > startBin) {
|
|
54
|
+
weights[i] = (bin - startBin) / (peakBin - startBin);
|
|
55
|
+
}
|
|
56
|
+
else if (bin > peakBin && endBin > peakBin) {
|
|
57
|
+
weights[i] = (endBin - bin) / (endBin - peakBin);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// Degenerate: startBin === peakBin === endBin
|
|
61
|
+
weights[i] = 1;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
bands.push({ startBin, peakBin, endBin, weights });
|
|
65
|
+
}
|
|
66
|
+
return bands;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { buildMelFilterbank, hzToMel, melToHz };
|
|
70
|
+
//# sourceMappingURL=mel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mel.js","sources":["../../../../../src/audio/dsp/mel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { Application } from '@/core/Application';
|
|
2
|
+
import type { Time } from '@/core/Time';
|
|
3
|
+
import type { Filter } from '@/rendering/filters/Filter';
|
|
4
|
+
import type { RenderBackend } from '@/rendering/RenderBackend';
|
|
5
|
+
import { DebugLayer, type DebugLayerViewMode } from './DebugLayer';
|
|
6
|
+
/**
|
|
7
|
+
* Snapshot of one drawable's filter chain at the moment the inspector
|
|
8
|
+
* collected it. Held by reference inside {@link RenderPassInspectorLayer}
|
|
9
|
+
* for the duration of one frame; replaced on the next update.
|
|
10
|
+
*/
|
|
11
|
+
export interface RenderPassInspectorEntry {
|
|
12
|
+
/** Constructor name of the inspected drawable (e.g. `Sprite`, `Container`). */
|
|
13
|
+
readonly drawableLabel: string;
|
|
14
|
+
/** Filter instances currently attached, in execution order. */
|
|
15
|
+
readonly filters: readonly Filter[];
|
|
16
|
+
/** Bounding-box width as the filter pipeline sees it (ceil). */
|
|
17
|
+
readonly width: number;
|
|
18
|
+
/** Bounding-box height as the filter pipeline sees it (ceil). */
|
|
19
|
+
readonly height: number;
|
|
20
|
+
/** Whether the drawable has a mask attached (mask passes count toward total). */
|
|
21
|
+
readonly hasMask: boolean;
|
|
22
|
+
/** Whether the drawable is bitmap-cached (cached drawables apply filters once, not per frame). */
|
|
23
|
+
readonly cachedAsBitmap: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Debug layer that lists every {@link RenderNode} with an active filter chain
|
|
27
|
+
* each frame. Renders a compact text panel with per-drawable rows showing
|
|
28
|
+
* the filter sequence, bounding-box dimensions, and mask/cache status.
|
|
29
|
+
*
|
|
30
|
+
* Use during development to answer:
|
|
31
|
+
*
|
|
32
|
+
* - "Is my filter actually attached?" → it appears in the list
|
|
33
|
+
* - "Why does my frame have N render passes?" → see total pass count
|
|
34
|
+
* - "Is this drawable being re-rendered or cached?" → `[cached]` flag
|
|
35
|
+
*
|
|
36
|
+
* For deep per-pass inspection (intermediate render-target contents, GLSL/WGSL
|
|
37
|
+
* source, uniform values), use Spector.js or Chrome DevTools' WebGPU panel —
|
|
38
|
+
* the engine emits debug-group labels around filter and mesh-custom-shader
|
|
39
|
+
* passes so those tools show meaningful pass names.
|
|
40
|
+
*/
|
|
41
|
+
export declare class RenderPassInspectorLayer extends DebugLayer {
|
|
42
|
+
private readonly _entries;
|
|
43
|
+
private _root;
|
|
44
|
+
private _bg;
|
|
45
|
+
private _header;
|
|
46
|
+
private _lines;
|
|
47
|
+
constructor(app: Application);
|
|
48
|
+
get viewMode(): DebugLayerViewMode;
|
|
49
|
+
/**
|
|
50
|
+
* Walk the scene graph and collect filter-chain entries for every
|
|
51
|
+
* {@link RenderNode} with at least one filter. Replaces the previous
|
|
52
|
+
* frame's snapshot. The current snapshot is exposed via {@link entries}
|
|
53
|
+
* for tests and external consumers.
|
|
54
|
+
*/
|
|
55
|
+
update(_delta: Time): void;
|
|
56
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
57
|
+
render(backend: RenderBackend): void;
|
|
58
|
+
destroy(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Read-only snapshot of the entries collected on the most recent
|
|
61
|
+
* {@link update} call. Useful for tests and for external tooling that
|
|
62
|
+
* wants to render its own visualisation rather than use the built-in
|
|
63
|
+
* panel.
|
|
64
|
+
*/
|
|
65
|
+
get entries(): readonly RenderPassInspectorEntry[];
|
|
66
|
+
/** Total pass count across all collected entries. */
|
|
67
|
+
get totalPasses(): number;
|
|
68
|
+
private _collect;
|
|
69
|
+
private _build;
|
|
70
|
+
private _refreshPanel;
|
|
71
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { Color } from '../core/Color.js';
|
|
2
|
+
import { Container } from '../rendering/Container.js';
|
|
3
|
+
import { Graphics } from '../rendering/primitives/Graphics.js';
|
|
4
|
+
import { Text } from '../rendering/text/Text.js';
|
|
5
|
+
import { TextStyle } from '../rendering/text/TextStyle.js';
|
|
6
|
+
import { DebugLayer } from './DebugLayer.js';
|
|
7
|
+
|
|
8
|
+
const panelX = 200; // sit to the right of the PerformanceLayer panel
|
|
9
|
+
const panelY = 8;
|
|
10
|
+
const panelMinW = 240;
|
|
11
|
+
const panelMaxLines = 24;
|
|
12
|
+
const panelLineH = 13;
|
|
13
|
+
const panelPadding = 8;
|
|
14
|
+
const textSize = 11;
|
|
15
|
+
const bgColor = new Color(0, 0, 0, 0.7);
|
|
16
|
+
const headerColor = new Color(0.6, 1, 1, 1);
|
|
17
|
+
const textColor = Color.white.clone();
|
|
18
|
+
const dimColor = new Color(0.7, 0.7, 0.7, 1);
|
|
19
|
+
/**
|
|
20
|
+
* Debug layer that lists every {@link RenderNode} with an active filter chain
|
|
21
|
+
* each frame. Renders a compact text panel with per-drawable rows showing
|
|
22
|
+
* the filter sequence, bounding-box dimensions, and mask/cache status.
|
|
23
|
+
*
|
|
24
|
+
* Use during development to answer:
|
|
25
|
+
*
|
|
26
|
+
* - "Is my filter actually attached?" → it appears in the list
|
|
27
|
+
* - "Why does my frame have N render passes?" → see total pass count
|
|
28
|
+
* - "Is this drawable being re-rendered or cached?" → `[cached]` flag
|
|
29
|
+
*
|
|
30
|
+
* For deep per-pass inspection (intermediate render-target contents, GLSL/WGSL
|
|
31
|
+
* source, uniform values), use Spector.js or Chrome DevTools' WebGPU panel —
|
|
32
|
+
* the engine emits debug-group labels around filter and mesh-custom-shader
|
|
33
|
+
* passes so those tools show meaningful pass names.
|
|
34
|
+
*/
|
|
35
|
+
class RenderPassInspectorLayer extends DebugLayer {
|
|
36
|
+
_entries = [];
|
|
37
|
+
_root = null;
|
|
38
|
+
_bg = null;
|
|
39
|
+
_header = null;
|
|
40
|
+
_lines = [];
|
|
41
|
+
constructor(app) {
|
|
42
|
+
super(app);
|
|
43
|
+
}
|
|
44
|
+
get viewMode() {
|
|
45
|
+
return 'screen';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Walk the scene graph and collect filter-chain entries for every
|
|
49
|
+
* {@link RenderNode} with at least one filter. Replaces the previous
|
|
50
|
+
* frame's snapshot. The current snapshot is exposed via {@link entries}
|
|
51
|
+
* for tests and external consumers.
|
|
52
|
+
*/
|
|
53
|
+
update(_delta) {
|
|
54
|
+
if (this._root === null) {
|
|
55
|
+
this._build();
|
|
56
|
+
}
|
|
57
|
+
this._entries.length = 0;
|
|
58
|
+
const root = this._app.sceneManager.scene?.root;
|
|
59
|
+
if (root) {
|
|
60
|
+
this._collect(root);
|
|
61
|
+
}
|
|
62
|
+
this._refreshPanel();
|
|
63
|
+
}
|
|
64
|
+
/** Submit the panel's {@link Container} subtree to the backend for drawing. */
|
|
65
|
+
render(backend) {
|
|
66
|
+
this._root?.render(backend);
|
|
67
|
+
}
|
|
68
|
+
destroy() {
|
|
69
|
+
if (this._root !== null) {
|
|
70
|
+
this._root.destroy();
|
|
71
|
+
this._root = null;
|
|
72
|
+
}
|
|
73
|
+
this._bg = null;
|
|
74
|
+
this._header = null;
|
|
75
|
+
this._lines = [];
|
|
76
|
+
this._entries.length = 0;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Read-only snapshot of the entries collected on the most recent
|
|
80
|
+
* {@link update} call. Useful for tests and for external tooling that
|
|
81
|
+
* wants to render its own visualisation rather than use the built-in
|
|
82
|
+
* panel.
|
|
83
|
+
*/
|
|
84
|
+
get entries() {
|
|
85
|
+
return this._entries;
|
|
86
|
+
}
|
|
87
|
+
/** Total pass count across all collected entries. */
|
|
88
|
+
get totalPasses() {
|
|
89
|
+
let total = 0;
|
|
90
|
+
for (const entry of this._entries) {
|
|
91
|
+
total += entry.filters.length;
|
|
92
|
+
if (entry.hasMask)
|
|
93
|
+
total++;
|
|
94
|
+
}
|
|
95
|
+
return total;
|
|
96
|
+
}
|
|
97
|
+
// -----------------------------------------------------------------------
|
|
98
|
+
_collect(node) {
|
|
99
|
+
if (!node.visible)
|
|
100
|
+
return;
|
|
101
|
+
if (node.filters.length > 0) {
|
|
102
|
+
const bounds = node.getBounds();
|
|
103
|
+
this._entries.push({
|
|
104
|
+
drawableLabel: node.constructor.name,
|
|
105
|
+
filters: [...node.filters],
|
|
106
|
+
width: Math.max(1, Math.ceil(bounds.width)),
|
|
107
|
+
height: Math.max(1, Math.ceil(bounds.height)),
|
|
108
|
+
hasMask: node.mask !== null,
|
|
109
|
+
cachedAsBitmap: node.cacheAsBitmap,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const container = node;
|
|
113
|
+
if (Array.isArray(container.children)) {
|
|
114
|
+
for (const child of container.children) {
|
|
115
|
+
this._collect(child);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
_build() {
|
|
120
|
+
const style = new TextStyle({
|
|
121
|
+
fontSize: textSize,
|
|
122
|
+
fontFamily: 'Arial',
|
|
123
|
+
fontWeight: 'normal',
|
|
124
|
+
fillColor: textColor,
|
|
125
|
+
strokeThickness: 0,
|
|
126
|
+
});
|
|
127
|
+
this._bg = new Graphics();
|
|
128
|
+
const headerStyle = style.clone();
|
|
129
|
+
headerStyle.fillColor = headerColor;
|
|
130
|
+
this._header = new Text('', headerStyle);
|
|
131
|
+
this._header.x = panelX + panelPadding;
|
|
132
|
+
this._header.y = panelY + panelPadding;
|
|
133
|
+
this._lines = [];
|
|
134
|
+
for (let i = 0; i < panelMaxLines; i++) {
|
|
135
|
+
const line = new Text('', style.clone());
|
|
136
|
+
line.x = panelX + panelPadding;
|
|
137
|
+
line.y = panelY + panelPadding + panelLineH + i * panelLineH;
|
|
138
|
+
this._lines.push(line);
|
|
139
|
+
}
|
|
140
|
+
this._root = new Container();
|
|
141
|
+
this._root.addChild(this._bg);
|
|
142
|
+
this._root.addChild(this._header);
|
|
143
|
+
for (const line of this._lines)
|
|
144
|
+
this._root.addChild(line);
|
|
145
|
+
}
|
|
146
|
+
_refreshPanel() {
|
|
147
|
+
if (this._header === null || this._bg === null)
|
|
148
|
+
return;
|
|
149
|
+
const lines = [];
|
|
150
|
+
if (this._entries.length === 0) {
|
|
151
|
+
lines.push({ text: '(no active filter chains)', dim: true });
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
for (const entry of this._entries) {
|
|
155
|
+
const flags = [];
|
|
156
|
+
if (entry.hasMask)
|
|
157
|
+
flags.push('mask');
|
|
158
|
+
if (entry.cachedAsBitmap)
|
|
159
|
+
flags.push('cached');
|
|
160
|
+
const flagsText = flags.length > 0 ? ` [${flags.join(',')}]` : '';
|
|
161
|
+
lines.push({
|
|
162
|
+
text: `${entry.drawableLabel} ${entry.width}x${entry.height}${flagsText}`,
|
|
163
|
+
dim: false,
|
|
164
|
+
});
|
|
165
|
+
for (let i = 0; i < entry.filters.length; i++) {
|
|
166
|
+
lines.push({ text: ` ${i}. ${entry.filters[i].constructor.name}`, dim: false });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
this._header.text = `Render Passes: ${this.totalPasses}`;
|
|
171
|
+
const visibleCount = Math.min(lines.length, this._lines.length);
|
|
172
|
+
for (let i = 0; i < this._lines.length; i++) {
|
|
173
|
+
const line = this._lines[i];
|
|
174
|
+
if (i < visibleCount) {
|
|
175
|
+
const entry = lines[i];
|
|
176
|
+
line.text = entry.text;
|
|
177
|
+
line.style.fillColor = entry.dim ? dimColor : textColor;
|
|
178
|
+
line.visible = true;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
line.text = '';
|
|
182
|
+
line.visible = false;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (lines.length > this._lines.length) {
|
|
186
|
+
const last = this._lines[this._lines.length - 1];
|
|
187
|
+
const overflow = lines.length - this._lines.length;
|
|
188
|
+
last.text = `... (+${overflow} more)`;
|
|
189
|
+
last.style.fillColor = dimColor;
|
|
190
|
+
last.visible = true;
|
|
191
|
+
}
|
|
192
|
+
// Resize background to fit content.
|
|
193
|
+
const panelHeight = panelPadding * 2 + panelLineH * (1 + visibleCount);
|
|
194
|
+
this._bg.clear();
|
|
195
|
+
this._bg.fillColor = bgColor;
|
|
196
|
+
this._bg.drawRectangle(panelX, panelY, panelMinW, panelHeight);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
export { RenderPassInspectorLayer };
|
|
201
|
+
//# sourceMappingURL=RenderPassInspectorLayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderPassInspectorLayer.js","sources":["../../../../src/debug/RenderPassInspectorLayer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAaA,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,MAAM,GAAG,CAAC;AAChB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,YAAY,GAAG,CAAC;AACtB,MAAM,QAAQ,GAAG,EAAE;AAEnB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACvC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;AACrC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAsB5C;;;;;;;;;;;;;;;AAeG;AACG,MAAO,wBAAyB,SAAQ,UAAU,CAAA;IACrC,QAAQ,GAA+B,EAAE;IAClD,KAAK,GAAqB,IAAI;IAC9B,GAAG,GAAoB,IAAI;IAC3B,OAAO,GAAgB,IAAI;IAC3B,MAAM,GAAW,EAAE;AAE3B,IAAA,WAAA,CAAmB,GAAgB,EAAA;QACjC,KAAK,CAAC,GAAG,CAAC;IACZ;AAEA,IAAA,IAAoB,QAAQ,GAAA;AAC1B,QAAA,OAAO,QAAQ;IACjB;AAEA;;;;;AAKG;AACa,IAAA,MAAM,CAAC,MAAY,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE;QACf;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI;QAC/C,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB;QAEA,IAAI,CAAC,aAAa,EAAE;IACtB;;AAGgB,IAAA,MAAM,CAAC,OAAsB,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IAC7B;IAEgB,OAAO,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;AACA,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI;AACf,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;IAC1B;AAEA;;;;;AAKG;AACH,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;;AAGA,IAAA,IAAW,WAAW,GAAA;QACpB,IAAI,KAAK,GAAG,CAAC;AACb,QAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjC,YAAA,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM;YAC7B,IAAI,KAAK,CAAC,OAAO;AAAE,gBAAA,KAAK,EAAE;QAC5B;AACA,QAAA,OAAO,KAAK;IACd;;AAIQ,IAAA,QAAQ,CAAC,IAAgB,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE;QAEnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,gBAAA,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;AACpC,gBAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAC1B,gBAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3C,gBAAA,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7C,gBAAA,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;gBAC3B,cAAc,EAAE,IAAI,CAAC,aAAa;AACnC,aAAA,CAAC;QACJ;QAEA,MAAM,SAAS,GAAG,IAA2C;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;AACrC,YAAA,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE;AACtC,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACtB;QACF;IACF;IAEQ,MAAM,GAAA;AACZ,QAAA,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;AAC1B,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,eAAe,EAAE,CAAC;AACnB,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE;AACzB,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE;AACjC,QAAA,WAAW,CAAC,SAAS,GAAG,WAAW;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY;QACtC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY;AAEtC,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY;AAC9B,YAAA,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU;AAC5D,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB;AAEA,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,EAAE;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC3D;IAEQ,aAAa,GAAA;QACnB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;YAAE;QAEhD,MAAM,KAAK,GAA0C,EAAE;QAEvD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,YAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC9D;aAAO;AACL,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,MAAM,KAAK,GAAa,EAAE;gBAC1B,IAAI,KAAK,CAAC,OAAO;AAAE,oBAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,KAAK,CAAC,cAAc;AAAE,oBAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAA,EAAA,EAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;gBACjE,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,CAAA,EAAG,KAAK,CAAC,aAAa,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA,EAAG,SAAS,CAAA,CAAE;AACzE,oBAAA,GAAG,EAAE,KAAK;AACX,iBAAA,CAAC;AACF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA,EAAA,EAAK,CAAC,CAAA,EAAA,EAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAA,CAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClF;YACF;QACF;QAEA,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,kBAAkB,IAAI,CAAC,WAAW,CAAA,CAAE;AAExD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,YAAA,IAAI,CAAC,GAAG,YAAY,EAAE;AACpB,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACtB,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AACtB,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,GAAG,SAAS;AACvD,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACrB;iBAAO;AACL,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACtB;QACF;QAEA,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACrC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AAClD,YAAA,IAAI,CAAC,IAAI,GAAG,CAAA,MAAA,EAAS,QAAQ,QAAQ;AACrC,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;;AAGA,QAAA,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,YAAY,CAAC;AACtE,QAAA,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AAChB,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO;AAC5B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;IAChE;AACD;;;;"}
|
|
@@ -4,3 +4,4 @@ export { DebugOverlay } from './DebugOverlay';
|
|
|
4
4
|
export { HitTestLayer } from './HitTestLayer';
|
|
5
5
|
export { PerformanceLayer } from './PerformanceLayer';
|
|
6
6
|
export { PointerStackLayer } from './PointerStackLayer';
|
|
7
|
+
export { type RenderPassInspectorEntry, RenderPassInspectorLayer } from './RenderPassInspectorLayer';
|
package/dist/esm/debug/index.js
CHANGED
|
@@ -4,4 +4,5 @@ export { DebugOverlay } from './DebugOverlay.js';
|
|
|
4
4
|
export { HitTestLayer } from './HitTestLayer.js';
|
|
5
5
|
export { PerformanceLayer } from './PerformanceLayer.js';
|
|
6
6
|
export { PointerStackLayer } from './PointerStackLayer.js';
|
|
7
|
+
export { RenderPassInspectorLayer } from './RenderPassInspectorLayer.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -122,6 +122,7 @@ export { LutFilter } from './rendering/filters/LutFilter.js';
|
|
|
122
122
|
export { WebGl2ShaderFilter } from './rendering/filters/WebGl2ShaderFilter.js';
|
|
123
123
|
export { WebGpuShaderFilter } from './rendering/filters/WebGpuShaderFilter.js';
|
|
124
124
|
export { Mesh } from './rendering/mesh/Mesh.js';
|
|
125
|
+
export { MeshShader } from './rendering/mesh/MeshShader.js';
|
|
125
126
|
export { Graphics } from './rendering/primitives/Graphics.js';
|
|
126
127
|
export { RenderBackendType } from './rendering/RenderBackendType.js';
|
|
127
128
|
export { RendererRegistry } from './rendering/RendererRegistry.js';
|
|
@@ -140,6 +141,7 @@ export { DynamicGlyphAtlas } from './rendering/text/DynamicGlyphAtlas.js';
|
|
|
140
141
|
export { Text } from './rendering/text/Text.js';
|
|
141
142
|
export { layoutText } from './rendering/text/TextLayout.js';
|
|
142
143
|
export { TextStyle } from './rendering/text/TextStyle.js';
|
|
144
|
+
export { DataTexture } from './rendering/texture/DataTexture.js';
|
|
143
145
|
export { RenderTexture } from './rendering/texture/RenderTexture.js';
|
|
144
146
|
export { Sampler } from './rendering/texture/Sampler.js';
|
|
145
147
|
export { Texture } from './rendering/texture/Texture.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -144,10 +144,14 @@ class WebGpuShaderFilter extends Filter {
|
|
|
144
144
|
// ---- Build user bind group (group 1) ----
|
|
145
145
|
const userBindGroup = this._buildUserBindGroup(gpu, conn);
|
|
146
146
|
// ---- Encode render pass ----
|
|
147
|
+
// Labels are picked up by Spector.js and Chrome DevTools' WebGPU
|
|
148
|
+
// panel and displayed as the pass name in capture views; ignored
|
|
149
|
+
// by WebGPU at runtime so they cost nothing in release builds.
|
|
147
150
|
const device2 = gpu.device;
|
|
148
|
-
const encoder = device2.createCommandEncoder();
|
|
151
|
+
const encoder = device2.createCommandEncoder({ label: 'WebGpuShaderFilter' });
|
|
149
152
|
const pass = encoder.beginRenderPass({
|
|
150
153
|
colorAttachments: [gpu.createColorAttachment()],
|
|
154
|
+
label: 'WebGpuShaderFilter pass',
|
|
151
155
|
});
|
|
152
156
|
gpu.stats.renderPasses++;
|
|
153
157
|
pass.setPipeline(conn.pipeline);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGpuShaderFilter.js","sources":["../../../../../src/rendering/filters/WebGpuShaderFilter.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebGpuShaderFilter.js","sources":["../../../../../src/rendering/filters/WebGpuShaderFilter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export * from './filters/LutFilter';
|
|
|
8
8
|
export * from './filters/WebGl2ShaderFilter';
|
|
9
9
|
export * from './filters/WebGpuShaderFilter';
|
|
10
10
|
export * from './mesh/Mesh';
|
|
11
|
+
export * from './mesh/MeshShader';
|
|
11
12
|
export * from './primitives/Graphics';
|
|
12
13
|
export * from './RenderBackend';
|
|
13
14
|
export * from './RenderBackendType';
|
|
@@ -30,6 +31,7 @@ export * from './text/Text';
|
|
|
30
31
|
export * from './text/TextLayout';
|
|
31
32
|
export * from './text/TextStyle';
|
|
32
33
|
export * from './text/types';
|
|
34
|
+
export * from './texture/DataTexture';
|
|
33
35
|
export * from './texture/RenderTexture';
|
|
34
36
|
export * from './texture/Sampler';
|
|
35
37
|
export * from './texture/Texture';
|
|
@@ -1,50 +1,7 @@
|
|
|
1
1
|
import { Drawable } from '@/rendering/Drawable';
|
|
2
|
+
import type { MeshShader } from '@/rendering/mesh/MeshShader';
|
|
2
3
|
import type { RenderTexture } from '@/rendering/texture/RenderTexture';
|
|
3
4
|
import type { Texture } from '@/rendering/texture/Texture';
|
|
4
|
-
/**
|
|
5
|
-
* Uniform value passed to a custom mesh shader. Mirrors the shape used by
|
|
6
|
-
* {@link MeshShaderConfig.uniforms}; scalars and small vectors auto-marshal
|
|
7
|
-
* to the appropriate `Float32Array`/`Int32Array` for the GL uniform call.
|
|
8
|
-
* `Texture`/`RenderTexture` values are bound to texture slots starting at
|
|
9
|
-
* slot 1 (slot 0 is reserved for the mesh's own `texture`).
|
|
10
|
-
*/
|
|
11
|
-
export type MeshShaderUniformValue = number | readonly [number, number] | readonly [number, number, number] | readonly [number, number, number, number] | Float32Array | Int32Array | Texture | RenderTexture;
|
|
12
|
-
/**
|
|
13
|
-
* Custom shader pair attached to a {@link Mesh}. When set, the renderer
|
|
14
|
-
* compiles and binds these sources instead of the default mesh shader.
|
|
15
|
-
*
|
|
16
|
-
* The vertex layout is fixed and shared with the default shader, so custom
|
|
17
|
-
* vertex shaders MUST pin the standard attribute locations:
|
|
18
|
-
*
|
|
19
|
-
* ```glsl
|
|
20
|
-
* layout(location = 0) in vec2 a_position;
|
|
21
|
-
* layout(location = 1) in vec2 a_texcoord;
|
|
22
|
-
* layout(location = 2) in vec4 a_color;
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* The renderer auto-binds these uniforms when the shader declares them
|
|
26
|
-
* (declared-but-unused is fine; absent is fine too):
|
|
27
|
-
*
|
|
28
|
-
* - `uniform mat3 u_projection` — view's projection.
|
|
29
|
-
* - `uniform mat3 u_translation` — mesh's global transform.
|
|
30
|
-
* - `uniform vec4 u_tint` — the mesh's `tint` as RGBA in 0..1.
|
|
31
|
-
* - `uniform sampler2D u_texture` — bound to texture slot 0.
|
|
32
|
-
*
|
|
33
|
-
* Anything in `uniforms` is set after the auto-binds, in declaration order,
|
|
34
|
-
* with `Texture`/`RenderTexture` entries taking texture slots 1..N. Mutate
|
|
35
|
-
* `uniforms` between frames to drive animated effects (`uTime`, etc.).
|
|
36
|
-
*
|
|
37
|
-
* Currently WebGL2-only. Setting a custom shader on a Mesh rendered through
|
|
38
|
-
* the WebGPU backend throws at draw time.
|
|
39
|
-
*/
|
|
40
|
-
export interface MeshShaderConfig {
|
|
41
|
-
/** GLSL ES 3.00 vertex shader source (`#version 300 es`). */
|
|
42
|
-
readonly vertexSource: string;
|
|
43
|
-
/** GLSL ES 3.00 fragment shader source. */
|
|
44
|
-
readonly fragmentSource: string;
|
|
45
|
-
/** Initial uniform values; mutate between frames for animation. */
|
|
46
|
-
uniforms?: Record<string, MeshShaderUniformValue>;
|
|
47
|
-
}
|
|
48
5
|
/**
|
|
49
6
|
* Construction-time options for a {@link Mesh}.
|
|
50
7
|
*
|
|
@@ -58,7 +15,7 @@ export interface MeshShaderConfig {
|
|
|
58
15
|
*
|
|
59
16
|
* Validation is enforced at construction; any mismatch throws.
|
|
60
17
|
*
|
|
61
|
-
* For custom shaders, see {@link
|
|
18
|
+
* For custom shaders, see {@link MeshShader}.
|
|
62
19
|
*/
|
|
63
20
|
export interface MeshOptions {
|
|
64
21
|
readonly vertices: Float32Array;
|
|
@@ -66,7 +23,7 @@ export interface MeshOptions {
|
|
|
66
23
|
readonly uvs?: Float32Array;
|
|
67
24
|
readonly colors?: Uint32Array;
|
|
68
25
|
readonly texture?: Texture | RenderTexture | null;
|
|
69
|
-
readonly shader?:
|
|
26
|
+
readonly shader?: MeshShader;
|
|
70
27
|
}
|
|
71
28
|
/**
|
|
72
29
|
* Arbitrary 2D triangle-mesh primitive.
|
|
@@ -101,7 +58,7 @@ export declare class Mesh extends Drawable {
|
|
|
101
58
|
readonly indices: Uint16Array | null;
|
|
102
59
|
readonly uvs: Float32Array | null;
|
|
103
60
|
readonly colors: Uint32Array | null;
|
|
104
|
-
readonly shader:
|
|
61
|
+
readonly shader: MeshShader | null;
|
|
105
62
|
private _texture;
|
|
106
63
|
constructor(options: MeshOptions);
|
|
107
64
|
/** Number of (x, y) vertex pairs in the mesh (i.e. `vertices.length / 2`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mesh.js","sources":["../../../../../src/rendering/mesh/Mesh.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Mesh.js","sources":["../../../../../src/rendering/mesh/Mesh.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|