@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
36 lines • 1.29 kB
TypeScript
import { TgdBuffer } from "../buffer";
import type { TgdDataset } from "../dataset";
import type { TgdProgram } from "../program";
import type { TgdTypeArrayForElements } from "../types";
export declare class TgdVertexArray {
readonly gl: WebGL2RenderingContext;
private readonly program?;
private readonly datasets?;
private elements?;
readonly vao: WebGLVertexArrayObject;
private readonly drawBuffers;
private readonly elemBuffer;
private readonly buffersToDelete;
/**
* Number of owners that share this VAO.
*/
private ownersCount;
constructor(gl: WebGL2RenderingContext, program?: TgdProgram | undefined, datasets?: Readonly<TgdDataset>[] | undefined, elements?: TgdTypeArrayForElements | undefined);
share(): void;
/**
* When you change the data of a dataset,
* you must call this function to update the VAO.
* Because datasets do not own any buffer.
*/
updateDataset(dataset: TgdDataset): boolean;
updateElements(elements: number[]): void;
getBuffer(index: number): TgdBuffer | undefined;
toCode({ indent }?: Partial<{
indent: string;
}>): string;
debug(caption?: string): void;
bind(): void;
unbind(): void;
delete(): void;
}
//# sourceMappingURL=vao.d.ts.map