/
githubmirror
/
pixijs
Обзор
Документация
Войти
/
githubmirror
/
pixijs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
src/rendering/renderers/shared/geometry/utils/ensureIsBuffer.ts
46 строк
1 KB
Zyie
chore: add standard/advanced tags to documentation (#11448)
03 июн 2025, 10:12
Не верифицирован
03 июн 2025, 10:12
7d91234
Код
Авторство
О чём код?
import { Buffer } from '../../buffer/Buffer'; import { BufferUsage } from '../../buffer/const'; import type { TypedArray } from '../../buffer/Buffer'; /** * Converts something into a buffer. If it is already a buffer it will pass it through * if it is a number array it will convert it to a float32 array before being passed into a buffer * the buffer will be created with the correct usage flags for geometry attributes * @param buffer - number array * @param index - is this an index buffer? * @returns a buffer * @category rendering * @internal */ export function ensureIsBuffer(buffer: Buffer | TypedArray | number[], index: boolean): Buffer { if (!(buffer instanceof Buffer)) { let usage: number = index ? BufferUsage.INDEX : BufferUsage.VERTEX; // its an array! if (buffer instanceof Array) { if (index) { buffer = new Uint32Array(buffer); usage = BufferUsage.INDEX | BufferUsage.COPY_DST; } else { buffer = new Float32Array(buffer); usage = BufferUsage.VERTEX | BufferUsage.COPY_DST; } } buffer = new Buffer({ data: buffer, label: index ? 'index-mesh-buffer' : 'vertex-mesh-buffer', usage }); } return buffer; }