@pixi/core
Version:
Core PixiJS
37 lines (36 loc) • 2.03 kB
JavaScript
import { TYPES } from "@pixi/constants";
class Attribute {
/**
* @param buffer - the id of the buffer that this attribute will look for
* @param size - the size of the attribute. If you have 2 floats per vertex (eg position x and y) this would be 2.
* @param normalized - should the data be normalized.
* @param {PIXI.TYPES} [type=PIXI.TYPES.FLOAT] - what type of number is the attribute. Check {@link PIXI.TYPES} to see the ones available
* @param [stride=0] - How far apart, in bytes, the start of each value is. (used for interleaving data)
* @param [start=0] - How far into the array to start reading values (used for interleaving data)
* @param [instance=false] - Whether the geometry is instanced.
* @param [divisor=1] - Divisor to use when doing instanced rendering
*/
constructor(buffer, size = 0, normalized = !1, type = TYPES.FLOAT, stride, start, instance, divisor = 1) {
this.buffer = buffer, this.size = size, this.normalized = normalized, this.type = type, this.stride = stride, this.start = start, this.instance = instance, this.divisor = divisor;
}
/** Destroys the Attribute. */
destroy() {
this.buffer = null;
}
/**
* Helper function that creates an Attribute based on the information provided
* @param buffer - the id of the buffer that this attribute will look for
* @param [size=0] - the size of the attribute. If you have 2 floats per vertex (eg position x and y) this would be 2
* @param [normalized=false] - should the data be normalized.
* @param [type=PIXI.TYPES.FLOAT] - what type of number is the attribute. Check {@link PIXI.TYPES} to see the ones available
* @param [stride=0] - How far apart, in bytes, the start of each value is. (used for interleaving data)
* @returns - A new {@link PIXI.Attribute} based on the information provided
*/
static from(buffer, size, normalized, type, stride) {
return new Attribute(buffer, size, normalized, type, stride);
}
}
export {
Attribute
};
//# sourceMappingURL=Attribute.mjs.map