@tolokoban/tgd 2.0.133 → 2.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/lib/dist/context/context.d.ts +2 -1
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +4 -8
- package/lib/dist/context/extensions.d.ts +174 -0
- package/lib/dist/context/extensions.d.ts.map +1 -0
- package/lib/dist/context/extensions.js +41 -0
- package/lib/dist/controller/camera/orbit.js +3 -3
- package/lib/dist/dataset/dataset.d.ts +3 -0
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +23 -1
- package/lib/dist/filter/filter.d.ts +5 -4
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +7 -4
- package/lib/dist/geometry/geometry.d.ts +2 -0
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +16 -2
- package/lib/dist/geometry/tools/index.d.ts +1 -0
- package/lib/dist/geometry/tools/index.d.ts.map +1 -1
- package/lib/dist/geometry/tools/index.js +2 -1
- package/lib/dist/geometry/tools/join.d.ts +8 -0
- package/lib/dist/geometry/tools/join.d.ts.map +1 -0
- package/lib/dist/geometry/tools/join.js +134 -0
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +6 -5
- package/lib/dist/material/glass.d.ts +2 -0
- package/lib/dist/material/glass.d.ts.map +1 -1
- package/lib/dist/material/glass.js +5 -3
- package/lib/dist/painter/filter/filter.d.ts +1 -0
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +29 -3
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +2 -3
- package/lib/dist/painter/index.d.ts +1 -0
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -1
- package/lib/dist/painter/overlay/overlay.d.ts.map +1 -1
- package/lib/dist/painter/overlay/overlay.js +8 -10
- package/lib/dist/painter/painter.d.ts +1 -1
- package/lib/dist/painter/painter.d.ts.map +1 -1
- package/lib/dist/painter/painter.js +1 -1
- package/lib/dist/painter/particles/index.d.ts +2 -0
- package/lib/dist/painter/particles/index.d.ts.map +1 -0
- package/lib/dist/painter/particles/index.js +2 -0
- package/lib/dist/painter/particles/particles.d.ts +40 -0
- package/lib/dist/painter/particles/particles.d.ts.map +1 -0
- package/lib/dist/painter/particles/particles.js +116 -0
- package/lib/dist/painter/program.js +4 -19
- package/lib/dist/program/program.js +2 -2
- package/lib/dist/shader/fragment.d.ts +4 -0
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +16 -2
- package/lib/dist/shader/vertex.d.ts +8 -1
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +37 -4
- package/lib/dist/texture/texture-depth.d.ts +2 -2
- package/lib/dist/texture/texture-depth.d.ts.map +1 -1
- package/lib/dist/texture/texture-depth.js +11 -13
- package/lib/dist/texture/texture2d.d.ts +11 -7
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +141 -79
- package/lib/dist/types/elements.d.ts +1 -0
- package/lib/dist/types/elements.d.ts.map +1 -1
- package/lib/dist/types/elements.js +10 -1
- package/lib/dist/utils/error.d.ts +2 -0
- package/lib/dist/utils/error.d.ts.map +1 -0
- package/lib/dist/utils/error.js +13 -0
- package/lib/dist/utils/index.d.ts +2 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +3 -1
- package/lib/dist/utils/texture.d.ts +5 -0
- package/lib/dist/utils/texture.d.ts.map +1 -0
- package/lib/dist/utils/texture.js +17 -0
- package/lib/dist/version.d.ts +1 -1
- package/lib/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import type { TgdFilter } from "../filter";
|
|
|
5
5
|
import { TgdVec4 } from "../math";
|
|
6
6
|
import { TgdProgram } from "../program";
|
|
7
7
|
import { ArrayNumber4, type WebglImage, type WebglTexParameter } from "../types";
|
|
8
|
-
import { type
|
|
8
|
+
import { type WebglTextureParameters } from "../webgl";
|
|
9
9
|
import { type LoadBmpOptions } from "./types";
|
|
10
10
|
interface TgdTexture2DStorage {
|
|
11
11
|
width: number;
|
|
@@ -17,7 +17,7 @@ interface TgdTexture2DStorage {
|
|
|
17
17
|
* Default to `false`.
|
|
18
18
|
*/
|
|
19
19
|
premultipliedAlpha: boolean;
|
|
20
|
-
|
|
20
|
+
format: "R8 / RED / UNSIGNED_BYTE" | "R8_SNORM / RED / BYTE" | "R16F / RED / HALF_FLOAT" | "R16F / RED / FLOAT" | "R32F / RED / FLOAT" | "R8UI / RED_INTEGER / UNSIGNED_BYTE" | "R8I / RED_INTEGER / BYTE" | "R16UI / RED_INTEGER / UNSIGNED_SHORT" | "R16I / RED_INTEGER / SHORT" | "R32UI / RED_INTEGER / UNSIGNED_INT" | "R32I / RED_INTEGER / INT" | "RG8 / RG / UNSIGNED_BYTE" | "RG8_SNORM / RG / BYTE" | "RG16F / RG / HALF_FLOAT" | "RG16F / RG / FLOAT" | "RG32F / RG / FLOAT" | "RG8UI / RG_INTEGER / UNSIGNED_BYTE" | "RG8I / RG_INTEGER / BYTE" | "RG16UI / RG_INTEGER / UNSIGNED_SHORT" | "RG16I / RG_INTEGER / SHORT" | "RG32UI / RG_INTEGER / UNSIGNED_INT" | "RG32I / RG_INTEGER / INT" | "RGB8 / RGB / UNSIGNED_BYTE" | "SRGB8 / RGB / UNSIGNED_BYTE" | "RGB565 / RGB / UNSIGNED_BYTE" | "RGB565 / RGB / UNSIGNED_SHORT_5_6_5" | "RGB8_SNORM / RGB / BYTE" | "R11F_G11F_B10F / RGB / UNSIGNED_INT_10F_11F_11F_REV" | "R11F_G11F_B10F / RGB / HALF_FLOAT" | "R11F_G11F_B10F / RGB / FLOAT" | "RGB9_E5 / RGB / UNSIGNED_INT_5_9_9_9_REV" | "RGB9_E5 / RGB / HALF_FLOAT" | "RGB9_E5 / RGB / FLOAT" | "RGB16F / RGB / HALF_FLOAT" | "RGB16F / RGB / FLOAT" | "RGB32F / RGB / FLOAT" | "RGB8UI / RGB_INTEGER / UNSIGNED_BYTE" | "RGB8I / RGB_INTEGER / BYTE" | "RGB16UI / RGB_INTEGER / UNSIGNED_SHORT" | "RGB16I / RGB_INTEGER / SHORT" | "RGB32UI / RGB_INTEGER / UNSIGNED_INT" | "RGB32I / RGB_INTEGER / INT" | "RGBA8 / RGBA / UNSIGNED_BYTE" | "SRGB8_ALPHA8 / RGBA / UNSIGNED_BYTE" | "RGBA8_SNORM / RGBA / BYTE" | "RGB5_A1 / RGBA / UNSIGNED_BYTE" | "RGB5_A1 / RGBA / UNSIGNED_SHORT_5_5_5_1" | "RGB5_A1 / RGBA / UNSIGNED_INT_2_10_10_10_REV" | "RGBA4 / RGBA / UNSIGNED_BYTE" | "RGBA4 / RGBA / UNSIGNED_SHORT_4_4_4_4" | "RGB10_A2 / RGBA / UNSIGNED_INT_2_10_10_10_REV" | "RGBA16F / RGBA / HALF_FLOAT" | "RGBA16F / RGBA / FLOAT" | "RGBA32F / RGBA / FLOAT" | "RGBA8UI / RGBA_INTEGER / UNSIGNED_BYTE" | "RGBA8I / RGBA_INTEGER / BYTE" | "RGBA16UI / RGBA_INTEGER / UNSIGNED_SHORT" | "RGBA16I / RGBA_INTEGER / SHORT" | "RGBA32UI / RGBA_INTEGER / UNSIGNED_INT" | "RGBA32I / RGBA_INTEGER / INT" | "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_SHORT" | "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT24 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT32F / DEPTH_COMPONENT / FLOAT" | "DEPTH24_STENCIL8 / DEPTH_STENCIL / UNSIGNED_INT_24_8" | "DEPTH32F_STENCIL8 / DEPTH_STENCIL / FLOAT_32_UNSIGNED_INT_24_8_REV";
|
|
21
21
|
}
|
|
22
22
|
export interface TgdTexture2DOptions {
|
|
23
23
|
name?: string;
|
|
@@ -42,15 +42,20 @@ export declare class TgdTexture2D {
|
|
|
42
42
|
private _height;
|
|
43
43
|
private readonly storage;
|
|
44
44
|
private params;
|
|
45
|
+
private videoUpdater;
|
|
45
46
|
private static counter;
|
|
46
47
|
constructor(context: TgdContext, options?: TgdTexture2DOptions);
|
|
47
48
|
clone(name?: string): TgdTexture2D;
|
|
48
|
-
get
|
|
49
|
-
private set
|
|
49
|
+
get format(): TgdTexture2DStorage["format"];
|
|
50
|
+
private set format(value);
|
|
51
|
+
get internalFormat(): number;
|
|
52
|
+
get sourceFormat(): number;
|
|
53
|
+
get sourceType(): number;
|
|
50
54
|
delete(): void;
|
|
51
55
|
get width(): number;
|
|
52
56
|
get height(): number;
|
|
53
57
|
private createTexture;
|
|
58
|
+
private splitFormat;
|
|
54
59
|
resize(w: number, h: number): void;
|
|
55
60
|
private checkError;
|
|
56
61
|
get glTexture(): WebGLTexture;
|
|
@@ -65,13 +70,12 @@ export declare class TgdTexture2D {
|
|
|
65
70
|
onLoad?: () => void;
|
|
66
71
|
}): this;
|
|
67
72
|
applyFilter(filter: TgdFilter): this;
|
|
68
|
-
loadData(data: Uint8Array | Uint8ClampedArray, options: {
|
|
73
|
+
loadData(data: Uint8Array | Uint8ClampedArray | Float32Array, options: {
|
|
69
74
|
width: number;
|
|
70
75
|
height: number;
|
|
71
|
-
internalFormat: WebglTextureInternalFormat;
|
|
72
|
-
format: "RED" | "RG" | "RGB" | "RGBA" | "RED_INTEGER" | "RG_INTEGER" | "RGB_INTEGER" | "RGBA_INTEGER";
|
|
73
76
|
level?: number;
|
|
74
77
|
offset?: number;
|
|
78
|
+
format?: TgdTexture2DStorage["format"];
|
|
75
79
|
}): this;
|
|
76
80
|
/**
|
|
77
81
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAgB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGhG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TgdEvent } from "./../event/index.js";
|
|
2
2
|
import { tgdLoadImage } from "./../loader/image.js";
|
|
3
|
-
import { TgdPainterFilter, TgdPainterFramebuffer } from "./../painter/index.js";
|
|
3
|
+
import { TgdPainterFilter, TgdPainterFramebuffer, TgdPainterLogic } from "./../painter/index.js";
|
|
4
4
|
import { isWebglImage } from "./../types/index.js";
|
|
5
5
|
import { isString } from "./../types/guards.js";
|
|
6
|
-
import { ensureArrayNumber4, tgdCanvasCreate, webglLookup } from "./../utils/index.js";
|
|
6
|
+
import { ensureArrayNumber4, resolveErrorMessage, tgdCanvasCreate, webglLookup } from "./../utils/index.js";
|
|
7
7
|
import { webglTextureParametersSet } from "./../webgl/index.js";
|
|
8
8
|
import { isLoadBmpOptions } from "./types.js";
|
|
9
9
|
export class TgdTexture2D {
|
|
@@ -21,6 +21,7 @@ export class TgdTexture2D {
|
|
|
21
21
|
wrapT: "REPEAT",
|
|
22
22
|
wrapR: "REPEAT",
|
|
23
23
|
};
|
|
24
|
+
this.videoUpdater = null;
|
|
24
25
|
const { storage, params, load } = options;
|
|
25
26
|
const { gl } = context;
|
|
26
27
|
this.gl = gl;
|
|
@@ -28,7 +29,7 @@ export class TgdTexture2D {
|
|
|
28
29
|
this.storage = {
|
|
29
30
|
width: 0,
|
|
30
31
|
height: 0,
|
|
31
|
-
|
|
32
|
+
format: storage?.format ?? "RGBA8 / RGBA / UNSIGNED_BYTE",
|
|
32
33
|
levels: 1,
|
|
33
34
|
flipY: false,
|
|
34
35
|
premultipliedAlpha: false,
|
|
@@ -55,13 +56,28 @@ export class TgdTexture2D {
|
|
|
55
56
|
name: name ?? this.options.name,
|
|
56
57
|
})).loadBitmap(tgdCanvasCreate(this.width, this.height));
|
|
57
58
|
}
|
|
59
|
+
get format() {
|
|
60
|
+
return this.storage.format;
|
|
61
|
+
}
|
|
62
|
+
set format(format) {
|
|
63
|
+
this.storage.format = format;
|
|
64
|
+
}
|
|
58
65
|
get internalFormat() {
|
|
59
|
-
|
|
66
|
+
const [internalFormat] = this.splitFormat(this.context.gl);
|
|
67
|
+
return internalFormat;
|
|
68
|
+
}
|
|
69
|
+
get sourceFormat() {
|
|
70
|
+
const [, sourceFormat] = this.splitFormat(this.context.gl);
|
|
71
|
+
return sourceFormat;
|
|
60
72
|
}
|
|
61
|
-
|
|
62
|
-
this.
|
|
73
|
+
get sourceType() {
|
|
74
|
+
const [, , sourceType] = this.splitFormat(this.context.gl);
|
|
75
|
+
return sourceType;
|
|
63
76
|
}
|
|
64
77
|
delete() {
|
|
78
|
+
const { videoUpdater } = this;
|
|
79
|
+
if (videoUpdater)
|
|
80
|
+
this.context.remove(videoUpdater);
|
|
65
81
|
if (this._texture)
|
|
66
82
|
this.gl.deleteTexture(this._texture);
|
|
67
83
|
this._texture = null;
|
|
@@ -81,18 +97,24 @@ export class TgdTexture2D {
|
|
|
81
97
|
this._texture = texture;
|
|
82
98
|
this.bind();
|
|
83
99
|
this.setParams(this.params);
|
|
100
|
+
const color4 = ensureArrayNumber4(color, [1, 0, 0.667, 1]);
|
|
101
|
+
const [internalFormat, sourceFormat, sourceType] = this.splitFormat(gl);
|
|
84
102
|
gl.texImage2D(gl.TEXTURE_2D, // target
|
|
85
103
|
0, // level of detail
|
|
86
|
-
|
|
104
|
+
internalFormat, // internal format
|
|
87
105
|
1, // width
|
|
88
106
|
1, // height
|
|
89
107
|
0, // border
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
new
|
|
108
|
+
sourceFormat, // source format
|
|
109
|
+
sourceType, // source type
|
|
110
|
+
sourceType === gl.FLOAT ? new Float32Array(color4) : new Uint8Array(color4));
|
|
93
111
|
this._width = 1;
|
|
94
112
|
this._height = 1;
|
|
95
113
|
}
|
|
114
|
+
splitFormat(gl) {
|
|
115
|
+
const [internalFormat, sourceFormat, sourceType] = this.storage.format.split(" / ");
|
|
116
|
+
return [gl[internalFormat], gl[sourceFormat], gl[sourceType]];
|
|
117
|
+
}
|
|
96
118
|
resize(w, h) {
|
|
97
119
|
const width = Math.ceil(w);
|
|
98
120
|
const height = Math.ceil(h);
|
|
@@ -125,10 +147,21 @@ export class TgdTexture2D {
|
|
|
125
147
|
let playing = false;
|
|
126
148
|
let timeupdate = false;
|
|
127
149
|
const video = document.createElement("video");
|
|
150
|
+
let initialized = false;
|
|
128
151
|
const checkReady = () => {
|
|
129
|
-
if (!playing || !timeupdate)
|
|
152
|
+
if (!playing || !timeupdate || initialized)
|
|
130
153
|
return;
|
|
154
|
+
initialized = true;
|
|
131
155
|
this.loadBitmap(video, options);
|
|
156
|
+
const videoUpdater = new TgdPainterLogic(() => {
|
|
157
|
+
if (!video.paused && !video.ended) {
|
|
158
|
+
this.loadBitmap(video);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
if (this.videoUpdater)
|
|
162
|
+
this.context.remove(this.videoUpdater);
|
|
163
|
+
this.context.add(videoUpdater);
|
|
164
|
+
this.videoUpdater = videoUpdater;
|
|
132
165
|
};
|
|
133
166
|
video.playsInline = true;
|
|
134
167
|
video.muted = true;
|
|
@@ -142,7 +175,10 @@ export class TgdTexture2D {
|
|
|
142
175
|
checkReady();
|
|
143
176
|
});
|
|
144
177
|
video.src = url;
|
|
145
|
-
video.play()
|
|
178
|
+
video.play().catch(() => {
|
|
179
|
+
// We want to prevent this error:
|
|
180
|
+
// The fetching process for the media resource was aborted by the user agent at the user's request.
|
|
181
|
+
});
|
|
146
182
|
return this;
|
|
147
183
|
}
|
|
148
184
|
loadBitmap(bmp, options = {}) {
|
|
@@ -178,9 +214,8 @@ export class TgdTexture2D {
|
|
|
178
214
|
this.bind();
|
|
179
215
|
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.storage.flipY);
|
|
180
216
|
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.storage.premultipliedAlpha);
|
|
181
|
-
|
|
182
|
-
gl.
|
|
183
|
-
gl.UNSIGNED_BYTE, bmp);
|
|
217
|
+
const [internalFormat, sourceFormat, sourceType] = this.splitFormat(gl);
|
|
218
|
+
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, sourceFormat, sourceType, bmp);
|
|
184
219
|
this.checkError(`loadBitmap(${JSON.stringify({
|
|
185
220
|
width: bmp.width,
|
|
186
221
|
height: bmp.height,
|
|
@@ -192,10 +227,11 @@ export class TgdTexture2D {
|
|
|
192
227
|
});
|
|
193
228
|
if (options.generateMipmap) {
|
|
194
229
|
this.generateMipmap();
|
|
230
|
+
const { context } = this;
|
|
195
231
|
this.checkError(`loadBitmap(${JSON.stringify({
|
|
196
232
|
width: bmp.width,
|
|
197
233
|
height: bmp.height,
|
|
198
|
-
})})\ngl.texImage2D(gl.TEXTURE_2D, ${level}, gl.${
|
|
234
|
+
})})\ngl.texImage2D(gl.TEXTURE_2D, ${level}, gl.${context.lookupWebglConstant(internalFormat)}, gl.${context.lookupWebglConstant(sourceFormat)}, gl.${context.lookupWebglConstant(sourceType)}, bmp)\ngenerateMipmap()`);
|
|
199
235
|
}
|
|
200
236
|
const { filter } = this.options;
|
|
201
237
|
if (filter)
|
|
@@ -212,7 +248,7 @@ export class TgdTexture2D {
|
|
|
212
248
|
const output = new TgdTexture2D(this.context, {
|
|
213
249
|
params: { ...this.params },
|
|
214
250
|
storage: {
|
|
215
|
-
|
|
251
|
+
...this.storage,
|
|
216
252
|
width: this.width,
|
|
217
253
|
height: this.height,
|
|
218
254
|
},
|
|
@@ -236,18 +272,37 @@ export class TgdTexture2D {
|
|
|
236
272
|
return this;
|
|
237
273
|
}
|
|
238
274
|
loadData(data, options) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
275
|
+
try {
|
|
276
|
+
const { level = 0, width, height, format,
|
|
277
|
+
// offset = 0,
|
|
278
|
+
} = options;
|
|
279
|
+
const { gl, context } = this;
|
|
280
|
+
if (format) {
|
|
281
|
+
this.format = format;
|
|
282
|
+
}
|
|
283
|
+
checkIfDataHasMinimalRequestedSize(data, this.format, width, height);
|
|
284
|
+
this._width = width;
|
|
285
|
+
this._height = height;
|
|
286
|
+
this.bind();
|
|
287
|
+
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.storage.flipY);
|
|
288
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.storage.premultipliedAlpha);
|
|
289
|
+
const [internalFormat, sourceFormat, sourceType] = this.splitFormat(gl);
|
|
290
|
+
if (sourceType === gl.FLOAT && !(data instanceof Float32Array)) {
|
|
291
|
+
throw new Error(`You must pass a Float32Array with this format: ${this.format}!`);
|
|
292
|
+
}
|
|
293
|
+
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, 0, sourceFormat, sourceType, data);
|
|
294
|
+
this.checkError(`loadData(${printArray(data)}, ${JSON.stringify(options)})
|
|
295
|
+
internalFormat: ${context.lookupWebglConstant(internalFormat)}
|
|
296
|
+
sourceFormat: ${context.lookupWebglConstant(sourceFormat)}
|
|
297
|
+
sourceType: ${context.lookupWebglConstant(sourceType)}
|
|
298
|
+
`);
|
|
299
|
+
this.unbind();
|
|
300
|
+
this.eventChange.dispatch(this);
|
|
301
|
+
return this;
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
throw new Error(`[${this.name}::loadData()] ${resolveErrorMessage(error)}`);
|
|
305
|
+
}
|
|
251
306
|
}
|
|
252
307
|
/**
|
|
253
308
|
*
|
|
@@ -331,55 +386,6 @@ export class TgdTexture2D {
|
|
|
331
386
|
}
|
|
332
387
|
}
|
|
333
388
|
TgdTexture2D.counter = 0;
|
|
334
|
-
const COMPATIBLE_FORMATS = [
|
|
335
|
-
[
|
|
336
|
-
"RGB",
|
|
337
|
-
new Set([
|
|
338
|
-
"RGB",
|
|
339
|
-
"RGB8",
|
|
340
|
-
"RGB565",
|
|
341
|
-
"SRGB8",
|
|
342
|
-
"RGB8_SNORM",
|
|
343
|
-
"RGB565",
|
|
344
|
-
"R11F_G11F_B10F",
|
|
345
|
-
"RGB9_E5",
|
|
346
|
-
"RGB16F",
|
|
347
|
-
"R11F_G11F_B10F",
|
|
348
|
-
"RGB9_E5",
|
|
349
|
-
"RGB32F",
|
|
350
|
-
"RGB16F",
|
|
351
|
-
"R11F_G11F_B10F",
|
|
352
|
-
"RGB9_E5",
|
|
353
|
-
]),
|
|
354
|
-
],
|
|
355
|
-
[
|
|
356
|
-
"RGBA",
|
|
357
|
-
new Set([
|
|
358
|
-
"RGBA",
|
|
359
|
-
"RGBA8",
|
|
360
|
-
"RGB5_A1",
|
|
361
|
-
"RGBA4",
|
|
362
|
-
"SRGB8_ALPHA8",
|
|
363
|
-
"RGBA8_SNORM",
|
|
364
|
-
"RGBA4",
|
|
365
|
-
"RGB5_A1",
|
|
366
|
-
"RGB10_A2",
|
|
367
|
-
"RGB5_A1",
|
|
368
|
-
"RGBA16F",
|
|
369
|
-
"RGBA32F",
|
|
370
|
-
"RGBA16F",
|
|
371
|
-
]),
|
|
372
|
-
],
|
|
373
|
-
["RG", new Set(["RG8"])],
|
|
374
|
-
["RED", new Set(["R8"])],
|
|
375
|
-
];
|
|
376
|
-
function resolveCompatibleFormat(internalFormat) {
|
|
377
|
-
for (const [format, internalFormats] of COMPATIBLE_FORMATS) {
|
|
378
|
-
if (internalFormats.has(internalFormat))
|
|
379
|
-
return format;
|
|
380
|
-
}
|
|
381
|
-
throw new Error(`There is no compatible format for internalFormat "${internalFormat}" and type "UNSIGNED_BYTE"!`);
|
|
382
|
-
}
|
|
383
389
|
function printArray(data) {
|
|
384
390
|
if (data.length > 10) {
|
|
385
391
|
return `[${data.slice(0, 10).join(", ")}, ...] (${data.length} elements)`;
|
|
@@ -395,4 +401,60 @@ function isImageURL(url) {
|
|
|
395
401
|
}
|
|
396
402
|
return false;
|
|
397
403
|
}
|
|
398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV0RSxPQUFPLEVBQWdCLFlBQVksRUFBMkMsTUFBTSxZQUFZLENBQUE7QUFDaEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzdFLE9BQU8sRUFBZ0UseUJBQXlCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUF1QixNQUFNLFNBQVMsQ0FBQTtBQWlFL0QsTUFBTSxPQUFPLFlBQVk7SUFtQnJCLFlBQ29CLE9BQW1CLEVBQ2xCLFVBQStCLEVBQUU7UUFEbEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQWxCdEMsZ0JBQVcsR0FBRyxJQUFJLFFBQVEsRUFBZ0IsQ0FBQTtRQUVsRCxhQUFRLEdBQXdCLElBQUksQ0FBQTtRQUNwQyxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDWCxZQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFFWixXQUFNLEdBQTJCO1lBQ3JDLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1lBQ25CLEtBQUssRUFBRSxRQUFRO1lBQ2YsS0FBSyxFQUFFLFFBQVE7WUFDZixLQUFLLEVBQUUsUUFBUTtTQUNsQixDQUFBO1FBUUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFB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QUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsTUFBTSxZQUFZLENBQUE7SUFDN0UsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUMvQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUMzQixNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDdEUsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzdDLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDM0IsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFBO0lBQy9DLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNoQixDQUFDIn0=
|
|
404
|
+
function computeDataSizePerRow(format, width) {
|
|
405
|
+
const [, sourceFormat, sourceType] = format.split(" / ");
|
|
406
|
+
const componentCount = {
|
|
407
|
+
RED: 1,
|
|
408
|
+
RED_INTEGER: 1,
|
|
409
|
+
RG: 2,
|
|
410
|
+
RG_INTEGER: 2,
|
|
411
|
+
RGB: 3,
|
|
412
|
+
RGB_INTEGER: 3,
|
|
413
|
+
RGBA: 4,
|
|
414
|
+
RGBA_INTEGER: 4,
|
|
415
|
+
DEPTH_COMPONENT: 1,
|
|
416
|
+
DEPTH_STENCIL: 1,
|
|
417
|
+
};
|
|
418
|
+
const typeBytes = {
|
|
419
|
+
UNSIGNED_BYTE: 1,
|
|
420
|
+
BYTE: 1,
|
|
421
|
+
UNSIGNED_SHORT: 2,
|
|
422
|
+
SHORT: 2,
|
|
423
|
+
HALF_FLOAT: 2,
|
|
424
|
+
UNSIGNED_INT: 4,
|
|
425
|
+
INT: 4,
|
|
426
|
+
FLOAT: 4,
|
|
427
|
+
UNSIGNED_SHORT_5_6_5: 2,
|
|
428
|
+
UNSIGNED_SHORT_5_5_5_1: 2,
|
|
429
|
+
UNSIGNED_SHORT_4_4_4_4: 2,
|
|
430
|
+
UNSIGNED_INT_2_10_10_10_REV: 4,
|
|
431
|
+
UNSIGNED_INT_10F_11F_11F_REV: 4,
|
|
432
|
+
UNSIGNED_INT_5_9_9_9_REV: 4,
|
|
433
|
+
UNSIGNED_INT_24_8: 4,
|
|
434
|
+
FLOAT_32_UNSIGNED_INT_24_8_REV: 8,
|
|
435
|
+
};
|
|
436
|
+
const packed = typeBytes[sourceType] !== undefined &&
|
|
437
|
+
sourceType !== "UNSIGNED_BYTE" &&
|
|
438
|
+
sourceType !== "BYTE" &&
|
|
439
|
+
sourceType !== "UNSIGNED_SHORT" &&
|
|
440
|
+
sourceType !== "SHORT" &&
|
|
441
|
+
sourceType !== "UNSIGNED_INT" &&
|
|
442
|
+
sourceType !== "INT" &&
|
|
443
|
+
sourceType !== "HALF_FLOAT" &&
|
|
444
|
+
sourceType !== "FLOAT";
|
|
445
|
+
const bytesPerPixel = packed
|
|
446
|
+
? typeBytes[sourceType]
|
|
447
|
+
: (componentCount[sourceFormat] ?? 4) * (typeBytes[sourceType] ?? 1);
|
|
448
|
+
const rowBytes = width * bytesPerPixel;
|
|
449
|
+
return Math.ceil(rowBytes / 4) * 4;
|
|
450
|
+
}
|
|
451
|
+
function checkIfDataHasMinimalRequestedSize(data, format, width, height) {
|
|
452
|
+
const expectedSizePerRow = computeDataSizePerRow(format, width);
|
|
453
|
+
const expectedSize = expectedSizePerRow * height;
|
|
454
|
+
if (data.byteLength < expectedSize) {
|
|
455
|
+
throw new Error(`For a texture of ${width}×${height} with format "${format}", you need a storage of ${expectedSizePerRow}×${height} = ${expectedSize}.
|
|
456
|
+
But your data has only ${data.byteLength} bytes.
|
|
457
|
+
Did you specify the right format?`);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZTJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RleHR1cmUvdGV4dHVyZTJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdkYsT0FBTyxFQUFnQixZQUFZLEVBQTJDLE1BQU0sWUFBWSxDQUFBO0FBQ2hHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNsRyxPQUFPLEVBQStCLHlCQUF5QixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBdUIsTUFBTSxTQUFTLENBQUE7QUE4Ri9ELE1BQU0sT0FBTyxZQUFZO0lBbUJyQixZQUNvQixPQUFtQixFQUNsQixVQUErQixFQUFFO1FBRGxDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFsQnRDLGdCQUFXLEdBQUcsSUFBSSxRQUFRLEVBQWdCLENBQUE7UUFFbEQsYUFBUSxHQUF3QixJQUFJLENBQUE7UUFDcEMsV0FBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ1gsWUFBTyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRVosV0FBTSxHQUEyQjtZQUNyQyxTQUFTLEVBQUUsUUFBUTtZQUNuQixTQUFTLEVBQUUsUUFBUTtZQUNuQixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxRQUFRO1lBQ2YsS0FBSyxFQUFFLFFBQVE7U0FDbEIsQ0FBQTtRQUNPLGlCQUFZLEdBQTJC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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type TgdTypeArrayForElements = Uint8Array | Uint16Array | Uint32Array;
|
|
2
|
+
export declare function isTgdTypeArrayForElements(data: unknown): data is TgdTypeArrayForElements;
|
|
2
3
|
export declare function assertTgdTypeArrayForElements(data: unknown): asserts data is TgdTypeArrayForElements;
|
|
3
4
|
//# sourceMappingURL=elements.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/types/elements.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA;AAE5E,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,uBAAuB,CAMpG"}
|
|
1
|
+
{"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../src/types/elements.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA;AAE5E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,uBAAuB,CAMxF;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,uBAAuB,CAMpG"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
export function isTgdTypeArrayForElements(data) {
|
|
2
|
+
if (data instanceof Uint8Array)
|
|
3
|
+
return true;
|
|
4
|
+
if (data instanceof Uint16Array)
|
|
5
|
+
return true;
|
|
6
|
+
if (data instanceof Uint32Array)
|
|
7
|
+
return true;
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
1
10
|
export function assertTgdTypeArrayForElements(data) {
|
|
2
11
|
if (data instanceof Uint8Array)
|
|
3
12
|
return;
|
|
@@ -7,4 +16,4 @@ export function assertTgdTypeArrayForElements(data) {
|
|
|
7
16
|
return;
|
|
8
17
|
throw new Error("Only Uint8Array, Uint16Array or Uint32Array are allowed for elements!");
|
|
9
18
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLElBQWE7SUFDbkQsSUFBSSxJQUFJLFlBQVksVUFBVTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQzNDLElBQUksSUFBSSxZQUFZLFdBQVc7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM1QyxJQUFJLElBQUksWUFBWSxXQUFXO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFNUMsT0FBTyxLQUFLLENBQUE7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxJQUFhO0lBQ3ZELElBQUksSUFBSSxZQUFZLFVBQVU7UUFBRSxPQUFNO0lBQ3RDLElBQUksSUFBSSxZQUFZLFdBQVc7UUFBRSxPQUFNO0lBQ3ZDLElBQUksSUFBSSxZQUFZLFdBQVc7UUFBRSxPQUFNO0lBRXZDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQTtBQUM1RixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,SAAI,GAAG,MAAM,CAQ3E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function resolveErrorMessage(error, indentation = 0) {
|
|
2
|
+
if (!error)
|
|
3
|
+
return "";
|
|
4
|
+
if (typeof error === "string")
|
|
5
|
+
return error;
|
|
6
|
+
if (error instanceof Error)
|
|
7
|
+
return error.message;
|
|
8
|
+
if (typeof error === "object" && "message" in error && typeof error.message === "string") {
|
|
9
|
+
return error.message;
|
|
10
|
+
}
|
|
11
|
+
return indentation > 0 ? JSON.stringify(error, null, indentation) : JSON.stringify(error);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWMsRUFBRSxXQUFXLEdBQUcsQ0FBQztJQUMvRCxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQzNDLElBQUksS0FBSyxZQUFZLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUE7SUFDaEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkYsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFBO0lBQ3hCLENBQUM7SUFDRCxPQUFPLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUM3RixDQUFDIn0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from "./action";
|
|
2
2
|
export * from "./animation";
|
|
3
3
|
export * from "./ensure";
|
|
4
|
+
export * from "./error";
|
|
4
5
|
export * from "./assert";
|
|
5
6
|
export * from "./bbox";
|
|
6
7
|
export * from "./canvas";
|
|
@@ -10,5 +11,6 @@ export * from "./framebuffer";
|
|
|
10
11
|
export * from "./fullscreen";
|
|
11
12
|
export * from "./pbo";
|
|
12
13
|
export * from "./state";
|
|
14
|
+
export * from "./texture";
|
|
13
15
|
export * from "./webgl";
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
package/lib/dist/utils/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from "./action/index.js";
|
|
2
2
|
export * from "./animation/index.js";
|
|
3
3
|
export * from "./ensure.js";
|
|
4
|
+
export * from "./error.js";
|
|
4
5
|
export * from "./assert.js";
|
|
5
6
|
export * from "./bbox.js";
|
|
6
7
|
export * from "./canvas.js";
|
|
@@ -10,5 +11,6 @@ export * from "./framebuffer.js";
|
|
|
10
11
|
export * from "./fullscreen.js";
|
|
11
12
|
export * from "./pbo.js";
|
|
12
13
|
export * from "./state/index.js";
|
|
14
|
+
export * from "./texture.js";
|
|
13
15
|
export * from "./webgl.js";
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsT0FBTyxDQUFBO0FBQ3JCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsU0FBUyxDQUFBIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TgdTexture2D, TgdTextureCube } from "../texture";
|
|
2
|
+
import { WebglUniformType } from "../types";
|
|
3
|
+
export declare function tgdTextureRecordToUniforms(textures: Record<string, TgdTexture2D | TgdTextureCube>): Record<string, WebglUniformType>;
|
|
4
|
+
export declare function tgdTextureResolveGLSLType(texture: TgdTexture2D | TgdTextureCube): "sampler2D" | "samplerCube";
|
|
5
|
+
//# sourceMappingURL=texture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../src/utils/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,oCAMjG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,+BAO/E"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TgdTexture2D, TgdTextureCube } from "./../texture/index.js";
|
|
2
|
+
export function tgdTextureRecordToUniforms(textures) {
|
|
3
|
+
const uniforms = {};
|
|
4
|
+
for (const name of Object.keys(textures)) {
|
|
5
|
+
uniforms[name] = tgdTextureResolveGLSLType(textures[name]);
|
|
6
|
+
}
|
|
7
|
+
return uniforms;
|
|
8
|
+
}
|
|
9
|
+
export function tgdTextureResolveGLSLType(texture) {
|
|
10
|
+
if (texture instanceof TgdTexture2D)
|
|
11
|
+
return "sampler2D";
|
|
12
|
+
if (texture instanceof TgdTextureCube)
|
|
13
|
+
return "samplerCube";
|
|
14
|
+
console.error("[resolveTextureType] Don't know the type of this texture:", texture);
|
|
15
|
+
throw new Error("[resolveTextureType] Don't know the type of this texture!");
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRzNELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUF1RDtJQUM5RixNQUFNLFFBQVEsR0FBcUMsRUFBRSxDQUFBO0lBQ3JELEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxPQUFzQztJQUM1RSxJQUFJLE9BQU8sWUFBWSxZQUFZO1FBQUUsT0FBTyxXQUFXLENBQUE7SUFFdkQsSUFBSSxPQUFPLFlBQVksY0FBYztRQUFFLE9BQU8sYUFBYSxDQUFBO0lBRTNELE9BQU8sQ0FBQyxLQUFLLENBQUMsMkRBQTJELEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDbkYsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFBO0FBQ2hGLENBQUMifQ==
|
package/lib/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "2.0.
|
|
1
|
+
export declare const version = "2.0.136";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "2.0.
|
|
1
|
+
export const version = "2.0.136";
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUEifQ==
|