UNPKG

@thewtex/vtk.js-esm

Version:

Visualization Toolkit for the Web

50 lines (35 loc) 1.69 kB
import macro from '../../macro.js'; // vtkWebGPUShaderModule methods // ---------------------------------------------------------------------------- function vtkWebGPUShaderModule(publicAPI, model) { // Set our className model.classHierarchy.push('vtkWebGPUShaderModule'); publicAPI.initialize = function (device, shaderDesc) { model.device = device; // console.log(shaderDesc.getCode()); model.handle = model.device.getHandle().createShaderModule({ code: shaderDesc.getCode() }); }; // publicAPI.setLastCameraMTime = (mtime) => { // model.lastCameraMTime = mtime; // }; } // ---------------------------------------------------------------------------- // Object factory // ---------------------------------------------------------------------------- var DEFAULT_VALUES = { device: null, handle: null }; // ---------------------------------------------------------------------------- function extend(publicAPI, model) { var initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; Object.assign(model, DEFAULT_VALUES, initialValues); // Build VTK API macro.obj(publicAPI, model); macro.get(publicAPI, model, ['lastCameraMTime']); macro.setGet(publicAPI, model, ['device', 'handle']); // Object methods vtkWebGPUShaderModule(publicAPI, model); } // ---------------------------------------------------------------------------- var newInstance = macro.newInstance(extend, 'vtkWebGPUShaderModule'); // ---------------------------------------------------------------------------- var vtkWebGPUShaderModule$1 = { newInstance: newInstance, extend: extend }; export default vtkWebGPUShaderModule$1;