+#define CLIP_PASS 0x00 // 000000
+#define CLIP_LT_X 0x01 // 000001
+#define CLIP_GT_X 0x02 // 000010
+#define CLIP_LT_Y 0x04 // 000100
+#define CLIP_GT_Y 0x08 // 001000
+#define CLIP_LT_Z 0x10 // 010000
+#define CLIP_GT_Z 0x20 // 100000
+#define CLIP_FAIL 0x3F // 111111
+typedef unsigned char clipmask_t;
+
+extern const m4x4_t g_m4x4_identity;
+
+#define M4X4_COPY( dst,src ) ( \
+ ( dst )[0] = ( src )[0], \
+ ( dst )[1] = ( src )[1], \
+ ( dst )[2] = ( src )[2], \
+ ( dst )[3] = ( src )[3], \
+ ( dst )[4] = ( src )[4], \
+ ( dst )[5] = ( src )[5], \
+ ( dst )[6] = ( src )[6], \
+ ( dst )[7] = ( src )[7], \
+ ( dst )[8] = ( src )[8], \
+ ( dst )[9] = ( src )[9], \
+ ( dst )[10] = ( src )[10], \
+ ( dst )[11] = ( src )[11], \
+ ( dst )[12] = ( src )[12], \
+ ( dst )[13] = ( src )[13], \
+ ( dst )[14] = ( src )[14], \
+ ( dst )[15] = ( src )[15] )
+
+typedef enum
+{
+ eRightHanded = 0,
+ eLeftHanded = 1,
+}
+m4x4Handedness_t;
+
+m4x4Handedness_t m4x4_handedness( const m4x4_t matrix );
+
+/*! assign other m4x4 to this m4x4 */
+void m4x4_assign( m4x4_t matrix, const m4x4_t other );
+