molstar
Version:
A comprehensive macromolecular library.
41 lines • 1.77 kB
JavaScript
/**
* Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.createComputeRenderable = exports.createRenderable = void 0;
var mol_util_1 = require("../mol-util");
var id_factory_1 = require("../mol-util/id-factory");
var interpolate_1 = require("../mol-math/interpolate");
var getNextRenderableId = (0, id_factory_1.idFactory)();
function createRenderable(renderItem, values, state) {
return {
id: getNextRenderableId(),
materialId: renderItem.materialId,
values: values,
state: state,
render: function (variant, sharedTexturesList) {
if (values.uAlpha && values.alpha) {
mol_util_1.ValueCell.updateIfChanged(values.uAlpha, (0, interpolate_1.clamp)(values.alpha.ref.value * state.alphaFactor, 0, 1));
}
renderItem.render(variant, sharedTexturesList);
},
getProgram: function (variant) { return renderItem.getProgram(variant); },
update: function () { return renderItem.update(); },
dispose: function () { return renderItem.destroy(); }
};
}
exports.createRenderable = createRenderable;
function createComputeRenderable(renderItem, values) {
return {
id: getNextRenderableId(),
values: values,
render: function () { return renderItem.render('compute'); },
update: function () { return renderItem.update(); },
dispose: function () { return renderItem.destroy(); }
};
}
exports.createComputeRenderable = createComputeRenderable;
//# sourceMappingURL=renderable.js.map
;