72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha; | ||
|  | 
 | ||
|  | import kha.arrays.Float32Array; | ||
|  | import kha.math.FastMatrix3; | ||
|  | import kha.math.FastMatrix4; | ||
|  | import kha.math.FastVector2; | ||
|  | import kha.math.FastVector3; | ||
|  | import kha.math.FastVector4; | ||
|  | 
 | ||
|  | class Float32ArrayExtensions { | ||
|  | 	public static inline function setVector2(array: Float32Array, index: Int, vector: FastVector2) { | ||
|  | 		array.set(index + 0, vector.x); | ||
|  | 		array.set(index + 1, vector.y); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static inline function setVector3(array: Float32Array, index: Int, vector: FastVector3) { | ||
|  | 		array.set(index + 0, vector.x); | ||
|  | 		array.set(index + 1, vector.y); | ||
|  | 		array.set(index + 2, vector.z); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static inline function setVector4(array: Float32Array, index: Int, vector: FastVector4) { | ||
|  | 		array.set(index + 0, vector.x); | ||
|  | 		array.set(index + 1, vector.y); | ||
|  | 		array.set(index + 2, vector.z); | ||
|  | 		array.set(index + 3, vector.w); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static inline function setColor(array: Float32Array, index: Int, color: Color) { | ||
|  | 		array.set(index + 0, color.R); | ||
|  | 		array.set(index + 1, color.G); | ||
|  | 		array.set(index + 2, color.B); | ||
|  | 		array.set(index + 3, color.A); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static inline function setMatrix3(array: Float32Array, index: Int, matrix: FastMatrix3) { | ||
|  | 		array.set(index + 0, matrix._00); | ||
|  | 		array.set(index + 1, matrix._01); | ||
|  | 		array.set(index + 2, matrix._02); | ||
|  | 
 | ||
|  | 		array.set(index + 3, matrix._10); | ||
|  | 		array.set(index + 4, matrix._11); | ||
|  | 		array.set(index + 5, matrix._12); | ||
|  | 
 | ||
|  | 		array.set(index + 6, matrix._20); | ||
|  | 		array.set(index + 7, matrix._21); | ||
|  | 		array.set(index + 8, matrix._22); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public static inline function setMatrix4(array: Float32Array, index: Int, matrix: FastMatrix4) { | ||
|  | 		array.set(index + 0, matrix._00); | ||
|  | 		array.set(index + 1, matrix._01); | ||
|  | 		array.set(index + 2, matrix._02); | ||
|  | 		array.set(index + 3, matrix._03); | ||
|  | 
 | ||
|  | 		array.set(index + 4, matrix._10); | ||
|  | 		array.set(index + 5, matrix._11); | ||
|  | 		array.set(index + 6, matrix._12); | ||
|  | 		array.set(index + 7, matrix._13); | ||
|  | 
 | ||
|  | 		array.set(index + 8, matrix._20); | ||
|  | 		array.set(index + 9, matrix._21); | ||
|  | 		array.set(index + 10, matrix._22); | ||
|  | 		array.set(index + 11, matrix._23); | ||
|  | 
 | ||
|  | 		array.set(index + 12, matrix._30); | ||
|  | 		array.set(index + 13, matrix._31); | ||
|  | 		array.set(index + 14, matrix._32); | ||
|  | 		array.set(index + 15, matrix._33); | ||
|  | 	} | ||
|  | } |