import type { IFramebuffer, IModel, IModelUniform, IRenderOptions, ITexture2D } from '@antv/l7-core'; import BaseModel from '../../core/BaseModel'; export default class HeatMapModel extends BaseModel { protected get attributeLocation(): { readonly POSITION: 0; readonly POSITION_64LOW: 1; readonly COLOR: 2; readonly PICKING_COLOR: 3; readonly STROKE: 4; readonly OPACITY: 5; readonly OFFSETS: 6; readonly ROTATION: 7; readonly MAX: 8; } & Record & { MAX: 8; SIZE: number; UV: number; DIR: number; }; protected texture: ITexture2D; protected colorTexture: ITexture2D; protected heatmapFramerBuffer: IFramebuffer; protected heatmapTexture: ITexture2D; private intensityModel; private colorModel; private shapeType; private preRampColors; private colorModelUniformBuffer; private heat3DModelUniformBuffer; prerender(): void; render(options: Partial): void; getUninforms(): IModelUniform; initModels(): Promise; buildModels(): Promise; protected registerBuiltinAttributes(): void; /** * 热力图密度图 */ private buildHeatMapIntensity; private buildHeatmap; private build3dHeatMap; private drawIntensityMode; private drawHeatMap; private draw3DHeatMap; private updateColorTexture; }