@swf2es/context3d 0.1.18 → 0.1.20
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 +112 -22
- package/dist/agal.d.ts +11 -2
- package/dist/agal.d.ts.map +1 -1
- package/dist/agal.js +318 -47
- package/dist/agal.js.map +1 -1
- package/dist/backend.d.ts +80 -7
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +91 -2
- package/dist/backend.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/webgl/context.d.ts +51 -6
- package/dist/webgl/context.d.ts.map +1 -1
- package/dist/webgl/context.js +379 -71
- package/dist/webgl/context.js.map +1 -1
- package/dist/webgl/programs.d.ts +4 -1
- package/dist/webgl/programs.d.ts.map +1 -1
- package/dist/webgl/programs.js +7 -6
- package/dist/webgl/programs.js.map +1 -1
- package/dist/webgl/targets.d.ts +3 -1
- package/dist/webgl/targets.d.ts.map +1 -1
- package/dist/webgl/targets.js +5 -3
- package/dist/webgl/targets.js.map +1 -1
- package/dist/webgl/textures.d.ts +11 -1
- package/dist/webgl/textures.d.ts.map +1 -1
- package/dist/webgl/textures.js +161 -7
- package/dist/webgl/textures.js.map +1 -1
- package/package.json +1 -1
- package/src/agal.ts +375 -51
- package/src/backend.ts +164 -7
- package/src/errors.ts +27 -1
- package/src/index.ts +14 -1
- package/src/webgl/context.ts +476 -73
- package/src/webgl/programs.ts +10 -5
- package/src/webgl/targets.ts +4 -2
- package/src/webgl/textures.ts +185 -9
package/dist/backend.d.ts
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import type { ProgramType } from "./agal.js";
|
|
2
2
|
import type { DxtEncoder } from "./dxt.js";
|
|
3
|
+
/**
|
|
4
|
+
* The widest and tallest back buffer configure() takes: Flash Player 32's and AIR 51's
|
|
5
|
+
* maxBackBufferWidth and maxBackBufferHeight on a desktop GPU, in every profile. A GPU that
|
|
6
|
+
* allows less still takes it, and draws it smaller (WebGLContext3D).
|
|
7
|
+
*/
|
|
8
|
+
export declare const MOST_BACK_BUFFER = 16384;
|
|
9
|
+
/**
|
|
10
|
+
* A length in stage pixels at `scale` of the screen's to them, as AIR draws a back buffer
|
|
11
|
+
* configured for best resolution and its scissor rectangle: rounded half to even, as the
|
|
12
|
+
* FPU rounds by default (AIR 51 on Windows at 144 DPI: 33 to 50, 47 to 70).
|
|
13
|
+
*/
|
|
14
|
+
export declare function screenPixels(length: number, scale: number): number;
|
|
3
15
|
export declare const COMPARE_MODES: readonly ["always", "never", "less", "lessEqual", "equal", "notEqual", "greaterEqual", "greater"];
|
|
4
16
|
export type CompareMode = (typeof COMPARE_MODES)[number];
|
|
5
17
|
export declare const CULL_FACES: readonly ["none", "back", "front", "frontAndBack"];
|
|
@@ -14,9 +26,40 @@ export declare const SAMPLER_FILTERS: readonly ["nearest", "linear", "anisotropi
|
|
|
14
26
|
export type SamplerFilter = (typeof SAMPLER_FILTERS)[number];
|
|
15
27
|
export declare const SAMPLER_MIPS: readonly ["mipnone", "mipnearest", "miplinear"];
|
|
16
28
|
export type SamplerMip = (typeof SAMPLER_MIPS)[number];
|
|
17
|
-
/**
|
|
18
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The texture formats a backend stores: BGRA, S3TC's DXT1 and DXT5 as Flash calls them,
|
|
31
|
+
* 16-bit 5:6:5 colour and 4:4:4:4 colour with alpha, and RGBA in half floats.
|
|
32
|
+
*/
|
|
33
|
+
export declare const TEXTURE_FORMATS: readonly ["bgra", "compressed", "compressedAlpha", "bgrPacked565", "bgraPacked4444", "rgbaHalfFloat"];
|
|
19
34
|
export type TextureFormat = (typeof TEXTURE_FORMATS)[number];
|
|
35
|
+
/** Bytes a texel of each uncompressed format takes, as its byte uploads give it. */
|
|
36
|
+
export declare const TEXEL_BYTES: Partial<Record<TextureFormat, number>>;
|
|
37
|
+
/** Whether a format holds S3TC blocks, which no draw renders into. */
|
|
38
|
+
export declare function compressedFormat(format: TextureFormat): boolean;
|
|
39
|
+
/** Stage3D's profiles, from what the least GPU does to the most. */
|
|
40
|
+
export declare const PROFILES: readonly ["baselineConstrained", "baseline", "baselineExtended", "standardConstrained", "standard", "standardExtended"];
|
|
41
|
+
export type Profile = (typeof PROFILES)[number];
|
|
42
|
+
/** What a profile allows, as AIR 51 grants it on a desktop GPU (docs/architecture/rendering.md). */
|
|
43
|
+
export interface ProfileLimits {
|
|
44
|
+
/** The newest AGAL version its programs may be. */
|
|
45
|
+
readonly agal: number;
|
|
46
|
+
/** The widest and tallest Texture. */
|
|
47
|
+
readonly textureSize: number;
|
|
48
|
+
/** The widest and tallest RectangleTexture, 0 where the profile has none. */
|
|
49
|
+
readonly rectangleSize: number;
|
|
50
|
+
/** Whether it creates rgbaHalfFloat textures. */
|
|
51
|
+
readonly halfFloat: boolean;
|
|
52
|
+
/** How many textures a draw renders into at once. */
|
|
53
|
+
readonly colorOutputs: number;
|
|
54
|
+
}
|
|
55
|
+
export declare function profileLimits(profile: Profile): ProfileLimits;
|
|
56
|
+
/** Cube faces are at most this wide in every profile. */
|
|
57
|
+
export declare const MOST_CUBE = 1024;
|
|
58
|
+
/** Sampler, vertex attribute and constant registers a context holds in every profile. */
|
|
59
|
+
export declare const SAMPLER_SLOTS = 16;
|
|
60
|
+
export declare const VERTEX_SLOTS = 16;
|
|
61
|
+
export declare const VERTEX_CONSTANTS = 250;
|
|
62
|
+
export declare const FRAGMENT_CONSTANTS = 200;
|
|
20
63
|
export declare const VERTEX_FORMATS: readonly ["float1", "float2", "float3", "float4", "bytes4"];
|
|
21
64
|
export type VertexFormat = (typeof VERTEX_FORMATS)[number];
|
|
22
65
|
export declare class VertexOffsetError extends Error {
|
|
@@ -26,7 +69,7 @@ export declare class ScissorBoundsError extends Error {
|
|
|
26
69
|
export declare class SamplerBiasError extends Error {
|
|
27
70
|
}
|
|
28
71
|
export declare class TextureBindingError extends Error {
|
|
29
|
-
readonly reason: "unused" | "conflicting" | "missing" | "unuploaded" | "mipmaps" | "dimension" | "wrap" | "rectangleMip" | "feedback" | "format";
|
|
72
|
+
readonly reason: "unused" | "conflicting" | "missing" | "unuploaded" | "mipmaps" | "dimension" | "wrap" | "rectangleMip" | "feedback" | "format" | "streaming";
|
|
30
73
|
/** The sampler it names, where it names one. */
|
|
31
74
|
readonly sampler: number;
|
|
32
75
|
constructor(reason: TextureBindingError["reason"], sampler?: number);
|
|
@@ -40,6 +83,10 @@ export interface Buffer3D {
|
|
|
40
83
|
dispose(): void;
|
|
41
84
|
}
|
|
42
85
|
export interface Program3D {
|
|
86
|
+
/** The colour outputs its fragment program writes, 1 to 4; 1 before an upload. */
|
|
87
|
+
readonly outputs: number;
|
|
88
|
+
/** The vertex attributes it reads, a bit each; 0 before an upload. */
|
|
89
|
+
readonly attributes: number;
|
|
43
90
|
upload(vertex: Uint8Array, fragment: Uint8Array): void;
|
|
44
91
|
dispose(): void;
|
|
45
92
|
}
|
|
@@ -49,6 +96,11 @@ export interface Texture3D {
|
|
|
49
96
|
readonly levels: number;
|
|
50
97
|
readonly cube: boolean;
|
|
51
98
|
readonly rectangle: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* createTexture's streamingLevels: the levels from it to the smallest are enough to draw it
|
|
101
|
+
* with mip filtering, from the finest of them uploaded, as AIR draws a texture still loading.
|
|
102
|
+
*/
|
|
103
|
+
readonly streaming: number;
|
|
52
104
|
/** What samplers must read it as; a compressed texture also takes pixels, as AIR's do. */
|
|
53
105
|
readonly format: TextureFormat;
|
|
54
106
|
/** Top-down premultiplied ARGB pixels, copied before returning.
|
|
@@ -71,6 +123,11 @@ export interface Context3DLifecycle {
|
|
|
71
123
|
/** Loss callbacks are asynchronous. Keep the lost surface until remove(), including
|
|
72
124
|
* its restoration listener; remove() must detach both listeners before releasing it. */
|
|
73
125
|
export interface Stage3DHost {
|
|
126
|
+
/**
|
|
127
|
+
* What a request waits for before create(): a host that loads its backend at the first
|
|
128
|
+
* request gives the load, null once loaded. A rejection makes the context unavailable (#3702).
|
|
129
|
+
*/
|
|
130
|
+
ready?(): Promise<unknown> | null;
|
|
74
131
|
create(slot: number, lifecycle: Context3DLifecycle): Context3D;
|
|
75
132
|
place(slot: number, x: number, y: number, visible: boolean): void;
|
|
76
133
|
remove(slot: number): void;
|
|
@@ -84,9 +141,18 @@ export interface Context3D {
|
|
|
84
141
|
* format (TextureBindingError "format"): AIR checks from SWF 17 on.
|
|
85
142
|
*/
|
|
86
143
|
samplerFormats: boolean;
|
|
144
|
+
/** The profile it was made for: what its programs, textures and targets may be. */
|
|
145
|
+
profile: Profile;
|
|
87
146
|
/** Optional acceleration for pixels uploaded to compressed textures. */
|
|
88
147
|
setDxtEncoder?(encoder: DxtEncoder): void;
|
|
89
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Width and height from 32 to MOST_BACK_BUFFER, in the back buffer's pixels. `scale` is
|
|
150
|
+
* those to a CSS pixel where it shows, and to a scissor rectangle's unit: a back buffer
|
|
151
|
+
* configured for best resolution has the stage's contentsScaleFactor, any other 1.
|
|
152
|
+
*/
|
|
153
|
+
configure(width: number, height: number, depth?: boolean, antiAlias?: number, scale?: number): void;
|
|
154
|
+
/** No back buffer, width and height 0, as a size configureBackBuffer refuses leaves AIR's. */
|
|
155
|
+
unconfigure(): void;
|
|
90
156
|
clear(red: number, green: number, blue: number, alpha: number, depth?: number, mask?: number, stencil?: number): void;
|
|
91
157
|
setStencilActions(face: CullFace, compare: CompareMode, pass: StencilAction, depthFail: StencilAction, stencilFail: StencilAction): void;
|
|
92
158
|
setStencilReference(reference: number, readMask: number, writeMask: number): void;
|
|
@@ -96,12 +162,19 @@ export interface Context3D {
|
|
|
96
162
|
setColorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void;
|
|
97
163
|
/** Null disables clipping; coordinates are in top-down target pixels. */
|
|
98
164
|
setScissor(x: number | null, y?: number, width?: number, height?: number): void;
|
|
99
|
-
|
|
165
|
+
/** `stride` 32-bit values a vertex, or 0 for 16-bit indices; `dynamic` for data uploaded often. */
|
|
166
|
+
createBuffer(count: number, stride: number, dynamic?: boolean): Buffer3D;
|
|
100
167
|
createProgram(): Program3D;
|
|
101
|
-
|
|
102
|
-
|
|
168
|
+
/** `streaming` from 0 to the texture's levels less one. */
|
|
169
|
+
createTexture(width: number, height: number, cube?: boolean, format?: TextureFormat, streaming?: number): Texture3D;
|
|
170
|
+
createRectangleTexture(width: number, height: number, format?: TextureFormat): Texture3D;
|
|
103
171
|
/** Level-zero target; face selects a cube surface. Null resumes the back buffer. */
|
|
104
172
|
setRenderTarget(texture: Texture3D | null, depth?: boolean, face?: number, antiAlias?: number): void;
|
|
173
|
+
/**
|
|
174
|
+
* Colour output `index`, 1 to 3, draws into `texture` (`face` of a cube) beside
|
|
175
|
+
* setRenderTarget's; null stops it. The texture's size and format are the target's.
|
|
176
|
+
*/
|
|
177
|
+
setColorOutput(index: number, texture: Texture3D | null, face?: number): void;
|
|
105
178
|
setSampler(index: number, wrap: SamplerWrap, filter: SamplerFilter, mip: SamplerMip): void;
|
|
106
179
|
setTexture(index: number, texture: Texture3D | null): void;
|
|
107
180
|
setProgram(program: Program3D): void;
|
package/dist/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,aAAa,YACxB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,CACD,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,eAAO,MAAM,UAAU,YAAI,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAU,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,eAAO,MAAM,eAAe,YAC1B,MAAM,EACN,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,eAAe,EACf,eAAe,CACP,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,eAAO,MAAM,aAAa,YACxB,MAAM,EACN,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,CAClB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,aAAa,YAAI,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,CAAU,CAAC;AAClG,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,CACR,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,eAAO,MAAM,YAAY,YAAI,SAAS,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/backend.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The widest and tallest back buffer configure() takes: Flash Player 32's and AIR 51's
|
|
3
|
+
* maxBackBufferWidth and maxBackBufferHeight on a desktop GPU, in every profile. A GPU that
|
|
4
|
+
* allows less still takes it, and draws it smaller (WebGLContext3D).
|
|
5
|
+
*/
|
|
6
|
+
export const MOST_BACK_BUFFER = 16384;
|
|
7
|
+
/**
|
|
8
|
+
* A length in stage pixels at `scale` of the screen's to them, as AIR draws a back buffer
|
|
9
|
+
* configured for best resolution and its scissor rectangle: rounded half to even, as the
|
|
10
|
+
* FPU rounds by default (AIR 51 on Windows at 144 DPI: 33 to 50, 47 to 70).
|
|
11
|
+
*/
|
|
12
|
+
export function screenPixels(length, scale) {
|
|
13
|
+
const exact = length * scale;
|
|
14
|
+
const floor = Math.floor(exact);
|
|
15
|
+
const rest = exact - floor;
|
|
16
|
+
return rest > 0.5 || (rest === 0.5 && floor % 2 !== 0) ? floor + 1 : floor;
|
|
17
|
+
}
|
|
1
18
|
export const COMPARE_MODES = [
|
|
2
19
|
"always",
|
|
3
20
|
"never",
|
|
@@ -41,8 +58,80 @@ export const SAMPLER_FILTERS = [
|
|
|
41
58
|
"anisotropic16x",
|
|
42
59
|
];
|
|
43
60
|
export const SAMPLER_MIPS = ["mipnone", "mipnearest", "miplinear"];
|
|
44
|
-
/**
|
|
45
|
-
|
|
61
|
+
/**
|
|
62
|
+
* The texture formats a backend stores: BGRA, S3TC's DXT1 and DXT5 as Flash calls them,
|
|
63
|
+
* 16-bit 5:6:5 colour and 4:4:4:4 colour with alpha, and RGBA in half floats.
|
|
64
|
+
*/
|
|
65
|
+
export const TEXTURE_FORMATS = [
|
|
66
|
+
"bgra",
|
|
67
|
+
"compressed",
|
|
68
|
+
"compressedAlpha",
|
|
69
|
+
"bgrPacked565",
|
|
70
|
+
"bgraPacked4444",
|
|
71
|
+
"rgbaHalfFloat",
|
|
72
|
+
];
|
|
73
|
+
/** Bytes a texel of each uncompressed format takes, as its byte uploads give it. */
|
|
74
|
+
export const TEXEL_BYTES = {
|
|
75
|
+
bgra: 4,
|
|
76
|
+
bgrPacked565: 2,
|
|
77
|
+
bgraPacked4444: 2,
|
|
78
|
+
rgbaHalfFloat: 8,
|
|
79
|
+
};
|
|
80
|
+
/** Whether a format holds S3TC blocks, which no draw renders into. */
|
|
81
|
+
export function compressedFormat(format) {
|
|
82
|
+
return format === "compressed" || format === "compressedAlpha";
|
|
83
|
+
}
|
|
84
|
+
/** Stage3D's profiles, from what the least GPU does to the most. */
|
|
85
|
+
export const PROFILES = [
|
|
86
|
+
"baselineConstrained",
|
|
87
|
+
"baseline",
|
|
88
|
+
"baselineExtended",
|
|
89
|
+
"standardConstrained",
|
|
90
|
+
"standard",
|
|
91
|
+
"standardExtended",
|
|
92
|
+
];
|
|
93
|
+
const LIMITS = {
|
|
94
|
+
baselineConstrained: {
|
|
95
|
+
agal: 1,
|
|
96
|
+
textureSize: 2048,
|
|
97
|
+
rectangleSize: 0,
|
|
98
|
+
halfFloat: false,
|
|
99
|
+
colorOutputs: 1,
|
|
100
|
+
},
|
|
101
|
+
baseline: { agal: 1, textureSize: 2048, rectangleSize: 2048, halfFloat: false, colorOutputs: 1 },
|
|
102
|
+
baselineExtended: {
|
|
103
|
+
agal: 1,
|
|
104
|
+
textureSize: 4096,
|
|
105
|
+
rectangleSize: 4096,
|
|
106
|
+
halfFloat: false,
|
|
107
|
+
colorOutputs: 1,
|
|
108
|
+
},
|
|
109
|
+
standardConstrained: {
|
|
110
|
+
agal: 2,
|
|
111
|
+
textureSize: 4096,
|
|
112
|
+
rectangleSize: 4096,
|
|
113
|
+
halfFloat: true,
|
|
114
|
+
colorOutputs: 1,
|
|
115
|
+
},
|
|
116
|
+
standard: { agal: 2, textureSize: 4096, rectangleSize: 4096, halfFloat: true, colorOutputs: 4 },
|
|
117
|
+
standardExtended: {
|
|
118
|
+
agal: 3,
|
|
119
|
+
textureSize: 4096,
|
|
120
|
+
rectangleSize: 4096,
|
|
121
|
+
halfFloat: true,
|
|
122
|
+
colorOutputs: 4,
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
export function profileLimits(profile) {
|
|
126
|
+
return LIMITS[profile];
|
|
127
|
+
}
|
|
128
|
+
/** Cube faces are at most this wide in every profile. */
|
|
129
|
+
export const MOST_CUBE = 1024;
|
|
130
|
+
/** Sampler, vertex attribute and constant registers a context holds in every profile. */
|
|
131
|
+
export const SAMPLER_SLOTS = 16;
|
|
132
|
+
export const VERTEX_SLOTS = 16;
|
|
133
|
+
export const VERTEX_CONSTANTS = 250;
|
|
134
|
+
export const FRAGMENT_CONSTANTS = 200;
|
|
46
135
|
export const VERTEX_FORMATS = ["float1", "float2", "float3", "float4", "bytes4"];
|
|
47
136
|
export class VertexOffsetError extends Error {
|
|
48
137
|
}
|
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ;IACR,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,UAAU;IACV,cAAc;IACd,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAU,CAAC;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,MAAM;IACN,KAAK;IACL,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,eAAe;IACf,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM;IACN,KAAK;IACL,aAAa;IACb,qBAAqB;IACrB,aAAa;IACb,qBAAqB;IACrB,kBAAkB;IAClB,0BAA0B;IAC1B,kBAAkB;IAClB,0BAA0B;CAClB,CAAC;AAGX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,CAAU,CAAC;AAElG,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS;IACT,QAAQ;IACR,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAG5E
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Backend failures stay independent of the API that exposes them to content. */
|
|
2
|
-
export type Context3DErrorReason = "disposed" | "backBuffer" | "limit" | "bufferAllocation" | "textureAllocation" | "nativeShader" | "program" | "indexBuffer" | "indexData" | "vertexBinding" | "vertexStream" | "vertexData" | "drawRange" | "triangleCount" | "textureSize" | "compressedSize" | "textureShape" | "texturePowerOfTwo" | "textureUpload" | "range" | "operation" | "unsupported" | "agalLength" | "agalMagic" | "agalVersion" | "agalStageMarker" | "agalVertexStage" | "agalFragmentStage" | "agalStage" | "agalTokens" | "agalOpcode" | "agalUnusedSource" | "agalAttributeStage" | "agalAttributeWrite" | "agalAttributeIndex" | "agalConstantWrite" | "agalConstantIndex" | "agalTemporaryIndex" | "agalTemporaryRead" | "agalTemporaryComponent" | "agalOutputRead" | "agalOutputIndex" | "agalVertexOutput" | "agalFragmentOutput" | "agalColorMask" | "agalVaryingIndex" | "agalVaryingRead" | "agalVaryingWrite" | "agalVaryingMissing" | "agalVaryingPartial" | "agalRegister" | "agalIndirect" | "agalSourceEncoding" | "agalDiscard" | "agalMask" | "agalReserved" | "agalSampler";
|
|
2
|
+
export type Context3DErrorReason = "disposed" | "backBuffer" | "limit" | "bufferAllocation" | "textureAllocation" | "nativeShader" | "program" | "indexBuffer" | "indexData" | "vertexBinding" | "vertexStream" | "vertexData" | "drawRange" | "triangleCount" | "textureSize" | "compressedSize" | "textureShape" | "texturePowerOfTwo" | "textureUpload" | "range" | "operation" | "unsupported" | "agalLength" | "agalMagic" | "agalVersion" | "agalStageMarker" | "agalVertexStage" | "agalFragmentStage" | "agalStage" | "agalTokens" | "agalOpcode" | "agalUnusedSource" | "agalAttributeStage" | "agalAttributeWrite" | "agalAttributeIndex" | "agalConstantWrite" | "agalConstantIndex" | "agalTemporaryIndex" | "agalTemporaryRead" | "agalTemporaryComponent" | "agalOutputRead" | "agalOutputIndex" | "agalVertexOutput" | "agalFragmentOutput" | "agalColorMask" | "agalVaryingIndex" | "agalVaryingRead" | "agalVaryingWrite" | "agalVaryingMissing" | "agalVaryingPartial" | "agalRegister" | "agalIndirect" | "agalSourceEncoding" | "agalDiscard" | "agalMask" | "agalReserved" | "agalSampler" | "agalProfileVersion" | "agalOpcodeRange" | "agalOpcodeVersion" | "agalFragmentOnly" | "agalSamplerStage" | "agalElse" | "agalEndIf" | "agalEmptyBranch" | "agalConditionDestination" | "agalScalar" | "agalNesting" | "agalConditionOutput" | "agalConditionTexture" | "agalDepthStage" | "agalDepthIndex" | "agalDepthMask" | "agalInstanceStage" | "agalOutputTwice" | "agalOutputSlots" | "agalConditionDerivative" | "agalConstants" | "agalNativeLength" | "agalSamplerIndex" | "agalSamplerDimension" | "agalSamplerMip" | "agalSamplerFilter";
|
|
3
3
|
export declare class Context3DError extends Error {
|
|
4
4
|
readonly reason: Context3DErrorReason;
|
|
5
5
|
constructor(reason: Context3DErrorReason, message: string);
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,YAAY,GACZ,OAAO,GACP,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,SAAS,GACT,aAAa,GACb,WAAW,GACX,eAAe,GACf,cAAc,GACd,YAAY,GACZ,WAAW,GACX,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,OAAO,GACP,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,cAAc,GACd,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,YAAY,GACZ,OAAO,GACP,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,SAAS,GACT,aAAa,GACb,WAAW,GACX,eAAe,GACf,cAAc,GACd,YAAY,GACZ,WAAW,GACX,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,eAAe,GACf,OAAO,GACP,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,aAAa,GACb,UAAU,GACV,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,0BAA0B,GAC1B,YAAY,GACZ,aAAa,GACb,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEtC,YAAY,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAGxD;CACF"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAsFA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,MAAM,CAAuB;IAEtC,YAAY,MAA4B,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Stage3D's renderer contracts and AGAL translation, without browser dependencies. */
|
|
2
2
|
export { type ProgramType, type SamplerSource, type ShaderSource, translate } from "./agal.js";
|
|
3
|
-
export { BLEND_FACTORS, type BlendFactor, type Buffer3D, COMPARE_MODES, type CompareMode, type Context3D, type Context3DLifecycle, CULL_FACES, type CullFace, type Program3D, SAMPLER_FILTERS, SAMPLER_MIPS, SAMPLER_WRAPS, SamplerBiasError, type SamplerFilter, type SamplerMip, type SamplerWrap, ScissorBoundsError, STENCIL_ACTIONS, type Stage3DHost, type StencilAction, TEXTURE_FORMATS, type Texture3D, TextureBindingError, type TextureFormat, VERTEX_FORMATS, type VertexFormat, VertexOffsetError, } from "./backend.js";
|
|
3
|
+
export { BLEND_FACTORS, type BlendFactor, type Buffer3D, COMPARE_MODES, type CompareMode, type Context3D, type Context3DLifecycle, CULL_FACES, type CullFace, compressedFormat, FRAGMENT_CONSTANTS, MOST_BACK_BUFFER, MOST_CUBE, PROFILES, type Profile, type ProfileLimits, type Program3D, profileLimits, SAMPLER_FILTERS, SAMPLER_MIPS, SAMPLER_SLOTS, SAMPLER_WRAPS, SamplerBiasError, type SamplerFilter, type SamplerMip, type SamplerWrap, ScissorBoundsError, STENCIL_ACTIONS, type Stage3DHost, type StencilAction, screenPixels, TEXEL_BYTES, TEXTURE_FORMATS, type Texture3D, TextureBindingError, type TextureFormat, VERTEX_CONSTANTS, VERTEX_FORMATS, VERTEX_SLOTS, type VertexFormat, VertexOffsetError, } from "./backend.js";
|
|
4
4
|
export { blockBytes, type DxtEncoder, decodeDxt, encodeDxt } from "./dxt.js";
|
|
5
5
|
export { Context3DError, type Context3DErrorReason } from "./errors.js";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,QAAQ,EACb,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,kBAAkB,EAClB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,KAAK,SAAS,EACd,mBAAmB,EACnB,KAAK,aAAa,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,KAAK,YAAY,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Stage3D's renderer contracts and AGAL translation, without browser dependencies. */
|
|
2
2
|
export { translate } from "./agal.js";
|
|
3
|
-
export { BLEND_FACTORS, COMPARE_MODES, CULL_FACES, SAMPLER_FILTERS, SAMPLER_MIPS, SAMPLER_WRAPS, SamplerBiasError, ScissorBoundsError, STENCIL_ACTIONS, TEXTURE_FORMATS, TextureBindingError, VERTEX_FORMATS, VertexOffsetError, } from "./backend.js";
|
|
3
|
+
export { BLEND_FACTORS, COMPARE_MODES, CULL_FACES, compressedFormat, FRAGMENT_CONSTANTS, MOST_BACK_BUFFER, MOST_CUBE, PROFILES, profileLimits, SAMPLER_FILTERS, SAMPLER_MIPS, SAMPLER_SLOTS, SAMPLER_WRAPS, SamplerBiasError, ScissorBoundsError, STENCIL_ACTIONS, screenPixels, TEXEL_BYTES, TEXTURE_FORMATS, TextureBindingError, VERTEX_CONSTANTS, VERTEX_FORMATS, VERTEX_SLOTS, VertexOffsetError, } from "./backend.js";
|
|
4
4
|
export { blockBytes, decodeDxt, encodeDxt } from "./dxt.js";
|
|
5
5
|
export { Context3DError } from "./errors.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,EAA2D,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,aAAa,EAGb,aAAa,EAIb,UAAU,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EAIR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAIhB,kBAAkB,EAClB,eAAe,EAGf,YAAY,EACZ,WAAW,EACX,eAAe,EAEf,mBAAmB,EAEnB,gBAAgB,EAChB,cAAc,EACd,YAAY,EAEZ,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAmB,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC"}
|
package/dist/webgl/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type BlendFactor, type Buffer3D, type CompareMode, type Context3D, type CullFace, type Program3D, type SamplerFilter, type SamplerMip, type SamplerWrap, type StencilAction, type Texture3D, type TextureFormat, type VertexFormat } from "../backend.js";
|
|
1
|
+
import { type ProgramType } from "../agal.js";
|
|
2
|
+
import { type BlendFactor, type Buffer3D, type CompareMode, type Context3D, type CullFace, type Profile, type Program3D, type SamplerFilter, type SamplerMip, type SamplerWrap, type StencilAction, type Texture3D, type TextureFormat, type VertexFormat } from "../backend.js";
|
|
3
3
|
import { type DxtEncoder } from "../dxt.js";
|
|
4
4
|
import { type WebGLContext3DLimits } from "./limits.js";
|
|
5
5
|
/** An owned WebGL2 context, deliberately independent of the 2D renderer. */
|
|
@@ -8,8 +8,16 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
8
8
|
private readonly drawState;
|
|
9
9
|
width: number;
|
|
10
10
|
height: number;
|
|
11
|
+
/**
|
|
12
|
+
* The back buffer's storage: its size, or less where the GPU allows less. The SWF still
|
|
13
|
+
* sees the size it asked for, drawn at this one and stretched to it when presented.
|
|
14
|
+
*/
|
|
15
|
+
private drawnWidth;
|
|
16
|
+
private drawnHeight;
|
|
17
|
+
private gpuMost;
|
|
11
18
|
disposed: boolean;
|
|
12
19
|
samplerFormats: boolean;
|
|
20
|
+
profile: Profile;
|
|
13
21
|
private readonly buffers;
|
|
14
22
|
private vertexBuffers;
|
|
15
23
|
private bufferBytes;
|
|
@@ -28,6 +36,13 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
28
36
|
private renderTexture;
|
|
29
37
|
private renderDepth;
|
|
30
38
|
private renderFace;
|
|
39
|
+
/** Colour outputs 1 to 3, drawn into with renderTexture, and their cube faces. */
|
|
40
|
+
private readonly outputs;
|
|
41
|
+
private readonly outputFaces;
|
|
42
|
+
private outputsChanged;
|
|
43
|
+
/** Whether any of outputs is bound, so that a draw alone into its target looks at none. */
|
|
44
|
+
private outputsBound;
|
|
45
|
+
private floatTargets;
|
|
31
46
|
private readonly textureSlots;
|
|
32
47
|
private textureMask;
|
|
33
48
|
private readonly samplers;
|
|
@@ -47,6 +62,8 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
47
62
|
private resolveDirty;
|
|
48
63
|
private depthBuffer;
|
|
49
64
|
private antiAlias;
|
|
65
|
+
/** The back buffer's pixels to a CSS pixel and to a scissor rectangle's unit. */
|
|
66
|
+
private scale;
|
|
50
67
|
private depthWrite;
|
|
51
68
|
private depthCompare;
|
|
52
69
|
private blendEnabled;
|
|
@@ -80,7 +97,15 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
80
97
|
private target;
|
|
81
98
|
/** Temporary attachments and separate READ/DRAW bindings bypass the hot target cache. */
|
|
82
99
|
private bindFramebuffer;
|
|
83
|
-
configure(width: number, height: number, depth?: boolean, antiAlias?: number): void;
|
|
100
|
+
configure(width: number, height: number, depth?: boolean, antiAlias?: number, scale?: number): void;
|
|
101
|
+
/**
|
|
102
|
+
* Shown at the size asked for, in CSS pixels, as an unstyled canvas of that size would be,
|
|
103
|
+
* divided by its scale: a best-resolution back buffer shows its pixels at the screen's.
|
|
104
|
+
*/
|
|
105
|
+
private showAt;
|
|
106
|
+
/** The largest back buffer storage the GPU gives: a texture, a renderbuffer and a viewport. */
|
|
107
|
+
private storageLimit;
|
|
108
|
+
unconfigure(): void;
|
|
84
109
|
clear(red: number, green: number, blue: number, alpha: number, depth?: number, mask?: number, stencil?: number): void;
|
|
85
110
|
setStencilActions(face: CullFace, compare: CompareMode, pass: StencilAction, depthFail: StencilAction, stencilFail: StencilAction): void;
|
|
86
111
|
private stencilFace;
|
|
@@ -92,12 +117,12 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
92
117
|
private applyScissor;
|
|
93
118
|
setBlend(source: BlendFactor, destination: BlendFactor): void;
|
|
94
119
|
setCulling(face: CullFace): void;
|
|
95
|
-
createBuffer(count: number, stride: number): Buffer3D;
|
|
120
|
+
createBuffer(count: number, stride: number, dynamic?: boolean): Buffer3D;
|
|
96
121
|
private buffer;
|
|
97
122
|
createProgram(): Program3D;
|
|
98
123
|
private program;
|
|
99
|
-
createTexture(width: number, height: number, cube?: boolean, format?: TextureFormat): Texture3D;
|
|
100
|
-
createRectangleTexture(width: number, height: number): Texture3D;
|
|
124
|
+
createTexture(width: number, height: number, cube?: boolean, format?: TextureFormat, streaming?: number): Texture3D;
|
|
125
|
+
createRectangleTexture(width: number, height: number, format?: TextureFormat): Texture3D;
|
|
101
126
|
/** GL's internal format for a compressed texture's S3TC, or 0 where the context takes none. */
|
|
102
127
|
private s3tcFormat;
|
|
103
128
|
/**
|
|
@@ -116,6 +141,19 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
116
141
|
setRenderTarget(texture: Texture3D | null, depth?: boolean, face?: number, antiAlias?: number): void;
|
|
117
142
|
private changedTarget;
|
|
118
143
|
private finishTarget;
|
|
144
|
+
/** A texture drawn into made whole again: resolved, and its mips regenerated. */
|
|
145
|
+
private finishTexture;
|
|
146
|
+
/** Half floats are drawn into where the GPU's WebGL renders float colour, as every desktop one does. */
|
|
147
|
+
private renderFormat;
|
|
148
|
+
setColorOutput(index: number, texture: Texture3D | null, face?: number): void;
|
|
149
|
+
/**
|
|
150
|
+
* The current target's framebuffer with the extra colour outputs attached, or without
|
|
151
|
+
* them: its draws write every output bound, and a program's unwritten ones are refused
|
|
152
|
+
* before they draw.
|
|
153
|
+
*/
|
|
154
|
+
private attachOutputs;
|
|
155
|
+
/** The extra colour outputs bound, a bit each from output 1. */
|
|
156
|
+
private outputMask;
|
|
119
157
|
setTexture(index: number, texture: Texture3D | null): void;
|
|
120
158
|
setSampler(index: number, wrap: SamplerWrap, filter: SamplerFilter, mip: SamplerMip): void;
|
|
121
159
|
private setSamplerState;
|
|
@@ -124,6 +162,13 @@ export declare class WebGLContext3D implements Context3D {
|
|
|
124
162
|
setVertex(index: number, buffer: Buffer3D | null, offset: number, format: VertexFormat): void;
|
|
125
163
|
setConstants(stage: ProgramType, first: number, values: ArrayLike<number>, count: number): void;
|
|
126
164
|
draw(indices: Buffer3D, first: number, triangles: number): void;
|
|
165
|
+
/**
|
|
166
|
+
* The level a streaming texture is drawn from, as AIR 51 draws one: with mip filtering, the
|
|
167
|
+
* finest whose levels down to the smallest are uploaded on every face, which must reach its
|
|
168
|
+
* streaming level (#3700 before); without, its level 0 alone (#3713), as a texture that
|
|
169
|
+
* does not stream.
|
|
170
|
+
*/
|
|
171
|
+
private streamingBase;
|
|
127
172
|
private uniforms;
|
|
128
173
|
private resolve;
|
|
129
174
|
read(width?: number, height?: number): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/webgl/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/webgl/context.ts"],"names":[],"mappings":"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"}
|