+
+redef class NativeDoubleArray
+ fun mat4_set(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15: Float) `{
+ self[ 0] = f0;
+ self[ 1] = f1;
+ self[ 2] = f2;
+ self[ 3] = f3;
+
+ self[ 4] = f4;
+ self[ 5] = f5;
+ self[ 6] = f6;
+ self[ 7] = f7;
+
+ self[ 8] = f8;
+ self[ 9] = f9;
+ self[10] = f10;
+ self[11] = f11;
+
+ self[12] = f12;
+ self[13] = f13;
+ self[14] = f14;
+ self[15] = f15;
+ `}
+end
+
+redef class Sys
+
+ private var rotation_matrix_cache: nullable Matrix = null
+ private var rotation_pitch = 0.0
+ private var rotation_yaw = 0.0
+ private var rotation_roll = 0.0
+end