diff options
Diffstat (limited to 'src/extend')
-rw-r--r-- | src/extend/camera.c | 18 | ||||
-rw-r--r-- | src/extend/mesh.c | 10 | ||||
-rw-r--r-- | src/extend/transform.c | 18 |
3 files changed, 23 insertions, 23 deletions
diff --git a/src/extend/camera.c b/src/extend/camera.c index dd77172..2e66afc 100644 --- a/src/extend/camera.c +++ b/src/extend/camera.c @@ -40,8 +40,8 @@ Camera* camera_create(wog_Window* wnd, CameraConfig* config) { // camera local = world cam->transform.parent = NULL ; cam->transform.localposition = config->position; - cam->transform.localscale = vec3_make(1, 1, 1); - quat_fromeuler(&config->euler, &cam->transform.localrotation); + cam->transform.localscale = internal_vec3_make(1, 1, 1); + internal_quat_fromeuler(&config->euler, &cam->transform.localrotation); cam->near = config->near; cam->far = config->far; @@ -86,7 +86,7 @@ void camera_getprojmatrix(Camera* cam, Mat4* out) { if (out)*out = cam->cached_proj_matrix; return; } - mat4_setperspective(cam->fov, cam->aspect, cam->near, cam->far, &cam->cached_proj_matrix); + internal_mat4_setperspective(cam->fov, cam->aspect, cam->near, cam->far, &cam->cached_proj_matrix); if(out) *out = cam->cached_proj_matrix; cam->is_projdirty = FALSE; } @@ -94,9 +94,9 @@ void camera_getprojmatrix(Camera* cam, Mat4* out) { static void _onwheelscroll(Camera* cam, int wheel, float dt) { Quat rot; transform_getrotation(&cam->transform, &rot); Vec3 forward = {0,0,-1}; - quat_applytovec3(&rot, &forward, &forward); - vec3_scale(&forward, cam->zoom_speed * wheel * dt * (cam->speedup ? cam->speedupv : 1), &forward); - vec3_plus(&forward, &cam->transform.localposition, &cam->transform.localposition); + internal_quat_applytovec3(&rot, &forward, &forward); + internal_vec3_scale(&forward, cam->zoom_speed * wheel * dt * (cam->speedup ? cam->speedupv : 1), &forward); + internal_vec3_plus(&forward, &cam->transform.localposition, &cam->transform.localposition); cam->is_viewdirty = TRUE; } @@ -112,7 +112,7 @@ static void _onlookaround(Camera* cam,float dt) { cam->euler.pitch -= angle.x; cam->euler.yaw += angle.y; //printf("%f %f\n", cam->euler.pitch, cam->euler.yaw); - quat_fromeuler(&cam->euler, &cam->transform.localrotation); + internal_quat_fromeuler(&cam->euler, &cam->transform.localrotation); cam->mouse_prev.x = x; cam->mouse_prev.y = y; cam->is_viewdirty = TRUE; } @@ -124,9 +124,9 @@ static void _onmovearound(Camera* cam, float dt) { Vec3 dd = { cam->mouse_prev.x - x, y - cam->mouse_prev.y , 0}; dd.x *= cam->move_sensitivity.x * dt * (cam->speedup ? cam->speedupv : 1); dd.y *= cam->move_sensitivity.y * dt * (cam->speedup ? cam->speedupv : 1); - quat_applytovec3(&cam->transform.localrotation, &dd, &dd); + internal_quat_applytovec3(&cam->transform.localrotation, &dd, &dd); //printf("%f %f %f\n", dd.x, dd.y, dd.z); - vec3_plus(&cam->transform.localposition, &dd, &cam->transform.localposition); + internal_vec3_plus(&cam->transform.localposition, &dd, &cam->transform.localposition); cam->mouse_prev.x = x; cam->mouse_prev.y = y; cam->is_viewdirty = TRUE; } diff --git a/src/extend/mesh.c b/src/extend/mesh.c index c8cdf2a..20153d9 100644 --- a/src/extend/mesh.c +++ b/src/extend/mesh.c @@ -52,7 +52,7 @@ void *darray_hold(void *darray, int count, int itemsize) { } } -Vec3 vec3_min(Vec3 a, Vec3 b) { +Vec3 internal_vec3_min(Vec3 a, Vec3 b) { float x = min(a.x, b.x); float y = min(a.y, b.y); float z = min(a.z, b.z); @@ -60,7 +60,7 @@ Vec3 vec3_min(Vec3 a, Vec3 b) { return r; } -Vec3 vec3_max(Vec3 a, Vec3 b) { +Vec3 internal_vec3_max(Vec3 a, Vec3 b) { float x = max(a.x, b.x); float y = max(a.y, b.y); float z = max(a.z, b.z); @@ -110,14 +110,14 @@ static Mesh *build_mesh( mesh->triangles[i] = position_index; - //bbox_min = vec3_min(bbox_min, vertices[i].position); - //bbox_max = vec3_max(bbox_max, vertices[i].position); + //bbox_min = internal_vec3_min(bbox_min, vertices[i].position); + //bbox_max = internal_vec3_max(bbox_max, vertices[i].position); } mesh->tris_count = num_faces; mesh->vert_count = nvert; mesh->vertices = vertices; - //mesh->center = vec3_div(vec3_add(bbox_min, bbox_max), 2); + //mesh->center = internal_vec3_div(internal_vec3_add(bbox_min, bbox_max), 2); return mesh; } diff --git a/src/extend/transform.c b/src/extend/transform.c index 6979e40..62776f7 100644 --- a/src/extend/transform.c +++ b/src/extend/transform.c @@ -6,11 +6,11 @@ void transform_getpositionandrotation(Transform* trans, Vec3* pos, Quat* rot) { Transform* cur = trans->parent; while (cur) { /*按照srt的顺序计算pos*/ - vec3_scale3(pos, &cur->localscale, pos); - quat_applytovec3(&cur->localrotation, pos, pos); - vec3_plus(pos, &cur->localposition, pos); + internal_vec3_scale3(pos, &cur->localscale, pos); + internal_quat_applytovec3(&cur->localrotation, pos, pos); + internal_vec3_plus(pos, &cur->localposition, pos); /*计算旋转*/ - quat_multiply(&cur->localrotation, rot, rot); + internal_quat_multiply(&cur->localrotation, rot, rot); cur = cur->parent; } @@ -19,18 +19,18 @@ void transform_getpositionandrotation(Transform* trans, Vec3* pos, Quat* rot) { void transform_getinvmatrixnoscale(Transform* trans, Mat4* worldToLocal) { Vec3 pos; Quat rot; transform_getpositionandrotation(trans, &pos, &rot); - quat_invert(&rot, &rot); + internal_quat_invert(&rot, &rot); /*(TR)^-1 = R^-1T^-1*/ - quat_tomat4(&rot, worldToLocal); - vec3_scale(&pos, -1, &pos); - mat4_translate(worldToLocal, &pos, worldToLocal); + internal_quat_tomat4(&rot, worldToLocal); + internal_vec3_scale(&pos, -1, &pos); + internal_mat4_translate(worldToLocal, &pos, worldToLocal); } void transform_getrotation(Transform* trans, Quat* rot) { *rot = trans->localrotation; Transform* cur = trans->parent; while (cur) { - quat_multiply(&cur->localrotation, rot, rot); + internal_quat_multiply(&cur->localrotation, rot, rot); } } |