@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
71 lines (70 loc) • 2.49 kB
TypeScript
/**
* A uniform buffer represents a GPU memory buffer storing the uniforms.
*
* @ignore
*/
export class UniformBuffer {
/**
* Create a new UniformBuffer instance.
*
* @param {import('./graphics-device.js').GraphicsDevice} graphicsDevice - The graphics device
* used to manage this uniform buffer.
* @param {import('./uniform-buffer-format.js').UniformBufferFormat} format - Format of the
* uniform buffer.
* @param {boolean} [persistent] - Whether the buffer is persistent. Defaults to true.
*/
constructor(graphicsDevice: import("./graphics-device.js").GraphicsDevice, format: import("./uniform-buffer-format.js").UniformBufferFormat, persistent?: boolean);
device: import("./graphics-device.js").GraphicsDevice;
/** @type {boolean} */
persistent: boolean;
/** @type {DynamicBufferAllocation} */
allocation: DynamicBufferAllocation;
/** @type {Float32Array} */
storageFloat32: Float32Array;
/** @type {Int32Array} */
storageInt32: Int32Array;
/** @type {Uint32Array} */
storageUint32: Uint32Array;
/**
* A render version used to track the last time the properties requiring bind group to be
* updated were changed.
*
* @type {number}
*/
renderVersionDirty: number;
format: import("./uniform-buffer-format.js").UniformBufferFormat;
impl: any;
/**
* Frees resources associated with this uniform buffer.
*/
destroy(): void;
get offset(): number;
/**
* Assign a storage to this uniform buffer.
*
* @param {Int32Array} storage - The storage to assign to this uniform buffer.
*/
assignStorage(storage: Int32Array): void;
/**
* Called when the rendering context was lost. It releases all context related resources.
*
* @ignore
*/
loseContext(): void;
/**
* Assign a value to the uniform specified by its format. This is the fast version of assigning
* a value to a uniform, avoiding any lookups.
*
* @param {import('./uniform-buffer-format.js').UniformFormat} uniformFormat - The format of
* the uniform.
*/
setUniform(uniformFormat: import("./uniform-buffer-format.js").UniformFormat): void;
/**
* Assign a value to the uniform specified by name.
*
* @param {string} name - The name of the uniform.
*/
set(name: string): void;
update(): void;
}
import { DynamicBufferAllocation } from './dynamic-buffers.js';