import type { DepthBuffer } from "../framebuffer/DepthBuffer.ts"; import type { TriangleBuffer } from "../TriangleBuffer.ts"; interface TextureData { data: Uint8ClampedArray; width: number; height: number; } interface MaterialMap { data: TextureData; brightnessLevels?: Uint8ClampedArray[]; wrapS?: number; wrapT?: number; } interface RasterMaterial { wireframe?: boolean; points?: boolean; pointRadius?: number; color?: { r: number; g: number; b: number; }; map?: MaterialMap; opacity?: number; transparent?: boolean; depthTest?: boolean; depthWrite?: boolean; } interface RasterDrawCall { triangles: TriangleBuffer; material: RasterMaterial; shadedColorData?: Float32Array; shadedColorStride?: number; } interface RasterFramebuffer { width: number; height: number; depthBuffer: DepthBuffer; u32: Uint32Array; } /** Scanline triangle rasterizer with texture sampling and shading. */ export declare class Rasterizer { #private; /** Rasterizes a draw call to the framebuffer by dispatching to the appropriate sub-rasterizer. */ rasterize(drawCall: RasterDrawCall, framebuffer: RasterFramebuffer, _colorTable: unknown, fogColor?: { r: number; g: number; b: number; }): void; } export {}; //# sourceMappingURL=Rasterizer.d.ts.map