@kitware/vtk.js 24.5.2 → 24.5.5
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/Common/DataModel/DataSetAttributes/FieldData.d.ts +3 -1
- package/Rendering/Core/RenderWindowInteractor.d.ts +123 -109
- package/Rendering/Core/ScalarBarActor.js +2 -2
- package/Rendering/OpenGL/OrderIndependentTranslucentPass.js +5 -1
- package/Rendering/OpenGL/RenderWindow.d.ts +1 -1
- package/Rendering/OpenGL/VolumeMapper.js +1 -1
- package/Rendering/SceneGraph/ViewNode.js +28 -2
- package/Rendering/WebGPU/BufferManager.js +83 -14
- package/Rendering/WebGPU/CellArrayMapper.js +591 -0
- package/Rendering/WebGPU/Device.js +97 -57
- package/Rendering/WebGPU/FullScreenQuad.js +4 -6
- package/Rendering/WebGPU/Glyph3DMapper.js +62 -27
- package/Rendering/WebGPU/ImageMapper.js +23 -64
- package/Rendering/WebGPU/OrderIndependentTranslucentPass.js +4 -6
- package/Rendering/WebGPU/Pipeline.js +12 -0
- package/Rendering/WebGPU/PolyDataMapper.js +49 -623
- package/Rendering/WebGPU/RenderEncoder.js +34 -0
- package/Rendering/WebGPU/Renderer.js +4 -62
- package/Rendering/WebGPU/ShaderDescription.js +6 -6
- package/Rendering/WebGPU/{MapperHelper.js → SimpleMapper.js} +64 -38
- package/Rendering/WebGPU/SphereMapper.js +66 -64
- package/Rendering/WebGPU/StickMapper.js +73 -72
- package/Rendering/WebGPU/StorageBuffer.js +2 -3
- package/Rendering/WebGPU/Texture.js +0 -2
- package/Rendering/WebGPU/TextureManager.js +37 -7
- package/Rendering/WebGPU/UniformBuffer.js +1 -2
- package/Rendering/WebGPU/Volume.js +1 -14
- package/Rendering/WebGPU/VolumePass.js +16 -22
- package/Rendering/WebGPU/VolumePassFSQ.js +19 -29
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { newInstance as newInstance$1, obj, setGet, newTypedArray, vtkDebugMacro as vtkDebugMacro$1 } from '../../macros.js';
|
|
2
|
+
import { newInstance as newInstance$1, obj, setGet, vtkErrorMacro as vtkErrorMacro$1, newTypedArray, vtkDebugMacro as vtkDebugMacro$1 } from '../../macros.js';
|
|
3
3
|
import { j as cross, l as normalize } from '../../Common/Core/Math/index.js';
|
|
4
|
+
import vtkDataArray from '../../Common/Core/DataArray.js';
|
|
4
5
|
import vtkWebGPUBuffer from './Buffer.js';
|
|
5
6
|
import vtkWebGPUTypes from './Types.js';
|
|
6
7
|
import vtkProperty from '../Core/Property.js';
|
|
@@ -12,7 +13,9 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
12
13
|
var BufferUsage = Constants.BufferUsage,
|
|
13
14
|
PrimitiveTypes = Constants.PrimitiveTypes;
|
|
14
15
|
var Representation = vtkProperty.Representation;
|
|
15
|
-
var vtkDebugMacro = vtkDebugMacro$1
|
|
16
|
+
var vtkDebugMacro = vtkDebugMacro$1,
|
|
17
|
+
vtkErrorMacro = vtkErrorMacro$1;
|
|
18
|
+
var VtkDataTypes = vtkDataArray.VtkDataTypes; // the webgpu constants all show up as undefined
|
|
16
19
|
|
|
17
20
|
/* eslint-disable no-undef */
|
|
18
21
|
// ----------------------------------------------------------------------------
|
|
@@ -62,6 +65,65 @@ var cellCounters = {
|
|
|
62
65
|
}
|
|
63
66
|
};
|
|
64
67
|
|
|
68
|
+
function _getFormatForDataArray(dataArray) {
|
|
69
|
+
var format;
|
|
70
|
+
|
|
71
|
+
switch (dataArray.getDataType()) {
|
|
72
|
+
case VtkDataTypes.UNSIGNED_CHAR:
|
|
73
|
+
format = 'uint8';
|
|
74
|
+
break;
|
|
75
|
+
|
|
76
|
+
case VtkDataTypes.FLOAT:
|
|
77
|
+
format = 'float32';
|
|
78
|
+
break;
|
|
79
|
+
|
|
80
|
+
case VtkDataTypes.UNSIGNED_INT:
|
|
81
|
+
format = 'uint32';
|
|
82
|
+
break;
|
|
83
|
+
|
|
84
|
+
case VtkDataTypes.INT:
|
|
85
|
+
format = 'sint32';
|
|
86
|
+
break;
|
|
87
|
+
|
|
88
|
+
case VtkDataTypes.DOUBLE:
|
|
89
|
+
format = 'float32';
|
|
90
|
+
break;
|
|
91
|
+
|
|
92
|
+
case VtkDataTypes.UNSIGNED_SHORT:
|
|
93
|
+
format = 'uint16';
|
|
94
|
+
break;
|
|
95
|
+
|
|
96
|
+
case VtkDataTypes.SHORT:
|
|
97
|
+
format = 'sin16';
|
|
98
|
+
break;
|
|
99
|
+
|
|
100
|
+
default:
|
|
101
|
+
format = 'float32';
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
switch (dataArray.getNumberOfComponents()) {
|
|
106
|
+
case 2:
|
|
107
|
+
format += 'x2';
|
|
108
|
+
break;
|
|
109
|
+
|
|
110
|
+
case 3:
|
|
111
|
+
// only 32bit types support x3
|
|
112
|
+
if (!format.contains('32')) {
|
|
113
|
+
vtkErrorMacro("unsupported x3 type for ".concat(format));
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
format += 'x3';
|
|
117
|
+
break;
|
|
118
|
+
|
|
119
|
+
case 4:
|
|
120
|
+
format += 'x4';
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return format;
|
|
125
|
+
}
|
|
126
|
+
|
|
65
127
|
function getPrimitiveName(primType) {
|
|
66
128
|
switch (primType) {
|
|
67
129
|
case PrimitiveTypes.Points:
|
|
@@ -443,27 +505,34 @@ function vtkWebGPUBufferManager(publicAPI, model) {
|
|
|
443
505
|
} // is the buffer already present?
|
|
444
506
|
|
|
445
507
|
|
|
446
|
-
publicAPI.hasBuffer = function (
|
|
447
|
-
|
|
448
|
-
// if a matching buffer already exists then return true
|
|
449
|
-
var hash = req.time + req.format + req.usage + req.hash;
|
|
450
|
-
return model.device.hasCachedObject(req.owner, hash);
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
return false;
|
|
508
|
+
publicAPI.hasBuffer = function (hash) {
|
|
509
|
+
return model.device.hasCachedObject(hash);
|
|
454
510
|
};
|
|
455
511
|
|
|
456
512
|
publicAPI.getBuffer = function (req) {
|
|
457
513
|
// if we have a source the get/create/cache the buffer
|
|
458
|
-
if (req.
|
|
459
|
-
|
|
460
|
-
var hash = req.time + req.format + req.usage + req.hash;
|
|
461
|
-
return model.device.getCachedObject(req.owner, hash, _createBuffer, req);
|
|
514
|
+
if (req.hash) {
|
|
515
|
+
return model.device.getCachedObject(req.hash, _createBuffer, req);
|
|
462
516
|
}
|
|
463
517
|
|
|
464
518
|
return _createBuffer(req);
|
|
465
519
|
};
|
|
466
520
|
|
|
521
|
+
publicAPI.getBufferForPointArray = function (dataArray, cells, primitiveType, representation) {
|
|
522
|
+
var format = _getFormatForDataArray(dataArray);
|
|
523
|
+
|
|
524
|
+
var buffRequest = {
|
|
525
|
+
hash: "PA".concat(representation, "P").concat(primitiveType, "D").concat(dataArray.getMTime(), "C").concat(cells.getMTime()).concat(format),
|
|
526
|
+
usage: BufferUsage.PointArray,
|
|
527
|
+
format: format,
|
|
528
|
+
dataArray: dataArray,
|
|
529
|
+
cells: cells,
|
|
530
|
+
primitiveType: primitiveType,
|
|
531
|
+
representation: representation
|
|
532
|
+
};
|
|
533
|
+
return publicAPI.getBuffer(buffRequest);
|
|
534
|
+
};
|
|
535
|
+
|
|
467
536
|
publicAPI.getFullScreenQuadBuffer = function () {
|
|
468
537
|
if (model.fullScreenQuadBuffer) {
|
|
469
538
|
return model.fullScreenQuadBuffer;
|