UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

62 lines (61 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VertexBuffer2D = void 0; const Buffer2D_1 = require("./Buffer2D"); const LayaGL_1 = require("../../layagl/LayaGL"); const Buffer_1 = require("./Buffer"); class VertexBuffer2D extends Buffer2D_1.Buffer2D { get vertexStride() { return this._vertexStride; } constructor(vertexStride, bufferUsage) { super(); this._vertexStride = vertexStride; this._bufferUsage = bufferUsage; this._bufferType = LayaGL_1.LayaGL.instance.ARRAY_BUFFER; this._buffer = new ArrayBuffer(8); this._floatArray32 = new Float32Array(this._buffer); this._uint32Array = new Uint32Array(this._buffer); } getFloat32Array() { return this._floatArray32; } appendArray(data) { var oldoff = this._byteLength >> 2; this.setByteLength(this._byteLength + data.length * 4); var vbdata = this.getFloat32Array(); vbdata.set(data, oldoff); this._upload = true; } _checkArrayUse() { this._floatArray32 && (this._floatArray32 = new Float32Array(this._buffer)); this._uint32Array && (this._uint32Array = new Uint32Array(this._buffer)); } deleteBuffer() { super._disposeResource(); } _bindForVAO() { var gl = LayaGL_1.LayaGL.instance; gl.bindBuffer(gl.ARRAY_BUFFER, this._glBuffer); } bind() { if (Buffer_1.Buffer._bindedVertexBuffer !== this._glBuffer) { var gl = LayaGL_1.LayaGL.instance; gl.bindBuffer(gl.ARRAY_BUFFER, this._glBuffer); Buffer_1.Buffer._bindedVertexBuffer = this._glBuffer; return true; } return false; } destroy() { super.destroy(); this._byteLength = 0; this._upload = true; this._buffer = null; this._floatArray32 = null; } } exports.VertexBuffer2D = VertexBuffer2D; VertexBuffer2D.create = function (vertexStride, bufferUsage = 0x88e8 ) { return new VertexBuffer2D(vertexStride, bufferUsage); };