@awayjs/stage
Version:
Stage for AwayJS
32 lines • 1.42 kB
TypeScript
import { IVertexBuffer } from '../base/IVertexBuffer';
import { IUnloadable } from '../managers/UnloadManager';
import { BufferPool } from './BufferPool';
import { ContextWebGL } from './ContextWebGL';
type TTypedArray = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Float32Array;
export declare class VertexBufferWebGL implements IVertexBuffer, IUnloadable {
private _context;
private static _pool;
static get pool(): BufferPool<VertexBufferWebGL>;
static create(context: ContextWebGL, numVertices: number, dataPerVertex: number): VertexBufferWebGL;
private _gl;
private _numVertices;
private _dataPerVertex;
private _buffer;
private _lastMemoryUsage;
instanced: boolean;
dynamic: boolean;
lastUsedTime: number;
canUnload: boolean;
constructor(_context: ContextWebGL, numVertices: number, dataPerVertex: number);
initAsDynamic(numVertices?: number): void;
uploadFromArray(array: TTypedArray, startVertex?: number, _numVertices?: number): void;
uploadFromByteArray(data: TTypedArray, startVertex: number, _numVertices: number): void;
get numVertices(): number;
get dataPerVertex(): number;
get glBuffer(): WebGLBuffer;
dispose(): void;
apply(_gl: WebGLRenderingContext, numVertices: number, dataPerVertex: number): void;
unload(): void;
}
export {};
//# sourceMappingURL=VertexBufferWebGL.d.ts.map