/** * additional import for TypeScript * @import {Point} from "./../../../geometries/point.ts"; */ /** * The WebGPU primitive batcher — shape geometry accumulation with the same * frozen 24-byte vertex layout and CPU tessellation as the WebGL * `PrimitiveBatcher`, addressed purely in the portable topology vocabulary. * * `uLineWidth` lives in the shared frame-globals uniform block: a width * change flushes pending vertices and pushes a fresh dynamic-offset slot, * replacing the per-program uniform of the GL backend. * * The two non-portable engine topologies are emulated in this front end, * as `PORTABLE_TOPOLOGIES` documents: `"line-loop"` draws as a strip with * an explicit closing vertex, `"triangle-fan"` re-expands on the CPU into * a triangle list. No engine path emits either — they only serve direct * user calls. * @augments WebGPUBatcher * @category Rendering */ export default class WebGPUPrimitiveBatcher extends WebGPUBatcher { /** * @param {import("../webgpu_renderer.js").default} renderer - the owning renderer * @override */ override init(renderer: import("../webgpu_renderer.js").default, settings: any): void; /** * Draw an array of vertices with the given topology. * @param {string} topology - portable topology name ("point-list", "line-list", "line-strip", "triangle-list", "triangle-strip"; "line-loop" and "triangle-fan" are emulated) * @param {Point[]} verts - an array of vertices * @param {number} [vertexCount=verts.length] - amount of points defined in the points array */ drawVertices(topology: string, verts: Point[], vertexCount?: number): void; #private; } import WebGPUBatcher from "./webgpu_batcher.js"; import type { Point } from "./../../../geometries/point.ts"; //# sourceMappingURL=primitive_batcher.d.ts.map