@itwin/webgl-compatibility 4.0.0-dev.8 → 4.0.0-dev.81
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 +41 -1
- package/lib/cjs/Capabilities.d.ts +103 -103
- package/lib/cjs/Capabilities.d.ts.map +1 -1
- package/lib/cjs/Capabilities.js +341 -341
- package/lib/cjs/Capabilities.js.map +1 -1
- package/lib/cjs/RenderCompatibility.d.ts +128 -128
- package/lib/cjs/RenderCompatibility.d.ts.map +1 -1
- package/lib/cjs/RenderCompatibility.js +118 -118
- package/lib/cjs/RenderCompatibility.js.map +1 -1
- package/lib/cjs/webgl-compatibility.d.ts +9 -9
- package/lib/cjs/webgl-compatibility.js +29 -25
- package/lib/cjs/webgl-compatibility.js.map +1 -1
- package/lib/esm/Capabilities.d.ts +103 -103
- package/lib/esm/Capabilities.d.ts.map +1 -1
- package/lib/esm/Capabilities.js +338 -337
- package/lib/esm/Capabilities.js.map +1 -1
- package/lib/esm/RenderCompatibility.d.ts +128 -128
- package/lib/esm/RenderCompatibility.d.ts.map +1 -1
- package/lib/esm/RenderCompatibility.js +114 -114
- package/lib/esm/RenderCompatibility.js.map +1 -1
- package/lib/esm/webgl-compatibility.d.ts +9 -9
- package/lib/esm/webgl-compatibility.js +13 -13
- package/lib/esm/webgl-compatibility.js.map +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
# Change Log - @itwin/webgl-compatibility
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Wed, 12 Apr 2023 13:12:42 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 3.7.2
|
|
6
|
+
Wed, 12 Apr 2023 13:12:42 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
9
|
+
|
|
10
|
+
## 3.7.1
|
|
11
|
+
Mon, 03 Apr 2023 15:15:37 GMT
|
|
12
|
+
|
|
13
|
+
_Version update only_
|
|
14
|
+
|
|
15
|
+
## 3.7.0
|
|
16
|
+
Wed, 29 Mar 2023 15:02:27 GMT
|
|
17
|
+
|
|
18
|
+
_Version update only_
|
|
19
|
+
|
|
20
|
+
## 3.6.3
|
|
21
|
+
Mon, 27 Mar 2023 16:26:47 GMT
|
|
22
|
+
|
|
23
|
+
_Version update only_
|
|
24
|
+
|
|
25
|
+
## 3.6.2
|
|
26
|
+
Fri, 17 Mar 2023 17:52:32 GMT
|
|
27
|
+
|
|
28
|
+
_Version update only_
|
|
29
|
+
|
|
30
|
+
## 3.6.1
|
|
31
|
+
Fri, 24 Feb 2023 22:00:48 GMT
|
|
32
|
+
|
|
33
|
+
_Version update only_
|
|
34
|
+
|
|
35
|
+
## 3.6.0
|
|
36
|
+
Wed, 08 Feb 2023 14:58:40 GMT
|
|
37
|
+
|
|
38
|
+
_Version update only_
|
|
39
|
+
|
|
40
|
+
## 3.5.6
|
|
41
|
+
Fri, 24 Feb 2023 16:02:47 GMT
|
|
42
|
+
|
|
43
|
+
_Version update only_
|
|
4
44
|
|
|
5
45
|
## 3.5.5
|
|
6
46
|
Thu, 26 Jan 2023 22:53:28 GMT
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Compatibility
|
|
3
|
-
*/
|
|
4
|
-
import { GraphicsDriverBugs, WebGLContext, WebGLFeature, WebGLRenderCompatibilityInfo } from "./RenderCompatibility";
|
|
5
|
-
/** @internal */
|
|
6
|
-
export
|
|
7
|
-
/** Describes the type of a render target. Used by Capabilities to represent maximum precision render target available on host system.
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export declare enum RenderType {
|
|
11
|
-
TextureUnsignedByte = 0,
|
|
12
|
-
TextureHalfFloat = 1,
|
|
13
|
-
TextureFloat = 2
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Describes the type of a depth buffer. Used by Capabilities to represent maximum depth buffer precision available on host system.
|
|
17
|
-
* Note: the commented-out values are unimplemented but left in place for reference, in case desired for future implementation.
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
export declare enum DepthType {
|
|
21
|
-
RenderBufferUnsignedShort16 = 0,
|
|
22
|
-
TextureUnsignedInt24Stencil8 = 1,
|
|
23
|
-
TextureUnsignedInt32 = 2
|
|
24
|
-
}
|
|
25
|
-
/** Describes the rendering capabilities of the host system.
|
|
26
|
-
* @internal
|
|
27
|
-
*/
|
|
28
|
-
export declare class Capabilities {
|
|
29
|
-
private _maxRenderType;
|
|
30
|
-
private _maxDepthType;
|
|
31
|
-
private _maxTextureSize;
|
|
32
|
-
private _maxColorAttachments;
|
|
33
|
-
private _maxDrawBuffers;
|
|
34
|
-
private _maxFragTextureUnits;
|
|
35
|
-
private _maxVertTextureUnits;
|
|
36
|
-
private _maxVertAttribs;
|
|
37
|
-
private _maxVertUniformVectors;
|
|
38
|
-
private _maxVaryingVectors;
|
|
39
|
-
private _maxFragUniformVectors;
|
|
40
|
-
private _maxAnisotropy?;
|
|
41
|
-
private _maxAntialiasSamples;
|
|
42
|
-
private _supportsCreateImageBitmap;
|
|
43
|
-
private _maxTexSizeAllow;
|
|
44
|
-
private _extensionMap;
|
|
45
|
-
private _presentFeatures;
|
|
46
|
-
private _isWebGL2;
|
|
47
|
-
private _isMobile;
|
|
48
|
-
private _driverBugs;
|
|
49
|
-
get maxRenderType(): RenderType;
|
|
50
|
-
get maxDepthType(): DepthType;
|
|
51
|
-
get maxTextureSize(): number;
|
|
52
|
-
get maxTexSizeAllow(): number;
|
|
53
|
-
get supportsCreateImageBitmap(): boolean;
|
|
54
|
-
get maxColorAttachments(): number;
|
|
55
|
-
get maxDrawBuffers(): number;
|
|
56
|
-
get maxFragTextureUnits(): number;
|
|
57
|
-
get maxVertTextureUnits(): number;
|
|
58
|
-
get maxVertAttribs(): number;
|
|
59
|
-
get maxVertUniformVectors(): number;
|
|
60
|
-
get maxVaryingVectors(): number;
|
|
61
|
-
get maxFragUniformVectors(): number;
|
|
62
|
-
get maxAntialiasSamples(): number;
|
|
63
|
-
get isWebGL2(): boolean;
|
|
64
|
-
get driverBugs(): GraphicsDriverBugs;
|
|
65
|
-
/** These getters check for existence of extension objects to determine availability of features. In WebGL2, could just return true for some. */
|
|
66
|
-
get supportsNonPowerOf2Textures(): boolean;
|
|
67
|
-
get supportsDrawBuffers(): boolean;
|
|
68
|
-
get supportsInstancing(): boolean;
|
|
69
|
-
get supports32BitElementIndex(): boolean;
|
|
70
|
-
get supportsTextureFloat(): boolean;
|
|
71
|
-
get supportsTextureFloatLinear(): boolean;
|
|
72
|
-
get supportsTextureHalfFloat(): boolean;
|
|
73
|
-
get supportsTextureHalfFloatLinear(): boolean;
|
|
74
|
-
get supportsTextureFilterAnisotropic(): boolean;
|
|
75
|
-
get supportsShaderTextureLOD(): boolean;
|
|
76
|
-
get supportsVertexArrayObjects(): boolean;
|
|
77
|
-
get supportsFragDepth(): boolean;
|
|
78
|
-
get supportsDisjointTimerQuery(): boolean;
|
|
79
|
-
get supportsStandardDerivatives(): boolean;
|
|
80
|
-
get supportsMRTTransparency(): boolean;
|
|
81
|
-
get supportsMRTPickShaders(): boolean;
|
|
82
|
-
get supportsShadowMaps(): boolean;
|
|
83
|
-
get supportsAntiAliasing(): boolean;
|
|
84
|
-
get isMobile(): boolean;
|
|
85
|
-
private findExtension;
|
|
86
|
-
/** Queries an extension object if available. This is necessary for other parts of the system to access some constants within extensions. */
|
|
87
|
-
queryExtensionObject<T>(ext: WebGLExtensionName): T | undefined;
|
|
88
|
-
static readonly optionalFeatures: WebGLFeature[];
|
|
89
|
-
static readonly requiredFeatures: WebGLFeature[];
|
|
90
|
-
private get _hasRequiredTextureUnits();
|
|
91
|
-
/** Return an array containing any features not supported by the system as compared to the input array. */
|
|
92
|
-
private _findMissingFeatures;
|
|
93
|
-
/** Populate and return an array containing features that this system supports. */
|
|
94
|
-
private _gatherFeatures;
|
|
95
|
-
/** Retrieve compatibility status based on presence of various features. */
|
|
96
|
-
private _getCompatibilityStatus;
|
|
97
|
-
/** Initializes the capabilities based on a GL context. Must be called first. */
|
|
98
|
-
init(gl: WebGLContext, disabledExtensions?: WebGLExtensionName[]): WebGLRenderCompatibilityInfo;
|
|
99
|
-
static create(gl: WebGLContext, disabledExtensions?: WebGLExtensionName[]): Capabilities | undefined;
|
|
100
|
-
/** Determines if a particular texture type is color-renderable on the host system. */
|
|
101
|
-
private isTextureRenderable;
|
|
102
|
-
setMaxAnisotropy(desiredMax: number | undefined, gl: WebGLContext): void;
|
|
103
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Compatibility
|
|
3
|
+
*/
|
|
4
|
+
import { GraphicsDriverBugs, WebGLContext, WebGLFeature, WebGLRenderCompatibilityInfo } from "./RenderCompatibility";
|
|
5
|
+
/** @internal */
|
|
6
|
+
export type WebGLExtensionName = "WEBGL_draw_buffers" | "OES_element_index_uint" | "OES_texture_float" | "OES_texture_float_linear" | "OES_texture_half_float" | "OES_texture_half_float_linear" | "EXT_texture_filter_anisotropic" | "WEBGL_depth_texture" | "EXT_color_buffer_float" | "EXT_shader_texture_lod" | "ANGLE_instanced_arrays" | "OES_vertex_array_object" | "WEBGL_lose_context" | "EXT_frag_depth" | "EXT_disjoint_timer_query" | "EXT_disjoint_timer_query_webgl2" | "OES_standard_derivatives" | "EXT_float_blend";
|
|
7
|
+
/** Describes the type of a render target. Used by Capabilities to represent maximum precision render target available on host system.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare enum RenderType {
|
|
11
|
+
TextureUnsignedByte = 0,
|
|
12
|
+
TextureHalfFloat = 1,
|
|
13
|
+
TextureFloat = 2
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Describes the type of a depth buffer. Used by Capabilities to represent maximum depth buffer precision available on host system.
|
|
17
|
+
* Note: the commented-out values are unimplemented but left in place for reference, in case desired for future implementation.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare enum DepthType {
|
|
21
|
+
RenderBufferUnsignedShort16 = 0,
|
|
22
|
+
TextureUnsignedInt24Stencil8 = 1,
|
|
23
|
+
TextureUnsignedInt32 = 2
|
|
24
|
+
}
|
|
25
|
+
/** Describes the rendering capabilities of the host system.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare class Capabilities {
|
|
29
|
+
private _maxRenderType;
|
|
30
|
+
private _maxDepthType;
|
|
31
|
+
private _maxTextureSize;
|
|
32
|
+
private _maxColorAttachments;
|
|
33
|
+
private _maxDrawBuffers;
|
|
34
|
+
private _maxFragTextureUnits;
|
|
35
|
+
private _maxVertTextureUnits;
|
|
36
|
+
private _maxVertAttribs;
|
|
37
|
+
private _maxVertUniformVectors;
|
|
38
|
+
private _maxVaryingVectors;
|
|
39
|
+
private _maxFragUniformVectors;
|
|
40
|
+
private _maxAnisotropy?;
|
|
41
|
+
private _maxAntialiasSamples;
|
|
42
|
+
private _supportsCreateImageBitmap;
|
|
43
|
+
private _maxTexSizeAllow;
|
|
44
|
+
private _extensionMap;
|
|
45
|
+
private _presentFeatures;
|
|
46
|
+
private _isWebGL2;
|
|
47
|
+
private _isMobile;
|
|
48
|
+
private _driverBugs;
|
|
49
|
+
get maxRenderType(): RenderType;
|
|
50
|
+
get maxDepthType(): DepthType;
|
|
51
|
+
get maxTextureSize(): number;
|
|
52
|
+
get maxTexSizeAllow(): number;
|
|
53
|
+
get supportsCreateImageBitmap(): boolean;
|
|
54
|
+
get maxColorAttachments(): number;
|
|
55
|
+
get maxDrawBuffers(): number;
|
|
56
|
+
get maxFragTextureUnits(): number;
|
|
57
|
+
get maxVertTextureUnits(): number;
|
|
58
|
+
get maxVertAttribs(): number;
|
|
59
|
+
get maxVertUniformVectors(): number;
|
|
60
|
+
get maxVaryingVectors(): number;
|
|
61
|
+
get maxFragUniformVectors(): number;
|
|
62
|
+
get maxAntialiasSamples(): number;
|
|
63
|
+
get isWebGL2(): boolean;
|
|
64
|
+
get driverBugs(): GraphicsDriverBugs;
|
|
65
|
+
/** These getters check for existence of extension objects to determine availability of features. In WebGL2, could just return true for some. */
|
|
66
|
+
get supportsNonPowerOf2Textures(): boolean;
|
|
67
|
+
get supportsDrawBuffers(): boolean;
|
|
68
|
+
get supportsInstancing(): boolean;
|
|
69
|
+
get supports32BitElementIndex(): boolean;
|
|
70
|
+
get supportsTextureFloat(): boolean;
|
|
71
|
+
get supportsTextureFloatLinear(): boolean;
|
|
72
|
+
get supportsTextureHalfFloat(): boolean;
|
|
73
|
+
get supportsTextureHalfFloatLinear(): boolean;
|
|
74
|
+
get supportsTextureFilterAnisotropic(): boolean;
|
|
75
|
+
get supportsShaderTextureLOD(): boolean;
|
|
76
|
+
get supportsVertexArrayObjects(): boolean;
|
|
77
|
+
get supportsFragDepth(): boolean;
|
|
78
|
+
get supportsDisjointTimerQuery(): boolean;
|
|
79
|
+
get supportsStandardDerivatives(): boolean;
|
|
80
|
+
get supportsMRTTransparency(): boolean;
|
|
81
|
+
get supportsMRTPickShaders(): boolean;
|
|
82
|
+
get supportsShadowMaps(): boolean;
|
|
83
|
+
get supportsAntiAliasing(): boolean;
|
|
84
|
+
get isMobile(): boolean;
|
|
85
|
+
private findExtension;
|
|
86
|
+
/** Queries an extension object if available. This is necessary for other parts of the system to access some constants within extensions. */
|
|
87
|
+
queryExtensionObject<T>(ext: WebGLExtensionName): T | undefined;
|
|
88
|
+
static readonly optionalFeatures: WebGLFeature[];
|
|
89
|
+
static readonly requiredFeatures: WebGLFeature[];
|
|
90
|
+
private get _hasRequiredTextureUnits();
|
|
91
|
+
/** Return an array containing any features not supported by the system as compared to the input array. */
|
|
92
|
+
private _findMissingFeatures;
|
|
93
|
+
/** Populate and return an array containing features that this system supports. */
|
|
94
|
+
private _gatherFeatures;
|
|
95
|
+
/** Retrieve compatibility status based on presence of various features. */
|
|
96
|
+
private _getCompatibilityStatus;
|
|
97
|
+
/** Initializes the capabilities based on a GL context. Must be called first. */
|
|
98
|
+
init(gl: WebGLContext, disabledExtensions?: WebGLExtensionName[]): WebGLRenderCompatibilityInfo;
|
|
99
|
+
static create(gl: WebGLContext, disabledExtensions?: WebGLExtensionName[]): Capabilities | undefined;
|
|
100
|
+
/** Determines if a particular texture type is color-renderable on the host system. */
|
|
101
|
+
private isTextureRenderable;
|
|
102
|
+
setMaxAnisotropy(desiredMax: number | undefined, gl: WebGLContext): void;
|
|
103
|
+
}
|
|
104
104
|
//# sourceMappingURL=Capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../src/Capabilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,4BAA4B,EAC7E,MAAM,uBAAuB,CAAC;AAE/B,gBAAgB;AAChB,
|
|
1
|
+
{"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../src/Capabilities.ts"],"names":[],"mappings":"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"}
|