summaryrefslogtreecommitdiff
path: root/src/extend/transform.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/extend/transform.c')
-rw-r--r--src/extend/transform.c18
1 files changed, 9 insertions, 9 deletions
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);
}
}