@luma.gl/webgl 9.2.6 → 9.3.0-alpha.11
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/dist/adapter/converters/device-parameters.d.ts +1 -1
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +4 -1
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +1 -1
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/shader-formats.d.ts +1 -64
- package/dist/adapter/converters/shader-formats.d.ts.map +1 -1
- package/dist/adapter/converters/shader-formats.js +1 -64
- package/dist/adapter/converters/shader-formats.js.map +1 -1
- package/dist/adapter/converters/webgl-shadertypes.d.ts +1 -3
- package/dist/adapter/converters/webgl-shadertypes.d.ts.map +1 -1
- package/dist/adapter/converters/webgl-shadertypes.js +2 -7
- package/dist/adapter/converters/webgl-shadertypes.js.map +1 -1
- package/dist/adapter/converters/webgl-texture-table.d.ts +8 -4
- package/dist/adapter/converters/webgl-texture-table.d.ts.map +1 -1
- package/dist/adapter/converters/webgl-texture-table.js +125 -61
- package/dist/adapter/converters/webgl-texture-table.js.map +1 -1
- package/dist/adapter/converters/webgl-vertex-formats.d.ts +1 -1
- package/dist/adapter/converters/webgl-vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/webgl-vertex-formats.js +4 -4
- package/dist/adapter/converters/webgl-vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.d.ts +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-features.js +1 -2
- package/dist/adapter/device-helpers/webgl-device-features.js.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/webgl-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-info.js +6 -1
- package/dist/adapter/device-helpers/webgl-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/webgl-device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/webgl-device-limits.js +2 -2
- package/dist/adapter/device-helpers/webgl-device-limits.js.map +1 -1
- package/dist/adapter/helpers/format-utils.d.ts +1 -1
- package/dist/adapter/helpers/format-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/format-utils.js +1 -1
- package/dist/adapter/helpers/format-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-layout-from-glsl.js +36 -22
- package/dist/adapter/helpers/get-shader-layout-from-glsl.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +22 -2
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +2 -2
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/webgl-texture-utils.d.ts +1 -1
- package/dist/adapter/helpers/webgl-texture-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/webgl-texture-utils.js +9 -9
- package/dist/adapter/helpers/webgl-texture-utils.js.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.d.ts +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.js +3 -3
- package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +20 -5
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +7 -8
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +33 -43
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +6 -5
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +23 -8
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-fence.d.ts +14 -0
- package/dist/adapter/resources/webgl-fence.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-fence.js +49 -0
- package/dist/adapter/resources/webgl-fence.js.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts +3 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +10 -1
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-query-set.d.ts +37 -31
- package/dist/adapter/resources/webgl-query-set.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-query-set.js +247 -96
- package/dist/adapter/resources/webgl-query-set.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +28 -11
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +17 -21
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +94 -192
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +1 -1
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +15 -8
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-shared-render-pipeline.d.ts +24 -0
- package/dist/adapter/resources/webgl-shared-render-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-shared-render-pipeline.js +155 -0
- package/dist/adapter/resources/webgl-shared-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +42 -4
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +289 -65
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.js +6 -6
- package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -1
- package/dist/adapter/resources/webgl-vertex-array.d.ts +2 -2
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js +1 -1
- package/dist/adapter/resources/webgl-vertex-array.js.map +1 -1
- package/dist/adapter/webgl-adapter.d.ts.map +1 -1
- package/dist/adapter/webgl-adapter.js +22 -23
- package/dist/adapter/webgl-adapter.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts +2 -2
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +16 -6
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +10 -5
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +78 -28
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/adapter/webgl-presentation-context.d.ts +21 -0
- package/dist/adapter/webgl-presentation-context.d.ts.map +1 -0
- package/dist/adapter/webgl-presentation-context.js +64 -0
- package/dist/adapter/webgl-presentation-context.js.map +1 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +5 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/webgl-constants.d.ts +822 -0
- package/dist/constants/webgl-constants.d.ts.map +1 -0
- package/dist/constants/webgl-constants.js +928 -0
- package/dist/constants/webgl-constants.js.map +1 -0
- package/dist/constants/webgl-types.d.ts +480 -0
- package/dist/constants/webgl-types.d.ts.map +1 -0
- package/dist/constants/webgl-types.js +6 -0
- package/dist/constants/webgl-types.js.map +1 -0
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +4 -4
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +11 -9
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/helpers/create-browser-context.d.ts.map +1 -1
- package/dist/context/helpers/create-browser-context.js +46 -36
- package/dist/context/helpers/create-browser-context.js.map +1 -1
- package/dist/context/helpers/webgl-context-data.d.ts +5 -1
- package/dist/context/helpers/webgl-context-data.d.ts.map +1 -1
- package/dist/context/helpers/webgl-context-data.js +9 -10
- package/dist/context/helpers/webgl-context-data.js.map +1 -1
- package/dist/context/helpers/webgl-extensions.d.ts +1 -1
- package/dist/context/helpers/webgl-extensions.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +2 -2
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +2 -2
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfills/polyfill-webgl1-extensions.js +1 -1
- package/dist/context/polyfills/polyfill-webgl1-extensions.js.map +1 -1
- package/dist/context/state-tracker/webgl-state-tracker.js +2 -2
- package/dist/context/state-tracker/webgl-state-tracker.js.map +1 -1
- package/dist/dist.dev.js +1898 -997
- package/dist/dist.min.js +2 -2
- package/dist/index.cjs +3 -5255
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/fill-array.js +1 -1
- package/dist/utils/fill-array.js.map +1 -1
- package/dist/webgl-constants.d.ts +2 -0
- package/dist/webgl-constants.d.ts.map +1 -0
- package/dist/webgl-constants.js +5 -0
- package/dist/webgl-constants.js.map +1 -0
- package/dist/webgl-types.d.ts +2 -0
- package/dist/webgl-types.d.ts.map +1 -0
- package/dist/{types.js → webgl-types.js} +1 -1
- package/dist/webgl-types.js.map +1 -0
- package/package.json +19 -5
- package/src/adapter/converters/device-parameters.ts +6 -2
- package/src/adapter/converters/sampler-parameters.ts +1 -1
- package/src/adapter/converters/shader-formats.ts +1 -66
- package/src/adapter/converters/webgl-shadertypes.ts +2 -10
- package/src/adapter/converters/webgl-texture-table.ts +160 -68
- package/src/adapter/converters/webgl-vertex-formats.ts +4 -4
- package/src/adapter/device-helpers/webgl-device-features.ts +2 -3
- package/src/adapter/device-helpers/webgl-device-info.ts +7 -1
- package/src/adapter/device-helpers/webgl-device-limits.ts +2 -2
- package/src/adapter/helpers/format-utils.ts +1 -1
- package/src/adapter/helpers/get-shader-layout-from-glsl.ts +44 -24
- package/src/adapter/helpers/parse-shader-compiler-log.ts +25 -3
- package/src/adapter/helpers/set-uniform.ts +2 -2
- package/src/adapter/helpers/webgl-texture-utils.ts +9 -9
- package/src/adapter/helpers/webgl-topology-utils.ts +3 -3
- package/src/adapter/resources/webgl-buffer.ts +17 -5
- package/src/adapter/resources/webgl-command-buffer.ts +48 -52
- package/src/adapter/resources/webgl-command-encoder.ts +28 -11
- package/src/adapter/resources/webgl-fence.ts +55 -0
- package/src/adapter/resources/webgl-framebuffer.ts +12 -1
- package/src/adapter/resources/webgl-query-set.ts +295 -101
- package/src/adapter/resources/webgl-render-pass.ts +30 -13
- package/src/adapter/resources/webgl-render-pipeline.ts +131 -227
- package/src/adapter/resources/webgl-sampler.ts +1 -1
- package/src/adapter/resources/webgl-shader.ts +15 -8
- package/src/adapter/resources/webgl-shared-render-pipeline.ts +211 -0
- package/src/adapter/resources/webgl-texture.ts +458 -84
- package/src/adapter/resources/webgl-transform-feedback.ts +6 -6
- package/src/adapter/resources/webgl-vertex-array.ts +1 -1
- package/src/adapter/webgl-adapter.ts +26 -24
- package/src/adapter/webgl-canvas-context.ts +19 -8
- package/src/adapter/webgl-device.ts +94 -35
- package/src/adapter/webgl-presentation-context.ts +93 -0
- package/src/constants/index.d.ts.map +1 -0
- package/src/constants/index.js.map +1 -0
- package/src/constants/index.ts +31 -0
- package/src/constants/webgl-constants.d.ts.map +1 -0
- package/src/constants/webgl-constants.js.map +1 -0
- package/src/constants/webgl-constants.ts +1051 -0
- package/src/constants/webgl-types.d.ts.map +1 -0
- package/src/constants/webgl-types.js.map +1 -0
- package/src/constants/webgl-types.ts +813 -0
- package/src/context/debug/spector.ts +4 -4
- package/src/context/debug/webgl-developer-tools.ts +20 -9
- package/src/context/helpers/create-browser-context.ts +54 -43
- package/src/context/helpers/webgl-context-data.ts +17 -11
- package/src/context/helpers/webgl-extensions.ts +1 -1
- package/src/context/parameters/unified-parameter-api.ts +3 -3
- package/src/context/parameters/webgl-parameter-tables.ts +1 -1
- package/src/context/polyfills/polyfill-webgl1-extensions.ts +1 -1
- package/src/context/state-tracker/webgl-state-tracker.ts +2 -2
- package/src/index.ts +27 -0
- package/src/utils/fill-array.ts +1 -1
- package/src/webgl-constants.d.ts.map +1 -0
- package/src/webgl-constants.js.map +1 -0
- package/src/webgl-constants.ts +5 -0
- package/src/webgl-types.d.ts.map +1 -0
- package/src/webgl-types.js.map +1 -0
- package/src/webgl-types.ts +29 -0
- package/dist/types.d.ts +0 -11
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/types.ts +0 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {PrimitiveTopology, ShaderLayout, TransformFeedbackProps} from '@luma.gl/core';
|
|
2
2
|
import {log, TransformFeedback, Buffer, BufferRange} from '@luma.gl/core';
|
|
3
|
-
import {GL} from '@luma.gl/constants';
|
|
3
|
+
import {GL} from '@luma.gl/webgl/constants';
|
|
4
4
|
import {WebGLDevice} from '../webgl-device';
|
|
5
5
|
import {WEBGLBuffer} from '../../index';
|
|
6
6
|
import {getGLPrimitive} from '../helpers/webgl-topology-utils';
|
|
@@ -69,8 +69,8 @@ export class WEBGLTransformFeedback extends TransformFeedback {
|
|
|
69
69
|
this.unusedBuffers = {};
|
|
70
70
|
|
|
71
71
|
this.bind(() => {
|
|
72
|
-
for (const bufferName
|
|
73
|
-
this.setBuffer(bufferName,
|
|
72
|
+
for (const [bufferName, buffer] of Object.entries(buffers)) {
|
|
73
|
+
this.setBuffer(bufferName, buffer);
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -99,7 +99,7 @@ export class WEBGLTransformFeedback extends TransformFeedback {
|
|
|
99
99
|
return this.buffers[locationOrName] || null;
|
|
100
100
|
}
|
|
101
101
|
const location = this._getVaryingIndex(locationOrName);
|
|
102
|
-
return
|
|
102
|
+
return this.buffers[location] ?? null;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
bind(funcOrHandle: (() => void) | WebGLTransformFeedback | null = this.handle) {
|
|
@@ -162,8 +162,8 @@ export class WEBGLTransformFeedback extends TransformFeedback {
|
|
|
162
162
|
* cannot be bound to 'TRANSFORM_FEEDBACK_BUFFER' target.
|
|
163
163
|
*/
|
|
164
164
|
protected _bindBuffers(): void {
|
|
165
|
-
for (const bufferIndex
|
|
166
|
-
const {buffer, byteLength, byteOffset} = this._getBufferRange(
|
|
165
|
+
for (const [bufferIndex, bufferEntry] of Object.entries(this.buffers)) {
|
|
166
|
+
const {buffer, byteLength, byteOffset} = this._getBufferRange(bufferEntry);
|
|
167
167
|
this._bindBuffer(Number(bufferIndex), buffer, byteOffset, byteLength);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type {TypedArray, NumericArray} from '@math.gl/types';
|
|
6
6
|
import type {Device, Buffer, VertexArrayProps} from '@luma.gl/core';
|
|
7
7
|
import {VertexArray, getScratchArray} from '@luma.gl/core';
|
|
8
|
-
import {GL} from '@luma.gl/constants';
|
|
8
|
+
import {GL} from '@luma.gl/webgl/constants';
|
|
9
9
|
import {getBrowser} from '@probe.gl/env';
|
|
10
10
|
|
|
11
11
|
import {WebGLDevice} from '../webgl-device';
|
|
@@ -55,10 +55,9 @@ export class WebGLAdapter extends Adapter {
|
|
|
55
55
|
if (gl instanceof WebGLDevice) {
|
|
56
56
|
return gl;
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
return gl.device as WebGLDevice;
|
|
58
|
+
const existingDevice = WebGLDevice.getDeviceFromContext(gl as WebGL2RenderingContext | null);
|
|
59
|
+
if (existingDevice) {
|
|
60
|
+
return existingDevice;
|
|
62
61
|
}
|
|
63
62
|
if (!isWebGL(gl)) {
|
|
64
63
|
throw new Error('Invalid WebGL2RenderingContext');
|
|
@@ -78,40 +77,44 @@ export class WebGLAdapter extends Adapter {
|
|
|
78
77
|
async create(props: DeviceProps = {}): Promise<WebGLDevice> {
|
|
79
78
|
const {WebGLDevice} = await import('./webgl-device');
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
try {
|
|
83
|
-
const promises: Promise<unknown>[] = [];
|
|
80
|
+
const promises: Promise<unknown>[] = [];
|
|
84
81
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
// Load webgl and spector debug scripts from CDN if requested
|
|
83
|
+
if (props.debugWebGL || props.debug) {
|
|
84
|
+
promises.push(loadWebGLDeveloperTools());
|
|
85
|
+
}
|
|
89
86
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
if (props.debugSpectorJS) {
|
|
88
|
+
promises.push(loadSpectorJS(props));
|
|
89
|
+
}
|
|
93
90
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
91
|
+
// Wait for all the loads to settle before creating the context.
|
|
92
|
+
// The Device.create() functions are async, so in contrast to the constructor, we can `await` here.
|
|
93
|
+
const results = await Promise.allSettled(promises);
|
|
94
|
+
for (const result of results) {
|
|
95
|
+
if (result.status === 'rejected') {
|
|
96
|
+
log.error(`Failed to initialize debug libraries ${result.reason}`)();
|
|
101
97
|
}
|
|
98
|
+
}
|
|
102
99
|
|
|
100
|
+
try {
|
|
103
101
|
const device = new WebGLDevice(props);
|
|
104
102
|
|
|
103
|
+
log.groupCollapsed(LOG_LEVEL, `WebGLDevice ${device.id} created`)();
|
|
105
104
|
// Log some debug info about the newly created context
|
|
106
105
|
const message = `\
|
|
107
106
|
${device._reused ? 'Reusing' : 'Created'} device with WebGL2 ${device.props.debug ? 'debug ' : ''}context: \
|
|
108
107
|
${device.info.vendor}, ${device.info.renderer} for canvas: ${device.canvasContext.id}`;
|
|
109
108
|
log.probe(LOG_LEVEL, message)();
|
|
110
109
|
log.table(LOG_LEVEL, device.info)();
|
|
111
|
-
|
|
112
110
|
return device;
|
|
113
111
|
} finally {
|
|
114
112
|
log.groupEnd(LOG_LEVEL)();
|
|
113
|
+
log.info(
|
|
114
|
+
LOG_LEVEL,
|
|
115
|
+
`%cWebGL call tracing: luma.log.set('debug-webgl') `,
|
|
116
|
+
'color: white; background: blue; padding: 2px 6px; border-radius: 3px;'
|
|
117
|
+
)();
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
}
|
|
@@ -121,8 +124,7 @@ function isWebGL(gl: any): gl is WebGL2RenderingContext {
|
|
|
121
124
|
if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {
|
|
122
125
|
return true;
|
|
123
126
|
}
|
|
124
|
-
|
|
125
|
-
return Boolean(gl && Number.isFinite(gl._version));
|
|
127
|
+
return Boolean(gl && typeof gl.createVertexArray === 'function');
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
export const webgl2Adapter = new WebGLAdapter();
|
|
@@ -27,16 +27,27 @@ export class WebGLCanvasContext extends CanvasContext {
|
|
|
27
27
|
|
|
28
28
|
// Base class constructor cannot access derived methods/fields, so we need to call these functions in the subclass constructor
|
|
29
29
|
this._setAutoCreatedCanvasId(`${this.device.id}-canvas`);
|
|
30
|
-
this.
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
getCurrentFramebuffer(): WEBGLFramebuffer {
|
|
34
|
-
// Setting handle to null returns a reference to the default framebuffer
|
|
35
|
-
this._framebuffer = this._framebuffer || new WEBGLFramebuffer(this.device, {handle: null});
|
|
36
|
-
return this._framebuffer;
|
|
30
|
+
this._configureDevice();
|
|
37
31
|
}
|
|
38
32
|
|
|
39
33
|
// IMPLEMENTATION OF ABSTRACT METHODS
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
_configureDevice(): void {
|
|
36
|
+
const shouldResize =
|
|
37
|
+
this.drawingBufferWidth !== this._framebuffer?.width ||
|
|
38
|
+
this.drawingBufferHeight !== this._framebuffer?.height;
|
|
39
|
+
if (shouldResize) {
|
|
40
|
+
this._framebuffer?.resize([this.drawingBufferWidth, this.drawingBufferHeight]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
_getCurrentFramebuffer(): WEBGLFramebuffer {
|
|
45
|
+
this._framebuffer ||= new WEBGLFramebuffer(this.device, {
|
|
46
|
+
id: 'canvas-context-framebuffer',
|
|
47
|
+
handle: null, // Setting handle to null returns a reference to the default WebGL framebuffer
|
|
48
|
+
width: this.drawingBufferWidth,
|
|
49
|
+
height: this.drawingBufferHeight
|
|
50
|
+
});
|
|
51
|
+
return this._framebuffer;
|
|
52
|
+
}
|
|
42
53
|
}
|
|
@@ -8,6 +8,8 @@ import type {
|
|
|
8
8
|
DeviceInfo,
|
|
9
9
|
DeviceTextureFormatCapabilities,
|
|
10
10
|
CanvasContextProps,
|
|
11
|
+
PresentationContextProps,
|
|
12
|
+
PresentationContext,
|
|
11
13
|
Buffer,
|
|
12
14
|
Texture,
|
|
13
15
|
Framebuffer,
|
|
@@ -23,6 +25,7 @@ import type {
|
|
|
23
25
|
FramebufferProps,
|
|
24
26
|
// RenderPipeline,
|
|
25
27
|
RenderPipelineProps,
|
|
28
|
+
SharedRenderPipeline,
|
|
26
29
|
ComputePipeline,
|
|
27
30
|
ComputePipelineProps,
|
|
28
31
|
// CommandEncoder,
|
|
@@ -33,13 +36,15 @@ import type {
|
|
|
33
36
|
VertexFormat
|
|
34
37
|
} from '@luma.gl/core';
|
|
35
38
|
import {Device, CanvasContext, log} from '@luma.gl/core';
|
|
36
|
-
import type {GLExtensions} from '@luma.gl/constants';
|
|
39
|
+
import type {GLExtensions} from '@luma.gl/webgl/constants';
|
|
37
40
|
import {WebGLStateTracker} from '../context/state-tracker/webgl-state-tracker';
|
|
38
41
|
import {createBrowserContext} from '../context/helpers/create-browser-context';
|
|
42
|
+
import {getWebGLContextData} from '../context/helpers/webgl-context-data';
|
|
39
43
|
import {getDeviceInfo} from './device-helpers/webgl-device-info';
|
|
40
44
|
import {WebGLDeviceFeatures} from './device-helpers/webgl-device-features';
|
|
41
45
|
import {WebGLDeviceLimits} from './device-helpers/webgl-device-limits';
|
|
42
46
|
import {WebGLCanvasContext} from './webgl-canvas-context';
|
|
47
|
+
import {WebGLPresentationContext} from './webgl-presentation-context';
|
|
43
48
|
import type {Spector} from '../context/debug/spector-types';
|
|
44
49
|
import {initializeSpectorJS} from '../context/debug/spector';
|
|
45
50
|
import {makeDebugContext} from '../context/debug/webgl-developer-tools';
|
|
@@ -52,11 +57,13 @@ import {WEBGLSampler} from './resources/webgl-sampler';
|
|
|
52
57
|
import {WEBGLTexture} from './resources/webgl-texture';
|
|
53
58
|
import {WEBGLFramebuffer} from './resources/webgl-framebuffer';
|
|
54
59
|
import {WEBGLRenderPipeline} from './resources/webgl-render-pipeline';
|
|
60
|
+
import {WEBGLSharedRenderPipeline} from './resources/webgl-shared-render-pipeline';
|
|
55
61
|
import {WEBGLCommandEncoder} from './resources/webgl-command-encoder';
|
|
56
62
|
import {WEBGLCommandBuffer} from './resources/webgl-command-buffer';
|
|
57
63
|
import {WEBGLVertexArray} from './resources/webgl-vertex-array';
|
|
58
64
|
import {WEBGLTransformFeedback} from './resources/webgl-transform-feedback';
|
|
59
65
|
import {WEBGLQuerySet} from './resources/webgl-query-set';
|
|
66
|
+
import {WEBGLFence} from './resources/webgl-fence';
|
|
60
67
|
|
|
61
68
|
import {readPixelsToArray, readPixelsToBuffer} from './helpers/webgl-texture-utils';
|
|
62
69
|
import {
|
|
@@ -69,6 +76,13 @@ import {getWebGLExtension} from '../context/helpers/webgl-extensions';
|
|
|
69
76
|
|
|
70
77
|
/** WebGPU style Device API for a WebGL context */
|
|
71
78
|
export class WebGLDevice extends Device {
|
|
79
|
+
static getDeviceFromContext(gl: WebGL2RenderingContext | null): WebGLDevice | null {
|
|
80
|
+
if (!gl) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
// @ts-expect-error Ingore WebGL2RenderingContext type
|
|
84
|
+
return gl.luma?.device ?? null;
|
|
85
|
+
}
|
|
72
86
|
// Public `Device` API
|
|
73
87
|
|
|
74
88
|
/** type of this device */
|
|
@@ -99,7 +113,7 @@ export class WebGLDevice extends Device {
|
|
|
99
113
|
_constants: (TypedArray | null)[];
|
|
100
114
|
|
|
101
115
|
/** State used by luma.gl classes - TODO - not used? */
|
|
102
|
-
readonly
|
|
116
|
+
readonly extensions!: GLExtensions;
|
|
103
117
|
_polyfilled: boolean = false;
|
|
104
118
|
|
|
105
119
|
/** Instance of Spector.js (if initialized) */
|
|
@@ -140,7 +154,8 @@ export class WebGLDevice extends Device {
|
|
|
140
154
|
// Note that this can be avoided in webgl2adapter.create() if
|
|
141
155
|
// DeviceProps._reuseDevices is set.
|
|
142
156
|
// @ts-expect-error device is attached to context
|
|
143
|
-
|
|
157
|
+
const existingContext = canvasContextProps.canvas?.gl ?? null;
|
|
158
|
+
let device: WebGLDevice | null = WebGLDevice.getDeviceFromContext(existingContext);
|
|
144
159
|
if (device) {
|
|
145
160
|
throw new Error(`WebGL context already attached to device ${device.id}`);
|
|
146
161
|
}
|
|
@@ -160,6 +175,9 @@ export class WebGLDevice extends Device {
|
|
|
160
175
|
if (props.powerPreference !== undefined) {
|
|
161
176
|
webglContextAttributes.powerPreference = props.powerPreference;
|
|
162
177
|
}
|
|
178
|
+
if (props.failIfMajorPerformanceCaveat !== undefined) {
|
|
179
|
+
webglContextAttributes.failIfMajorPerformanceCaveat = props.failIfMajorPerformanceCaveat;
|
|
180
|
+
}
|
|
163
181
|
|
|
164
182
|
// Check if we should attach to an externally created context or create a new context
|
|
165
183
|
const externalGLContext = this.props._handle as WebGL2RenderingContext | null;
|
|
@@ -186,8 +204,7 @@ export class WebGLDevice extends Device {
|
|
|
186
204
|
|
|
187
205
|
// Note that the browser will only create one WebGL context per canvas.
|
|
188
206
|
// This means that a newly created gl context may already have a device attached to it.
|
|
189
|
-
|
|
190
|
-
device = gl.device;
|
|
207
|
+
device = WebGLDevice.getDeviceFromContext(gl);
|
|
191
208
|
if (device) {
|
|
192
209
|
if (props._reuseDevices) {
|
|
193
210
|
log.log(
|
|
@@ -195,6 +212,9 @@ export class WebGLDevice extends Device {
|
|
|
195
212
|
`Not creating a new Device, instead returning a reference to Device ${device.id} already attached to WebGL context`,
|
|
196
213
|
device
|
|
197
214
|
)();
|
|
215
|
+
// Destroy the orphaned canvas context that was created above (line 149)
|
|
216
|
+
// to prevent its ResizeObserver from firing callbacks with undefined device
|
|
217
|
+
this.canvasContext.destroy();
|
|
198
218
|
device._reused = true;
|
|
199
219
|
return device;
|
|
200
220
|
}
|
|
@@ -210,18 +230,18 @@ export class WebGLDevice extends Device {
|
|
|
210
230
|
this.spectorJS = initializeSpectorJS({...this.props, gl: this.handle});
|
|
211
231
|
|
|
212
232
|
// Instrument context
|
|
213
|
-
|
|
214
|
-
//
|
|
215
|
-
|
|
233
|
+
const contextData = getWebGLContextData(this.handle);
|
|
234
|
+
contextData.device = this; // Update GL context: Link webgl context back to device
|
|
235
|
+
|
|
236
|
+
if (!contextData.extensions) {
|
|
237
|
+
contextData.extensions = {};
|
|
238
|
+
}
|
|
239
|
+
this.extensions = contextData.extensions;
|
|
216
240
|
|
|
217
241
|
// initialize luma Device fields
|
|
218
|
-
this.info = getDeviceInfo(this.gl, this.
|
|
242
|
+
this.info = getDeviceInfo(this.gl, this.extensions);
|
|
219
243
|
this.limits = new WebGLDeviceLimits(this.gl);
|
|
220
|
-
this.features = new WebGLDeviceFeatures(
|
|
221
|
-
this.gl,
|
|
222
|
-
this._extensions,
|
|
223
|
-
this.props._disabledFeatures
|
|
224
|
-
);
|
|
244
|
+
this.features = new WebGLDeviceFeatures(this.gl, this.extensions, this.props._disabledFeatures);
|
|
225
245
|
if (this.props._initializeFeatures) {
|
|
226
246
|
this.features.initializeFeatures();
|
|
227
247
|
}
|
|
@@ -232,18 +252,18 @@ export class WebGLDevice extends Device {
|
|
|
232
252
|
});
|
|
233
253
|
glState.trackState(this.gl, {copyState: false});
|
|
234
254
|
|
|
235
|
-
//
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
this.gl = makeDebugContext(this.gl, {debugWebGL, traceWebGL});
|
|
255
|
+
// props.debug - instrument the WebGL context with Khronos debug tools
|
|
256
|
+
// props.debugWebGL - activate WebGL context tracing, force log level to at least 1
|
|
257
|
+
if (props.debug || props.debugWebGL) {
|
|
258
|
+
this.gl = makeDebugContext(this.gl, {debugWebGL: true, traceWebGL: props.debugWebGL});
|
|
240
259
|
log.warn('WebGL debug mode activated. Performance reduced.')();
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
260
|
+
}
|
|
261
|
+
if (props.debugWebGL) {
|
|
262
|
+
log.level = Math.max(log.level, 1);
|
|
244
263
|
}
|
|
245
264
|
|
|
246
265
|
this.commandEncoder = new WEBGLCommandEncoder(this, {id: `${this}-command-encoder`});
|
|
266
|
+
this.canvasContext._startObservers();
|
|
247
267
|
}
|
|
248
268
|
|
|
249
269
|
/**
|
|
@@ -257,6 +277,7 @@ export class WebGLDevice extends Device {
|
|
|
257
277
|
* browser API for destroying WebGL contexts.
|
|
258
278
|
*/
|
|
259
279
|
destroy(): void {
|
|
280
|
+
this.commandEncoder?.destroy();
|
|
260
281
|
// Note that deck.gl (especially in React strict mode) depends on being able
|
|
261
282
|
// to asynchronously create a Device against the same canvas (i.e. WebGL context)
|
|
262
283
|
// multiple times and getting the same device back. Since deck.gl is not aware
|
|
@@ -264,7 +285,8 @@ export class WebGLDevice extends Device {
|
|
|
264
285
|
// Therefore we must do nothing in destroy() if props._reuseDevices is true
|
|
265
286
|
if (!this.props._reuseDevices && !this._reused) {
|
|
266
287
|
// Delete the reference to the device that we store on the WebGL context
|
|
267
|
-
|
|
288
|
+
const contextData = getWebGLContextData(this.handle);
|
|
289
|
+
contextData.device = null;
|
|
268
290
|
}
|
|
269
291
|
}
|
|
270
292
|
|
|
@@ -274,14 +296,14 @@ export class WebGLDevice extends Device {
|
|
|
274
296
|
|
|
275
297
|
// IMPLEMENTATION OF ABSTRACT DEVICE
|
|
276
298
|
|
|
277
|
-
getTextureByteAlignment(): number {
|
|
278
|
-
return 4;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
299
|
createCanvasContext(props?: CanvasContextProps): CanvasContext {
|
|
282
300
|
throw new Error('WebGL only supports a single canvas');
|
|
283
301
|
}
|
|
284
302
|
|
|
303
|
+
createPresentationContext(props?: PresentationContextProps): PresentationContext {
|
|
304
|
+
return new WebGLPresentationContext(this, props || {});
|
|
305
|
+
}
|
|
306
|
+
|
|
285
307
|
createBuffer(props: BufferProps | ArrayBuffer | ArrayBufferView): WEBGLBuffer {
|
|
286
308
|
const newProps = this._normalizeBufferProps(props);
|
|
287
309
|
return new WEBGLBuffer(this, newProps);
|
|
@@ -319,10 +341,21 @@ export class WebGLDevice extends Device {
|
|
|
319
341
|
return new WEBGLQuerySet(this, props);
|
|
320
342
|
}
|
|
321
343
|
|
|
344
|
+
override createFence(): WEBGLFence {
|
|
345
|
+
return new WEBGLFence(this);
|
|
346
|
+
}
|
|
347
|
+
|
|
322
348
|
createRenderPipeline(props: RenderPipelineProps): WEBGLRenderPipeline {
|
|
323
349
|
return new WEBGLRenderPipeline(this, props);
|
|
324
350
|
}
|
|
325
351
|
|
|
352
|
+
override _createSharedRenderPipelineWebGL(props: RenderPipelineProps): SharedRenderPipeline {
|
|
353
|
+
return new WEBGLSharedRenderPipeline(
|
|
354
|
+
this,
|
|
355
|
+
props as RenderPipelineProps & {vs: WEBGLShader; fs: WEBGLShader}
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
|
|
326
359
|
createComputePipeline(props?: ComputePipelineProps): ComputePipeline {
|
|
327
360
|
throw new Error('ComputePipeline not supported in WebGL');
|
|
328
361
|
}
|
|
@@ -336,14 +369,40 @@ export class WebGLDevice extends Device {
|
|
|
336
369
|
* https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/commit
|
|
337
370
|
* Chrome's offscreen canvas does not require gl.commit
|
|
338
371
|
*/
|
|
339
|
-
submit(commandBuffer
|
|
372
|
+
submit(commandBuffer?: WEBGLCommandBuffer): void {
|
|
373
|
+
let submittedCommandEncoder: WEBGLCommandEncoder | null = null;
|
|
340
374
|
if (!commandBuffer) {
|
|
341
|
-
commandBuffer = this.
|
|
342
|
-
this.commandEncoder.destroy();
|
|
343
|
-
this.commandEncoder = this.createCommandEncoder({id: `${this.id}-default-encoder`});
|
|
375
|
+
({submittedCommandEncoder, commandBuffer} = this._finalizeDefaultCommandEncoderForSubmit());
|
|
344
376
|
}
|
|
345
377
|
|
|
346
|
-
|
|
378
|
+
try {
|
|
379
|
+
commandBuffer._executeCommands();
|
|
380
|
+
|
|
381
|
+
if (submittedCommandEncoder) {
|
|
382
|
+
submittedCommandEncoder
|
|
383
|
+
.resolveTimeProfilingQuerySet()
|
|
384
|
+
.then(() => {
|
|
385
|
+
this.commandEncoder._gpuTimeMs = submittedCommandEncoder._gpuTimeMs;
|
|
386
|
+
})
|
|
387
|
+
.catch(() => {});
|
|
388
|
+
}
|
|
389
|
+
} finally {
|
|
390
|
+
commandBuffer.destroy();
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
private _finalizeDefaultCommandEncoderForSubmit(): {
|
|
395
|
+
submittedCommandEncoder: WEBGLCommandEncoder;
|
|
396
|
+
commandBuffer: WEBGLCommandBuffer;
|
|
397
|
+
} {
|
|
398
|
+
const submittedCommandEncoder = this.commandEncoder;
|
|
399
|
+
const commandBuffer = submittedCommandEncoder.finish();
|
|
400
|
+
this.commandEncoder.destroy();
|
|
401
|
+
this.commandEncoder = this.createCommandEncoder({
|
|
402
|
+
id: submittedCommandEncoder.props.id,
|
|
403
|
+
timeProfilingQuerySet: submittedCommandEncoder.getTimeProfilingQuerySet()
|
|
404
|
+
});
|
|
405
|
+
return {submittedCommandEncoder, commandBuffer};
|
|
347
406
|
}
|
|
348
407
|
|
|
349
408
|
//
|
|
@@ -406,7 +465,7 @@ export class WebGLDevice extends Device {
|
|
|
406
465
|
override _getDeviceSpecificTextureFormatCapabilities(
|
|
407
466
|
capabilities: DeviceTextureFormatCapabilities
|
|
408
467
|
): DeviceTextureFormatCapabilities {
|
|
409
|
-
return getTextureFormatCapabilitiesWebGL(this.gl, capabilities, this.
|
|
468
|
+
return getTextureFormatCapabilitiesWebGL(this.gl, capabilities, this.extensions);
|
|
410
469
|
}
|
|
411
470
|
|
|
412
471
|
//
|
|
@@ -509,8 +568,8 @@ export class WebGLDevice extends Device {
|
|
|
509
568
|
|
|
510
569
|
/** Ensure extensions are only requested once */
|
|
511
570
|
getExtension(name: keyof GLExtensions): GLExtensions {
|
|
512
|
-
getWebGLExtension(this.gl, name, this.
|
|
513
|
-
return this.
|
|
571
|
+
getWebGLExtension(this.gl, name, this.extensions);
|
|
572
|
+
return this.extensions;
|
|
514
573
|
}
|
|
515
574
|
|
|
516
575
|
// INTERNAL SUPPORT METHODS FOR WEBGL RESOURCES
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// luma.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {PresentationContextProps, TextureFormatDepthStencil, Framebuffer} from '@luma.gl/core';
|
|
6
|
+
import {PresentationContext} from '@luma.gl/core';
|
|
7
|
+
import type {WebGLDevice} from './webgl-device';
|
|
8
|
+
|
|
9
|
+
type PresentationCanvasRenderingContext2D =
|
|
10
|
+
| CanvasRenderingContext2D
|
|
11
|
+
| OffscreenCanvasRenderingContext2D;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Tracks a non-WebGL destination canvas while rendering into the device's default canvas context.
|
|
15
|
+
*/
|
|
16
|
+
export class WebGLPresentationContext extends PresentationContext {
|
|
17
|
+
readonly device: WebGLDevice;
|
|
18
|
+
readonly handle = null;
|
|
19
|
+
readonly context2d: PresentationCanvasRenderingContext2D;
|
|
20
|
+
|
|
21
|
+
get [Symbol.toStringTag](): string {
|
|
22
|
+
return 'WebGLPresentationContext';
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
constructor(device: WebGLDevice, props: PresentationContextProps = {}) {
|
|
26
|
+
super(props);
|
|
27
|
+
this.device = device;
|
|
28
|
+
const contextLabel = `${this[Symbol.toStringTag]}(${this.id})`;
|
|
29
|
+
|
|
30
|
+
const defaultCanvasContext = this.device.getDefaultCanvasContext();
|
|
31
|
+
if (!defaultCanvasContext.offscreenCanvas) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
`${contextLabel}: WebGL PresentationContext requires the default CanvasContext canvas to be an OffscreenCanvas`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const context2d = this.canvas.getContext('2d');
|
|
38
|
+
if (!context2d) {
|
|
39
|
+
throw new Error(`${contextLabel}: Failed to create 2d presentation context`);
|
|
40
|
+
}
|
|
41
|
+
this.context2d = context2d;
|
|
42
|
+
|
|
43
|
+
this._setAutoCreatedCanvasId(`${this.device.id}-presentation-canvas`);
|
|
44
|
+
this._configureDevice();
|
|
45
|
+
this._startObservers();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
present(): void {
|
|
49
|
+
this._resizeDrawingBufferIfNeeded();
|
|
50
|
+
this.device.submit();
|
|
51
|
+
|
|
52
|
+
const defaultCanvasContext = this.device.getDefaultCanvasContext();
|
|
53
|
+
const [sourceWidth, sourceHeight] = defaultCanvasContext.getDrawingBufferSize();
|
|
54
|
+
|
|
55
|
+
// Responsive layouts can transiently collapse presentation canvases to 0x0 during reflow.
|
|
56
|
+
// In that case WebGL has nothing meaningful to present, and drawImage() would throw when the
|
|
57
|
+
// offscreen source canvas has zero width or height.
|
|
58
|
+
if (
|
|
59
|
+
this.drawingBufferWidth === 0 ||
|
|
60
|
+
this.drawingBufferHeight === 0 ||
|
|
61
|
+
sourceWidth === 0 ||
|
|
62
|
+
sourceHeight === 0 ||
|
|
63
|
+
defaultCanvasContext.canvas.width === 0 ||
|
|
64
|
+
defaultCanvasContext.canvas.height === 0
|
|
65
|
+
) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (
|
|
70
|
+
sourceWidth !== this.drawingBufferWidth ||
|
|
71
|
+
sourceHeight !== this.drawingBufferHeight ||
|
|
72
|
+
defaultCanvasContext.canvas.width !== this.drawingBufferWidth ||
|
|
73
|
+
defaultCanvasContext.canvas.height !== this.drawingBufferHeight
|
|
74
|
+
) {
|
|
75
|
+
throw new Error(
|
|
76
|
+
`${this[Symbol.toStringTag]}(${this.id}): Default canvas context size ${sourceWidth}x${sourceHeight} does not match presentation size ${this.drawingBufferWidth}x${this.drawingBufferHeight}`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
this.context2d.clearRect(0, 0, this.drawingBufferWidth, this.drawingBufferHeight);
|
|
81
|
+
this.context2d.drawImage(defaultCanvasContext.canvas, 0, 0);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
protected override _configureDevice(): void {}
|
|
85
|
+
|
|
86
|
+
protected override _getCurrentFramebuffer(options?: {
|
|
87
|
+
depthStencilFormat?: TextureFormatDepthStencil | false;
|
|
88
|
+
}): Framebuffer {
|
|
89
|
+
const defaultCanvasContext = this.device.getDefaultCanvasContext();
|
|
90
|
+
defaultCanvasContext.setDrawingBufferSize(this.drawingBufferWidth, this.drawingBufferHeight);
|
|
91
|
+
return defaultCanvasContext.getCurrentFramebuffer(options);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAC,6BAA0B;AAErC,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,iBAAiB,EAClB,yBAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,EAAE,EAAC,6BAA0B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// luma.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
export {GL} from './webgl-constants';
|
|
6
|
+
|
|
7
|
+
export type {
|
|
8
|
+
GLTextureTarget,
|
|
9
|
+
GLTextureCubeMapTarget,
|
|
10
|
+
GLTexelDataFormat,
|
|
11
|
+
GLPrimitiveTopology,
|
|
12
|
+
GLPrimitive,
|
|
13
|
+
GLDataType,
|
|
14
|
+
GLPixelType,
|
|
15
|
+
GLUniformType,
|
|
16
|
+
GLSamplerType,
|
|
17
|
+
GLFunction,
|
|
18
|
+
GLBlendEquation,
|
|
19
|
+
GLBlendFunction,
|
|
20
|
+
GLStencilOp,
|
|
21
|
+
GLSamplerParameters,
|
|
22
|
+
GLValueParameters,
|
|
23
|
+
GLPackParameters,
|
|
24
|
+
GLUnpackParameters,
|
|
25
|
+
GLFunctionParameters,
|
|
26
|
+
GLParameters,
|
|
27
|
+
GLLimits,
|
|
28
|
+
GLExtensions,
|
|
29
|
+
GLPolygonMode,
|
|
30
|
+
GLProvokingVertex
|
|
31
|
+
} from './webgl-types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-constants.d.ts","sourceRoot":"","sources":["webgl-constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl-constants.js","sourceRoot":"","sources":["webgl-constants.ts"],"names":[],"mappings":"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"}
|