diff options
Diffstat (limited to 'src/extend/transform.h')
-rw-r--r-- | src/extend/transform.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/extend/transform.h b/src/extend/transform.h index 16b7c7f..f647819 100644 --- a/src/extend/transform.h +++ b/src/extend/transform.h @@ -1,5 +1,7 @@ #include "../math/math.h" + +typedef struct Transform Transform; /* ** TransformҪעÒâ°´ scale -> rotation -> position ˳Ðò¼ÆËã */ @@ -13,15 +15,16 @@ typedef struct Transform { Vec3 position; Vec3 scale; Quat rotation; - bool isdirty; } Transform; -void transform_translate(Transform* trans, Vec4* v, Vec4* out); - -Vec4 transform_translate(Transform* trans, Vec4* v); +void transform_translate(Transform* trans, Vec3* v); -void transform_getrotation(Quat* out); /*get global rotation*/ -void transform_getposition(Vec3* out); +void transform_getrotation(Transform* trans, Quat* out); /*get global rotation*/ +void transform_getposition(Transform* trans, Vec3* out); void transform_getscale(Vec3* out); +void transform_getpositionandrotation(Transform* trans, Vec3* pos, Quat* rot); void transform_setdirty(Transform* trans); + +/*get world to local matrix(no scale)*/ +void transform_getinvmatrixnoscale(Transform* transform, Mat4* worldToLocal); |