Commit Graph
100 Commits
Author SHA1 Message Date
Recep Aslantas 2d77123999 quat: fix quaternion inverse and tests about it
* multiplication quaternion and its inverse must be identity
2018-04-11 16:50:37 +03:00
Recep Aslantas 9ae8da3e0a update version to v0.4.0 2018-04-11 12:36:39 +03:00
Recep Aslantas 0e63c245d4 update docs 2018-04-11 12:34:20 +03:00
Recep Aslantas de55850136 add call version of vector extensions 2018-04-11 12:31:29 +03:00
Recep Aslantas 51278b26b4 quat: update call versions of quaternion 2018-04-11 11:19:13 +03:00
Recep Aslantas fdea13507b replace mat4_mulq with glm_quat_rotate
* glm_quat_rotate is better name to rotate transform matrix using quaternion.
* we may use mat4_mulq in the future for another purpose e.g. left multiplication quat with matrix
2018-04-11 10:49:53 +03:00
Recep Aslantas 80d255e6d9 rotate vector using quaternion 2018-04-11 00:47:11 +03:00
Recep Aslantas d447876c70 improve glm_vec_rotate 2018-04-11 00:46:23 +03:00
Recep Aslantas b1fa7ff597 normalize axis quaternion axis-angle constructor 2018-04-11 00:36:39 +03:00
Recep Aslantas 010dcc9837 optimize normalize quaternion with SIMD
* provide _to version for storing into another quat
2018-04-11 00:17:41 +03:00
Recep Aslantas 5dec68823c add additional tests and comments to quat tests 2018-04-10 17:41:25 +03:00
Recep Aslantas 4c79fee5d3 quat: additional tests for angle, axis, mul (hamilton product) 2018-04-10 17:16:31 +03:00
Recep Aslantas 18ef0d7af1 quat: quaternion for look rotation ( from source point to dest point ) 2018-04-10 16:52:52 +03:00
Recep Aslantas 9466182c10 quat: create view wmatrix with quaternion helper 2018-04-10 16:01:23 +03:00
Recep Aslantas f0a51b35ad quat: transposed/inverted version of quat2mat 2018-04-10 15:41:09 +03:00
Recep Aslantas 290bcf134c quat: add lerp and improve slerp 2018-04-10 12:38:54 +03:00
Recep Aslantas 416e2f4452 vec: lerp for vec3 and vec4 2018-04-10 11:44:16 +03:00
Recep Aslantas 1fb82a1922 quat: use vector functions for available operations
* provide quat_copy function
2018-04-10 10:47:55 +03:00
Recep Aslantas 591c881376 vec: extend flip sign to store result in another vector 2018-04-10 10:46:45 +03:00
Recep Aslantas 6f69da361b quaternion multiplication
* convert quaternion multiplication to xyzw
* previous implementation may be wrong, wikipedia version implemented
* implement SSE version
2018-04-09 23:56:09 +03:00
Recep Aslantas 93a08fce17 quat: axis angle of quaternion 2018-04-09 23:12:44 +03:00
Recep Aslantas cc1d3b53ea quat: implement add, sub, real and imag helpers 2018-04-09 22:32:55 +03:00
Recep Aslantas b21df8fc37 inverse of quaternion 2018-04-09 22:26:23 +03:00
Recep Aslantas 76e9f74020 conjugate of quaternion 2018-04-09 21:54:53 +03:00
Recep Aslantas d79e58486d update credits file 2018-04-09 21:54:35 +03:00
Recep Aslantas 3dc93c56e8 convert quaterinon to xyzw order (part 1) 2018-04-09 18:49:12 +03:00
Recep Aslantas 7615f785ac improve quaternion to matrix 2018-04-09 00:53:14 +03:00
Recep Aslantas f0daaca58b improve matrix to quaternion 2018-04-09 00:46:00 +03:00
Recep Aslantas 381b2fdcc0 fix vec4_norm2, use dot for vec3_norm2 2018-04-09 00:01:56 +03:00
Recep Aslantas e4e0fa623c sse2 version of vec4 dot product
* use this for normalizing vector
2018-04-08 18:27:54 +03:00
Recep Aslantas 932f638d5a optimize mat4 to quaternion
* add SSE2 version and optimize scalar version
2018-04-08 12:31:32 +03:00
Recep Aslantas 81bda7439d vector square root 2018-04-08 12:30:15 +03:00
Recep Aslantas b27603c268 normalize quaternion before converting to matrix
* because it must be unit quaternion and didn't specified this in docs.

* we must provide alternative func for unit quat
2018-04-08 00:09:40 +03:00
Recep Aslantas 12c5307447 vec3 and vec4 sign helper 2018-04-07 21:53:22 +03:00
Recep Aslantas 257c57d41f mat4 to quaternion 2018-04-07 19:46:46 +03:00
Recep Aslantas f5140ea005 quat: mat4_mul_quat helper
* the quaternion is used as right matrix
2018-04-07 13:47:20 +03:00
Recep Aslantas 619ecdc5a4 quat: improve normalize 2018-04-07 13:46:46 +03:00
Recep Aslantas 9b8748acc4 quat: quaternion to mat3 2018-04-07 13:27:40 +03:00
Recep Aslantas ae06c51746 improve glm_mat4_mulN for non-DEBUG environment 2018-04-07 13:22:44 +03:00
Recep Aslantas 11430559b4 fix isnan and isinf 2018-04-07 08:28:37 +03:00
Recep Aslantas 58f0043417 vector utils: isnan and isinf
* a vector which has least one NaN or INF member, is assumed not valid vector.
2018-04-06 22:57:24 +03:00
Recep Aslantas 7411ac36c1 update docs for euler angles 2018-04-03 17:05:45 +03:00
Recep Aslantas ea0a10ade9 suppress warnings 2018-04-03 16:47:59 +03:00
Recep Aslantas 429fdfd5c5 update build scripts 2018-04-03 16:47:51 +03:00
Recep Aslantas 024412f00e add docs for project/unproject 2018-04-03 16:41:13 +03:00
Recep Aslantas e8615ea14c fix tests list 2018-04-03 12:35:30 +03:00
Recep Aslantas 63acfd681e fix unproject, add tests to project/unproject 2018-04-03 12:27:20 +03:00
Recep Aslantas eb527e39b4 optimize project 2018-04-03 11:25:33 +03:00
Recep Aslantas 9f389ab8ec project function 2018-04-03 11:09:13 +03:00
Recep Aslantas 3399595dc2 add vec2 type 2018-04-03 10:46:46 +03:00
Recep Aslantas 74f9865884 add docs for new aabb functions 2018-04-02 16:36:55 +03:00
Recep Aslantas dbd1e334ea aabb box size and radius 2018-04-02 16:26:14 +03:00
Recep Aslantas acda316c12 get sign of float helper as -1, +1 and 0
* add clarification for zero input
2018-04-02 16:18:50 +03:00
Recep Aslantas 86efe64b8e helper for check aabb is valid or not 2018-04-02 12:35:22 +03:00
Recep Aslantas b0991342a6 aabb printer function 2018-04-02 12:08:08 +03:00
Recep Aslantas 984916d520 invalidate axis-aligned boundng box util 2018-04-02 11:50:53 +03:00
Recep Aslantas ca504f7058 now working on v0.3.6 2018-03-29 00:12:16 +03:00
Recep Aslantas 26110f83d1 euler: fix thetaY in extracting angles 2018-03-27 12:35:19 +03:00
Recep Aslantas d1f3feeb6e test: add tests for euler XYZ 2018-03-27 12:14:46 +03:00
Recep Aslantas 4298211795 euler: fix extracting XYZ angles 2018-03-27 12:14:12 +03:00
Recep Aslantas c244b68e73 build: improve build-deps 2018-03-27 11:22:05 +03:00
Recep Aslantas 205d13aa93 fix euler angles (extrinsic -> intrinsic)
because cglm uses intrinsics for these rotations
2018-03-27 11:14:26 +03:00
Recep Aslantas 21ec45b2af add tests for clamp 2018-03-22 21:24:41 +03:00
Recep Aslantas 71b48b530e add documentation for clamp 2018-03-22 21:24:26 +03:00
Recep Aslantas 48b7b30e42 add call version for clamp 2018-03-22 21:18:08 +03:00
Recep Aslantas 86055097e1 clamp functions 2018-03-22 18:10:10 +03:00
Recep Aslantas 780179ff0d fix unproject 2018-03-08 22:29:10 +03:00
Recep Aslantas c148eacdc2 fix unproject's parameters 2018-03-08 13:12:08 +03:00
Recep Aslantas fadde1e26a fix libtool version number 2018-03-08 13:04:29 +03:00
Recep Aslantas 29996d0bdd add unproject function 2018-03-08 13:02:33 +03:00
Recep Aslantas cfab79e546 now working on v0.3.5 2018-03-08 12:18:07 +03:00
Recep Aslantas da2f3aaafd docs: fix aabb docs 2018-03-03 18:17:58 +03:00
Recep Aslantas 0e964a1a62 complete documentation 2018-03-03 17:59:50 +03:00
Recep Aslantas 1fd0a74478 docs: euler angles documentation 2018-03-01 18:27:56 +03:00
Recep Aslantas b3a39aa13c docs: add docs for quaternions 2018-02-27 11:14:03 +03:00
Recep Aslantas b737bb2dde docs: add docs for affine matrix 2018-02-27 10:53:45 +03:00
Recep Aslantas a610626693 fix vec4 parameter type 2018-02-26 23:24:43 +03:00
Recep Aslantas 425bf87c1f docs: add docs for camera 2018-02-26 23:23:31 +03:00
Recep Aslantas 23698b7e48 docs: add docs for vec4 2018-02-26 22:08:04 +03:00
Recep Aslantas be3f117374 docs: add docs for vec3-ext 2018-02-26 17:10:33 +03:00
Recep Aslantas 77e62163ea docs: add docs for vec3 2018-02-26 16:21:04 +03:00
Recep Aslantas 96f773417a docs: add docs for mat3 2018-02-26 12:16:09 +03:00
Recep Aslantas 02ab66a8b3 docs: add docs for transforms 2018-02-24 20:12:05 +03:00
Recep Aslantas fc424631a4 docs: add docs for api, mat4 2018-02-24 13:18:28 +03:00
Recep Aslantas 6d5734fe7e docs: update sphinx conf 2018-02-24 13:18:13 +03:00
Recep Aslantas d95bf60b02 docs: update docs 2018-02-24 00:54:59 +03:00
Recep Aslantas 4ce2e86d9f color: add luminance function 2018-02-23 11:12:55 +03:00
Recep Aslantas 8a16f358a3 build: fix C flags for older compiler[s] 2018-02-22 19:55:16 +03:00
Recep Aslantas c1c659489a surround macro values with parentheses 2018-02-18 11:16:03 +03:00
Recep Aslantas 681a74b39c move credits to its own file to keep LICENSE more clear 2018-02-18 10:46:17 +03:00
Recep Aslantas 3882b72f7f vec: helper macro for zero vectors 2018-02-05 17:46:28 +03:00
Recep Aslantas 9649a0285f fix documentation param names 2018-01-18 20:52:24 +03:00
Recep Aslantas 0f9f4748d7 box: cull frustum with aabb helper 2018-01-18 20:08:45 +03:00
Recep Aslantas a832d58d9f box: cull frustum with aabb helper 2018-01-18 20:04:21 +03:00
Recep Aslantas 8b2c74b0cc bounding box 2018-01-18 16:36:58 +03:00
Recep Aslantas da8bbc6536 improve minv and maxv 2018-01-18 16:24:30 +03:00
Recep Aslantas 4a7cd2eb26 cam: convenient util for crating orthographic proj with AABB 2018-01-18 16:23:34 +03:00
Recep Aslantas 565ee2d6eb frustum: fix bounding box
default value 0.0 causes to get min or max as 0 if max < 0 or min > 0
2018-01-18 16:12:44 +03:00
Recep Aslantas ee78459340 add documentation to quaternion header 2018-01-15 16:33:57 +03:00
Recep Aslantas 37f6bb8725 add documentation to util header 2018-01-15 16:02:48 +03:00