@luma.gl/webgl 9.0.0-alpha.21 → 9.0.0-alpha.24
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 +9 -9
- 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/texture-formats.d.ts +29 -40
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +152 -114
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +1 -1
- package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +1 -1
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-info.js.map +1 -1
- package/dist/adapter/helpers/uniforms.d.ts +7 -8
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
- package/dist/adapter/helpers/uniforms.js +4 -4
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts +0 -2
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +0 -20
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +12 -9
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +29 -19
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +0 -1
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +4 -7
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +3 -2
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +13 -7
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +168 -25
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -2
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +6 -2
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +11 -14
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +29 -79
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +16 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +80 -0
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +5 -5
- 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-texture.d.ts +43 -23
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +32 -30
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts +1 -2
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +13 -6
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +20 -2
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/buffer.d.ts +1 -2
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +0 -6
- package/dist/classic/buffer.js.map +1 -1
- package/dist/classic/clear.d.ts +22 -0
- package/dist/classic/clear.d.ts.map +1 -0
- package/dist/classic/clear.js +88 -0
- package/dist/classic/clear.js.map +1 -0
- package/dist/classic/copy-and-blit.d.ts +45 -0
- package/dist/classic/copy-and-blit.d.ts.map +1 -0
- package/dist/classic/copy-and-blit.js +136 -0
- package/dist/classic/copy-and-blit.js.map +1 -0
- package/dist/classic/format-utils.d.ts +3 -0
- package/dist/classic/format-utils.d.ts.map +1 -0
- package/dist/classic/format-utils.js +38 -0
- package/dist/classic/format-utils.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +15 -17
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +1 -1
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +17 -19
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +4 -4
- package/dist/context/context/create-browser-context.js.map +1 -1
- package/dist/context/context/create-headless-context.d.ts +1 -1
- package/dist/context/context/create-headless-context.d.ts.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -3
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +2 -3
- 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/dist.dev.js +1306 -659
- package/dist/index.cjs +1269 -897
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist.min.js +22 -21
- package/package.json +7 -4
- package/src/adapter/converters/device-parameters.ts +46 -22
- package/src/adapter/converters/sampler-parameters.ts +1 -2
- package/src/adapter/converters/texture-formats.ts +242 -161
- package/src/adapter/helpers/attribute-utils.ts +1 -2
- package/src/adapter/helpers/get-shader-info.ts +3 -0
- package/src/adapter/helpers/uniforms.ts +9 -10
- package/src/adapter/objects/constants-to-keys.ts +0 -25
- package/src/adapter/objects/webgl-renderbuffer.ts +32 -29
- package/src/adapter/objects/webgl-resource.ts +4 -8
- package/src/adapter/resources/webgl-buffer.ts +4 -5
- package/src/adapter/resources/webgl-command-buffer.ts +328 -21
- package/src/adapter/resources/webgl-command-encoder.ts +7 -2
- package/src/adapter/resources/webgl-framebuffer.ts +63 -111
- package/src/adapter/resources/webgl-render-pass.ts +146 -2
- package/src/adapter/resources/webgl-render-pipeline.ts +7 -4
- package/src/adapter/resources/webgl-sampler.ts +1 -2
- package/src/adapter/resources/webgl-texture.ts +61 -43
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +37 -8
- package/src/classic/buffer.ts +3 -3
- package/src/classic/clear.ts +110 -0
- package/src/classic/copy-and-blit.ts +189 -0
- package/src/classic/format-utils.ts +43 -0
- package/src/classic/typed-array-utils.ts +15 -26
- package/src/context/context/create-browser-context.ts +37 -30
- package/src/context/parameters/unified-parameter-api.ts +1 -1
- package/src/context/parameters/webgl-parameter-tables.ts +2 -2
- package/src/index.ts +10 -3
- package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js +0 -180
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/types/webgl.d.ts +0 -145
- package/dist/types/webgl.d.ts.map +0 -1
- package/dist/types/webgl.js +0 -2
- package/dist/types/webgl.js.map +0 -1
- package/src/.DS_Store +0 -0
- package/src/adapter/.DS_Store +0 -0
- package/src/adapter/converters/renderbuffer-formats.ts +0 -90
- package/src/context/.DS_Store +0 -0
- package/src/types/webgl.ts +0 -286
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luma.gl/webgl",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.24",
|
|
4
4
|
"description": "WebGL2 adapter for the luma.gl API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,9 +44,12 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@babel/runtime": "^7.0.0",
|
|
47
|
-
"@luma.gl/api": "9.0.0-alpha.
|
|
48
|
-
"@luma.gl/constants": "9.0.0-alpha.
|
|
47
|
+
"@luma.gl/api": "9.0.0-alpha.24",
|
|
48
|
+
"@luma.gl/constants": "9.0.0-alpha.24",
|
|
49
49
|
"@probe.gl/env": "^4.0.2"
|
|
50
50
|
},
|
|
51
|
-
"
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@luma.gl/test-utils": "9.0.0-alpha.24"
|
|
53
|
+
},
|
|
54
|
+
"gitHead": "3707968c288edbfef7ab4060195493ca8f00e7d5"
|
|
52
55
|
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Device,
|
|
3
|
+
Parameters,
|
|
4
|
+
CompareFunction,
|
|
5
|
+
StencilOperation,
|
|
6
|
+
log,
|
|
7
|
+
isObjectEmpty
|
|
8
|
+
} from '@luma.gl/api';
|
|
2
9
|
import GL from '@luma.gl/constants';
|
|
3
|
-
import type {
|
|
10
|
+
import type {GLParameters} from '@luma.gl/constants';
|
|
4
11
|
import {pushContextState, popContextState} from '../../context/state-tracker/track-context-state';
|
|
5
12
|
import {setParameters} from '../../context/parameters/unified-parameter-api';
|
|
6
13
|
import {WebGLDevice} from '../webgl-device';
|
|
@@ -16,7 +23,11 @@ import {WebGLDevice} from '../webgl-device';
|
|
|
16
23
|
* - Returns the return value of the supplied function
|
|
17
24
|
* @deprecated use withDeviceParameters instead
|
|
18
25
|
*/
|
|
19
|
-
export function withGLParameters<T = unknown>(
|
|
26
|
+
export function withGLParameters<T = unknown>(
|
|
27
|
+
device: Device,
|
|
28
|
+
parameters: GLParameters,
|
|
29
|
+
func: (device?: Device) => T
|
|
30
|
+
): T {
|
|
20
31
|
if (isObjectEmpty(parameters)) {
|
|
21
32
|
// Avoid setting state if no parameters provided. Just call and return
|
|
22
33
|
return func(device);
|
|
@@ -42,7 +53,11 @@ export function withGLParameters<T = unknown>(device: Device, parameters: GLPara
|
|
|
42
53
|
* - Restores parameters
|
|
43
54
|
* - Returns the return value of the supplied function
|
|
44
55
|
*/
|
|
45
|
-
export function withDeviceParameters<T = unknown>(
|
|
56
|
+
export function withDeviceParameters<T = unknown>(
|
|
57
|
+
device: Device,
|
|
58
|
+
parameters: Parameters,
|
|
59
|
+
func: (device?: Device) => T
|
|
60
|
+
): T {
|
|
46
61
|
if (isObjectEmpty(parameters)) {
|
|
47
62
|
// Avoid setting state if no parameters provided. Just call and return
|
|
48
63
|
return func(device);
|
|
@@ -60,7 +75,6 @@ export function withDeviceParameters<T = unknown>(device: Device, parameters: Pa
|
|
|
60
75
|
}
|
|
61
76
|
}
|
|
62
77
|
|
|
63
|
-
|
|
64
78
|
/** Set WebGPU Style Parameters */
|
|
65
79
|
export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
66
80
|
const webglDevice = WebGLDevice.attach(device);
|
|
@@ -84,10 +98,12 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
84
98
|
}
|
|
85
99
|
|
|
86
100
|
if (parameters.frontFace) {
|
|
87
|
-
gl.frontFace(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
101
|
+
gl.frontFace(
|
|
102
|
+
map('frontFace', parameters.frontFace, {
|
|
103
|
+
ccw: GL.CCW,
|
|
104
|
+
cw: GL.CW
|
|
105
|
+
})
|
|
106
|
+
);
|
|
91
107
|
}
|
|
92
108
|
|
|
93
109
|
if (parameters.depthBias !== undefined) {
|
|
@@ -105,7 +121,6 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
105
121
|
}
|
|
106
122
|
|
|
107
123
|
if (parameters.depthCompare) {
|
|
108
|
-
|
|
109
124
|
parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
|
|
110
125
|
gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
|
|
111
126
|
}
|
|
@@ -125,15 +140,24 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
125
140
|
const mask = parameters.stencilReadMask || 0xffffffff;
|
|
126
141
|
const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
|
|
127
142
|
// TODO - ensure back doesn't overwrite
|
|
128
|
-
parameters.stencilCompare !== 'always'
|
|
143
|
+
parameters.stencilCompare !== 'always'
|
|
144
|
+
? gl.enable(GL.STENCIL_TEST)
|
|
145
|
+
: gl.disable(GL.STENCIL_TEST);
|
|
129
146
|
gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
|
|
130
147
|
gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
|
|
131
148
|
}
|
|
132
149
|
|
|
133
|
-
if (
|
|
150
|
+
if (
|
|
151
|
+
parameters.stencilPassOperation &&
|
|
152
|
+
parameters.stencilFailOperation &&
|
|
153
|
+
parameters.stencilDepthFailOperation
|
|
154
|
+
) {
|
|
134
155
|
const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
|
|
135
156
|
const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
|
|
136
|
-
const dpfail = convertStencilOperation(
|
|
157
|
+
const dpfail = convertStencilOperation(
|
|
158
|
+
'stencilDepthFailOperation',
|
|
159
|
+
parameters.stencilDepthFailOperation
|
|
160
|
+
);
|
|
137
161
|
gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);
|
|
138
162
|
gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);
|
|
139
163
|
}
|
|
@@ -190,14 +214,14 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
190
214
|
|
|
191
215
|
export function convertCompareFunction(parameter: string, value: CompareFunction): GL {
|
|
192
216
|
return map(parameter, value, {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
217
|
+
never: GL.NEVER,
|
|
218
|
+
less: GL.LESS,
|
|
219
|
+
equal: GL.EQUAL,
|
|
196
220
|
'less-equal': GL.LEQUAL,
|
|
197
|
-
|
|
221
|
+
greater: GL.GREATER,
|
|
198
222
|
'not-equal': GL.NOTEQUAL,
|
|
199
223
|
'greater-equal': GL.GEQUAL,
|
|
200
|
-
|
|
224
|
+
always: GL.ALWAYS
|
|
201
225
|
});
|
|
202
226
|
}
|
|
203
227
|
|
|
@@ -216,10 +240,10 @@ export function convertToCompareFunction(parameter: string, value: GL): CompareF
|
|
|
216
240
|
|
|
217
241
|
function convertStencilOperation(parameter: string, value: StencilOperation): GL {
|
|
218
242
|
return map(parameter, value, {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
243
|
+
keep: GL.KEEP,
|
|
244
|
+
zero: GL.ZERO,
|
|
245
|
+
replace: GL.REPLACE,
|
|
246
|
+
invert: GL.INVERT,
|
|
223
247
|
'increment-clamp': GL.INCR,
|
|
224
248
|
'decrement-clamp': GL.DECR,
|
|
225
249
|
'increment-wrap': GL.INCR_WRAP,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// SAMPLER FILTERS
|
|
2
2
|
import {SamplerParameters} from '@luma.gl/api';
|
|
3
|
-
import GL from '@luma.gl/constants';
|
|
4
|
-
import {GLSamplerParameters} from '../../types/webgl';
|
|
3
|
+
import {GL, GLSamplerParameters} from '@luma.gl/constants';
|
|
5
4
|
import {convertCompareFunction, convertToCompareFunction} from './device-parameters';
|
|
6
5
|
|
|
7
6
|
/* eslint-disable consistent-return */
|