package kha.graphics4; import kha.arrays.Float32Array; import kha.graphics4.Usage; import kha.graphics4.VertexStructure; import kha.graphics4.VertexData; class VertexBuffer { var data: Float32Array; var mySize: Int; var myStride: Int; public function new(vertexCount: Int, structure: VertexStructure, usage: Usage, instanceDataStepRate: Int = 0, canRead: Bool = false) { mySize = vertexCount; myStride = 0; for (element in structure.elements) { myStride += VertexData.getStride(element.data); } data = new Float32Array(Std.int(vertexCount * myStride / 4)); } public function delete(): Void { data = null; } public function lock(?start: Int, ?count: Int): Float32Array { return data; } public function unlock(?count: Int): Void {} public function stride(): Int { return myStride; } public function count(): Int { return mySize; } public function set(offset: Int): Int { return 0; } }