/** * Copyright (c) 2021-2022 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { ValueCell } from '../../mol-util/value-cell.js'; import { Vec2, Vec3, Vec4 } from '../../mol-math/linear-algebra.js'; import { TextureImage } from '../../mol-gl/renderable/util.js'; import { Texture } from '../../mol-gl/webgl/texture.js'; import { Material } from '../../mol-util/material.js'; export type SubstanceType = 'instance' | 'groupInstance' | 'volumeInstance'; export type SubstanceData = { tSubstance: ValueCell>; uSubstanceTexDim: ValueCell; dSubstance: ValueCell; tSubstanceGrid: ValueCell; uSubstanceGridDim: ValueCell; uSubstanceGridTransform: ValueCell; dSubstanceType: ValueCell; uSubstanceStrength: ValueCell; }; export declare function applySubstanceMaterial(array: Uint8Array, start: number, end: number, material: Material): boolean; export declare function clearSubstance(array: Uint8Array, start: number, end: number): boolean; export declare function createSubstance(count: number, type: SubstanceType, substanceData?: SubstanceData): SubstanceData; export declare function createEmptySubstance(substanceData?: SubstanceData): SubstanceData;