new function to test
This commit is contained in:
parent
b184e675ec
commit
33b36d26e5
@ -35,6 +35,7 @@
|
||||
#define SWEET_PI 3.141592653589793238462643
|
||||
#define SWEET_2PI 6.283185307179586476925286
|
||||
#define SWEET_GOLDEN_RATIO 1.618033988749894848204586
|
||||
#define SWEET_EPSILON 0.00000001
|
||||
|
||||
/** RadianToDegree */
|
||||
/** @param Radian as float or double */
|
||||
@ -51,6 +52,9 @@
|
||||
#define sweet_math_approx_equals(a, b, epsilon) \
|
||||
(a <= (b+epsilon) && a >= (b-epsilon))
|
||||
|
||||
#define sweet_math_approx_zero(a, epsilon) \
|
||||
(a <= (epsilon) && a >= (epsilon))
|
||||
|
||||
/** Invsqrt */
|
||||
/** @param x argument of square root as float */
|
||||
/** @return 1 over square root as float */
|
||||
|
||||
@ -149,6 +149,66 @@ sweet_matrix_identity4 (void)
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
mat2
|
||||
sweet_matrix_ortho_transform2 (vec2 u, vec2 v)
|
||||
{
|
||||
mat2 m;
|
||||
m.v[0] = u.x;
|
||||
m.v[3] = v.x;
|
||||
|
||||
m.v[2] = u.y;
|
||||
m.v[3] = v.y;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
mat3
|
||||
sweet_matrix_ortho_transform3 (vec3 u, vec3 v, vec3 w)
|
||||
{
|
||||
mat3 m;
|
||||
m.v[0] = u.x;
|
||||
m.v[1] = v.x;
|
||||
m.v[2] = w.x;
|
||||
|
||||
m.v[3] = u.y;
|
||||
m.v[4] = v.y;
|
||||
m.v[5] = w.y;
|
||||
|
||||
m.v[6] = u.z;
|
||||
m.v[7] = v.z;
|
||||
m.v[8] = w.z;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
mat4
|
||||
sweet_matrix_ortho_transform4 (vec4 u, vec4 v, vec4 w, vec4 t)
|
||||
{
|
||||
mat4 m;
|
||||
m.v[0] = u.x;
|
||||
m.v[1] = v.y;
|
||||
m.v[2] = w.z;
|
||||
m.v[3] = t.w;
|
||||
|
||||
m.v[4] = u.x;
|
||||
m.v[5] = v.y;
|
||||
m.v[6] = w.z;
|
||||
m.v[7] = t.w;
|
||||
|
||||
m.v[8] = u.x;
|
||||
m.v[9] = v.y;
|
||||
m.v[10] = w.z;
|
||||
m.v[11] = t.w;
|
||||
|
||||
m.v[12] = u.x;
|
||||
m.v[13] = v.y;
|
||||
m.v[14] = w.z;
|
||||
m.v[15] = t.w;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
mat4
|
||||
sweet_matrix_perspective (double fovy, double aspect, double z_near, double z_far)
|
||||
{
|
||||
|
||||
@ -35,6 +35,14 @@ mat2 sweet_matrix_identity2 (void);
|
||||
mat3 sweet_matrix_identity3 (void);
|
||||
mat4 sweet_matrix_identity4 (void);
|
||||
|
||||
/** Basis */
|
||||
/** Vectors must be orthogonal */
|
||||
/** @param u, v, w, t as vector of the new basis */
|
||||
/** @return transform matrix to the new basis */
|
||||
mat2 sweet_matrix_ortho_basis2 (vec2 u, vec2 v);
|
||||
mat3 sweet_matrix_ortho_basis3 (vec3 u, vec3 v, vec3 w);
|
||||
mat4 sweet_matrix_ortho_basis4 (vec4 u, vec4 v, vec4 w, vec4 t);
|
||||
|
||||
/** Frustum */
|
||||
/** @param Right as flaot */
|
||||
/** @param Left as float */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user