naev 0.12.5
mat3.h
1
2/*
3 * See Licensing and Copyright notice in naev.h
4 */
5#pragma once
6
7#include "glad.h"
8
9#include "mat4.h"
10
11typedef struct mat3_ {
12 union {
13 /* Column-major; m[x][y] */
14 GLfloat m[3][3];
15 GLfloat ptr[9];
16 };
17} mat3;
18
19/* Basic operations. */
20void mat3_print( const mat3 *m );
21void mat3_from_mat4( mat3 *out, const mat4 *in );
22void mat3_mul_vec( vec3 *out, const mat3 *M, const vec3 *v );
23
24/* Useful functions. */
25double mat3_det( const mat3 *m );
26void mat3_invert( mat3 *m );
27void mat3_transpose( mat3 *m );
Definition mat3.h:11
Definition mat4.h:12
Definition vec3.h:6