45 lines
		
	
	
		
			976 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			976 B
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 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;
 | |
| 	}
 | |
| }
 |