LNXSDK/Kha/Sources/kha/Float32ArrayExtensions.hx

72 lines
2.1 KiB
Haxe
Raw Permalink Normal View History

2025-01-22 16:18:30 +01:00
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);
}
}