///
import { IBuffer } from './IBuffer';
import { BufferData } from './IRendererService';
export interface IAttributeInitializationOptions {
buffer: IBuffer;
/**
* vertexAttribPointer 单位为 byte,默认值均为 0
*/
offset?: number;
stride?: number;
/**
* 每个顶点数据块大小,取值范围为 [1..4]
*/
size?: number;
/**
* 是否需要归一化 [-1,1] 或者 [0,1],默认值 false
*/
normalized?: boolean;
/**
* gl.vertexAttribDivisorANGLE,自动开启 ANGLE_instanced_arrays 扩展
*/
divisor?: number;
/**
* WebGPU
*/
arrayStride?: number;
stepMode?: GPUInputStepMode;
attributes?: Iterable;
}
export interface IAttribute {
updateBuffer(options: {
data: BufferData;
offset: number;
}): void;
destroy(): void;
}