diff options
Diffstat (limited to 'src/core/device.c')
-rw-r--r-- | src/core/device.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/core/device.c b/src/core/device.c index 6b2bb7c..ac055c9 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -151,7 +151,7 @@ void ssr_matrixmode(ssr_MatrixMode mode) { } void ssr_loadidentity() { - mat4_setidentity(&MATRIX); + internal_mat4_setidentity(&MATRIX); } void ssr_pushmatrix() { @@ -168,34 +168,34 @@ void ssr_popmatrix() { void ssr_lookat(Vec3* pos, Vec3* target, Vec3* up) { ssr_assert(pos && target && up); Vec3 z; - vec3_minus(pos, target, &z); vec3_normalize(&z, &z); /*去除缩放影响*/ + internal_vec3_minus(pos, target, &z); internal_vec3_normalize(&z, &z); /*去除缩放影响*/ Vec3 x; - vec3_cross(up, &z, &x); vec3_normalize(&x, &x); + internal_vec3_cross(up, &z, &x); internal_vec3_normalize(&x, &x); Vec3 y; - vec3_cross(&z, &x, &y); vec3_normalize(&y, &y); + internal_vec3_cross(&z, &x, &y); internal_vec3_normalize(&y, &y); Mat4 m = { /*注意这里是列主序*/ x.x, y.x, z.x, 0, x.y, y.y, z.y, 0, x.z, y.z, z.z, 0, - -vec3_dot(&x, pos), -vec3_dot(&y, pos), -vec3_dot(&z, pos), 1 + -internal_vec3_dot(&x, pos), -internal_vec3_dot(&y, pos), -internal_vec3_dot(&z, pos), 1 }; - mat4_multiply(&MATRIX, &m, &MATRIX); + internal_mat4_multiply(&MATRIX, &m, &MATRIX); } void ssr_scale(float sx, float sy, float sz) { Vec3 scale = { sx, sy, sz }; - mat4_scale(&MATRIX, &scale, &MATRIX); + internal_mat4_scale(&MATRIX, &scale, &MATRIX); } void ssr_rotate(float angle, float x, float y, float z) { Vec3 axis = { x, y, z }; - vec3_normalize(&axis, &axis); - mat4_rotate(&MATRIX, angle, &axis, &MATRIX); + internal_vec3_normalize(&axis, &axis); + internal_mat4_rotate(&MATRIX, angle, &axis, &MATRIX); } void ssr_translate(float x, float y, float z) { Vec3 trans = { x, y, z }; - mat4_translate(&MATRIX, &trans, &MATRIX); + internal_mat4_translate(&MATRIX, &trans, &MATRIX); } void ssr_loadmatrix(Mat4* m) { @@ -205,13 +205,13 @@ void ssr_loadmatrix(Mat4* m) { void ssr_multmatrix(Mat4* m) { ssr_assert(m); - mat4_multiply(&MATRIX, m, &MATRIX); + internal_mat4_multiply(&MATRIX, m, &MATRIX); } void ssr_getmvp(Mat4* out) { ssr_assert(out); - mat4_multiply(&GETMATRIX(MATRIX_VIEW), &GETMATRIX(MATRIX_MODEL), out); - mat4_multiply(&GETMATRIX(MATRIX_PROJECTION), out, out); + internal_mat4_multiply(&GETMATRIX(MATRIX_VIEW), &GETMATRIX(MATRIX_MODEL), out); + internal_mat4_multiply(&GETMATRIX(MATRIX_PROJECTION), out, out); } void ssr_getm(Mat4* out) { @@ -221,7 +221,7 @@ void ssr_getm(Mat4* out) { void ssr_getmv(Mat4* out) { ssr_assert(out); - mat4_multiply(&GETMATRIX(MATRIX_VIEW), &GETMATRIX(MATRIX_MODEL), out); + internal_mat4_multiply(&GETMATRIX(MATRIX_VIEW), &GETMATRIX(MATRIX_MODEL), out); } void ssr_enable(uint mask) { @@ -245,22 +245,22 @@ void ssr_viewport(float l, float r, float b, float t) { void ssr_ortho(float l, float r, float b, float t, float n, float f) { Mat4 m; - mat4_setortho(l, r, b, t, n, f, &m); - mat4_multiply(&MATRIX, &m, &MATRIX); + internal_mat4_setortho(l, r, b, t, n, f, &m); + internal_mat4_multiply(&MATRIX, &m, &MATRIX); } void ssr_frustum(float l, float r, float b, float t, float n, float f) { ssr_assert(n > 0 && f > 0 && f > n); Mat4 m; - mat4_setfrustum(l, r, b, t, n, f, &m); - mat4_multiply(&MATRIX, &m, &MATRIX); + internal_mat4_setfrustum(l, r, b, t, n, f, &m); + internal_mat4_multiply(&MATRIX, &m, &MATRIX); } void ssr_perspective(float fov, float aspect, float n, float f) { ssr_assert(n > 0 && f > 0 && f > n); Mat4 m; - mat4_setperspective(fov, aspect, n, f, &m); - mat4_multiply(&MATRIX, &m, &MATRIX); + internal_mat4_setperspective(fov, aspect, n, f, &m); + internal_mat4_multiply(&MATRIX, &m, &MATRIX); } void ssr_present() { |