/** * Copyright (c) 2024 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'; export type EmissiveType = 'instance' | 'groupInstance' | 'volumeInstance'; export type EmissiveData = { tEmissive: ValueCell>; uEmissiveTexDim: ValueCell; dEmissive: ValueCell; emissiveAverage: ValueCell; tEmissiveGrid: ValueCell; uEmissiveGridDim: ValueCell; uEmissiveGridTransform: ValueCell; dEmissiveType: ValueCell; uEmissiveStrength: ValueCell; }; export declare function applyEmissiveValue(array: Uint8Array, start: number, end: number, value: number): boolean; export declare function getEmissiveAverage(array: Uint8Array, count: number): number; export declare function clearEmissive(array: Uint8Array, start: number, end: number): void; export declare function createEmissive(count: number, type: EmissiveType, emissiveData?: EmissiveData): EmissiveData; export declare function createEmptyEmissive(emissiveData?: EmissiveData): EmissiveData;