export class Immediate { constructor(device: any); device: any; cubeLocalPos: any; cubeWorldPos: any; batchesMap: Map; allBatches: Set; lineWriter: LineWriter; _materialDepth: ShaderMaterial; _materialNoDepth: ShaderMaterial; createMaterial(depthTest: any): ShaderMaterial; get materialDepth(): ShaderMaterial; get materialNoDepth(): ShaderMaterial; getBatch(layer: any, depthTest: any): any; /** * Allocates space for exactly `vertexCount` line vertices and returns a cursor positioned at * the start of it, letting a caller generate lines straight into the batch instead of building * an array to be copied in. * * The space is accounted for immediately, so the caller must fill all of it. The cursor is a * single reused instance and is only valid until the next allocation - use it inside the * function that writes the data, and do not keep hold of it. For the same reason an allocation * must not straddle rendering, as the batch may be submitted while it is still being written. * * @param {number} vertexCount - The number of vertices to allocate. Two vertices per segment. * @param {import('../../core/math/color.js').Color} color - The color used by * {@link LineWriter#segment}. * @param {boolean} depthTest - Whether the lines are depth tested. * @param {import('../layer.js').Layer} layer - The layer to render the lines into. * @returns {LineWriter} The cursor to write the vertices with. * @ignore */ allocateLines(vertexCount: number, color: import("../../core/math/color.js").Color, depthTest: boolean, layer: import("../layer.js").Layer): LineWriter; drawWireAlignedBox(min: any, max: any, color: any, depthTest: any, layer: any, mat: any): void; drawWireSphere(center: any, radius: any, color: any, numSegments: any, depthTest: any, layer: any): void; onPreRenderLayer(layer: any, visibleList: any, transparent: any): void; onPostRender(): void; } import { LineWriter } from './line-writer.js'; import { ShaderMaterial } from '../materials/shader-material.js';