Commit Graph
100 Commits
Author SHA1 Message Date
Recep Aslantas e2f1c7eb6a fix euler zxy 2016-10-13 17:00:48 +03:00
Recep Aslantas 551175333f fix yaw-pitch-roll 2016-10-13 16:47:03 +03:00
Recep Aslantas 2c6b257a82 implement euler angles zxy, zyx (yaw-pitch-roll) 2016-10-13 11:06:14 +03:00
Recep Aslantas bb45a77d64 remove comment 2016-10-12 12:21:04 +03:00
Recep Aslantas 06393513ca mat3 determinant 2016-10-12 12:20:10 +03:00
Recep Aslantas 90259e673f full inverse of mat3 2016-10-12 12:15:10 +03:00
Recep Aslantas 15663fcb26 rm redefinition glGetIntegerv for win32 2016-10-12 11:22:38 +03:00
Recep Aslantas c08ce6a5ee rigid-body matrix inverse 2016-10-12 00:00:39 +03:00
Recep Aslantas b7ed89fcf0 mat3 scale 2016-10-11 18:27:31 +03:00
Recep Aslantas 14ee37b9c5 mat4 pick transposed mat3 2016-10-11 18:27:13 +03:00
Recep Aslantas 80c6c0a28b drop manual simd impl from mat3 2016-10-11 18:26:07 +03:00
Recep Aslantas 3c26a7f820 mat4: precise matrix inverse
* TODO: duplicated code!
2016-10-11 14:22:25 +03:00
Recep Aslantas b2e8e7c77b vec: flip sign 2016-10-11 14:02:49 +03:00
Recep Aslantas 21f62ba9ab insert mat3 to mat4 upper-left 2016-10-11 13:58:30 +03:00
Recep Aslantas 822923a035 move mat3 print to util and insert mat3 to default header 2016-10-11 12:04:54 +03:00
Recep Aslantas 5344599ae4 pick mat3 from mat4 2016-10-11 00:15:57 +03:00
Recep Aslantas 77ed5d389d mat3 mul by vec3 2016-10-10 17:44:17 +03:00
Recep Aslantas 0cbfd3cd3b mat4 pure style 2016-10-10 17:40:49 +03:00
Recep Aslantas dc85a6c3ca mat3 transpose 2016-10-10 17:38:56 +03:00
Recep Aslantas 6390367476 affine mat mul 2016-10-10 12:09:42 +03:00
Recep Aslantas af52f40114 fix pure affine mul and some style 2016-10-10 10:31:50 +03:00
Recep Aslantas 5b5dbcc15c optimize affine transform matrices
* reduce some multiplications/additions for transformations matrices
2016-10-10 00:08:36 +03:00
Recep Aslantas 3ffca7a733 use native types instead GL* 2016-10-09 18:08:59 +03:00
Recep Aslantas 2ebdfaeeaf helper ortho proj 2016-10-09 18:06:52 +03:00
Recep Aslantas a6f96de292 move platform specific functions to platform header 2016-10-09 17:57:55 +03:00
Recep Aslantas 1f12adbfae default ortho projection 2016-10-09 17:48:50 +03:00
Recep Aslantas 4da42276f5 msvc compatibility 2016-10-09 14:38:53 +03:00
Recep Aslantas 751391c8ff fix ortho 2016-10-09 14:08:08 +03:00
Recep Aslantas bc8cede3d8 helper: default perspective 2016-10-08 16:37:56 +03:00
Recep Aslantas c428b79f98 move platform specific codes to platform header 2016-10-08 16:37:20 +03:00
Recep Aslantas a85bf47683 mat3 multiplication 2016-10-08 14:15:31 +03:00
Recep Aslantas 78e4e867eb unaligned matrix duplication 2016-10-06 16:54:08 +03:00
Recep Aslantas 1b41c3d52a add braces to mat initializer 2016-10-05 12:14:27 +03:00
Recep Aslantas 02c6ba5b19 update license 2016-10-03 16:51:14 +03:00
Recep Aslantas 846c4d3c73 affine rotation 2016-10-03 16:29:48 +03:00
Recep Aslantas 5a24b9fcd5 fix build rotate 2016-10-03 16:18:54 +03:00
Recep Aslantas a23f238c60 fix init rotation matrix 2016-10-03 12:57:55 +03:00
Recep Aslantas cd5cee615c build rotation matrix 2016-10-03 11:40:40 +03:00
Recep Aslantas 098a930d9f make glm_vec4_dup3 inline 2016-10-02 00:13:18 +03:00
Recep Aslantas ea6f12d90a vector [pure] documentation 2016-09-29 10:25:33 +03:00
Recep Aslantas 1ab4329013 style 2016-09-29 10:02:58 +03:00
Recep Aslantas 268db00c44 mat4 [pure] documentation 2016-09-29 00:48:13 +03:00
Recep Aslantas 6a00598144 msvc: opengl header 2016-09-28 18:04:09 +03:00
Recep Aslantas e752f356a8 include other headers to main header 2016-09-28 18:03:47 +03:00
Recep Aslantas f99d920dc6 cpp: dont pass array to function directly 2016-09-28 17:51:51 +03:00
Recep Aslantas d45dc614cf use float version of math functions 2016-09-28 17:50:01 +03:00
Recep Aslantas 8b67604247 msvc: define __SSE__ and __SSE2__ if available 2016-09-28 17:44:21 +03:00
Recep Aslantas 88fe54b200 msvc: disable alignment in typedef (for now)
Compiler Error C2719: The align __declspec modifier is not permitted on
function parameters.

ref #4
2016-09-28 17:31:10 +03:00
Recep Aslantas 2cb9f7f334 fix #3
with caching values, compiler produce better assembly even identical
sse2 implementation
2016-09-27 21:18:52 +03:00
Recep Aslantas dc73cab522 helper fn for duplicating matrix4 2016-09-27 16:50:09 +03:00
Recep Aslantas e6ba9d6ab0 opengl: fix type cast 2016-09-21 18:36:01 +03:00
Recep Aslantas f5a290364b add guard to check sse2 headers 2016-09-21 17:34:30 +03:00
Recep Aslantas a7f280bf97 avx: fix permute 2016-09-21 16:19:32 +03:00
Recep Aslantas b8589ae0e2 avx: implement mat4 avx mul 2016-09-21 16:15:48 +03:00
Recep Aslantas ce74bc4a82 make mat4 transpose and scale inline function 2016-09-21 00:23:17 +03:00
Recep Aslantas b2b50076d2 re-optimize mat4 determinant
* note: for square matrices det(a) = det(transpose(a)), we can go with
row-major calc here
2016-09-20 23:31:27 +03:00
Recep Aslantas 8a6fe6948a improve mat4 mul 2016-09-20 03:13:48 +03:00
Recep Aslantas b42a599310 typo 2016-09-19 20:37:07 +03:00
Recep Aslantas 5115814d5b glm --> opengl helper function 2016-09-19 19:03:07 +03:00
Recep Aslantas b69944be0a beautify print outputs 2016-09-19 15:48:14 +03:00
Recep Aslantas 00ee60acc9 vec4 to vec3 2016-09-19 15:31:08 +03:00
Recep Aslantas 499aab1001 fix mat4 vec4 mul 2016-09-19 15:29:25 +03:00
Recep Aslantas db7b7ac4dc ignore 2016-09-19 00:36:54 +03:00
Recep Aslantas 0ad9992a99 fix matrix inverse simd 2016-09-19 00:19:07 +03:00
Recep Aslantas f280d3675e transpose inverse 2016-09-18 12:59:23 +03:00
Recep Aslantas 6c0cfe310a quaternions 2016-09-18 00:53:24 +03:00
Recep Aslantas 5a28f2ec60 frustum, ortho and perspective functions 2016-09-17 19:04:53 +03:00
Recep Aslantas 146dbe4656 cpp: fix array initializer must be an initializer list 2016-09-17 13:21:08 +03:00
Recep Aslantas 2366e3b85a align vec4/mat4 to 16 in typedef 2016-09-17 12:54:24 +03:00
Recep Aslantas d4c6ae350f fix fn calls 2016-09-17 12:50:45 +03:00
Recep Aslantas 6046d0cdde rename and cast mat4x4 id 2016-09-17 12:35:10 +03:00
Recep Aslantas 0b0a74e9bf use self as default 2016-09-17 12:31:23 +03:00
Recep Aslantas 4d171c8758 rename mat4 functions 2016-09-17 12:30:33 +03:00
Recep Aslantas ab58ae76eb matrix determinant sse2 2016-09-17 12:19:15 +03:00
Recep Aslantas 6b017b14b3 remove unused variable 2016-09-17 11:39:53 +03:00
Recep Aslantas a60e1a741f improve mat4x4 inverse SIMD 2016-09-16 23:02:16 +03:00
Recep Aslantas 253f5ba5f6 optimize matrix4x4 inverse for SSE2 2016-09-16 20:24:55 +03:00
Recep Aslantas 184069361a use non-SIMD scale version for non-SIMD inverse
* this way is faster, probably mixing manual SSE with compiler result
causes cache misses
2016-09-16 00:56:00 +03:00
Recep Aslantas 2ff2c4710b 4x4 matrix inverse (non-SIMD) 2016-09-15 17:57:21 +03:00
Recep Aslantas 6c5143313e matrix scale 2016-09-15 17:54:37 +03:00
Recep Aslantas 602b487b53 mat4 non-simd determinant 2016-09-14 12:32:03 +03:00
Recep Aslantas c26c1d7707 optimize slerp with SSE 2016-09-13 18:36:40 +03:00
Recep Aslantas 5825c24e8f print fn for vectors 2016-09-13 18:18:35 +03:00
Recep Aslantas 2e9894b816 versor 2016-09-13 18:18:05 +03:00
Recep Aslantas e90f6b505d optimize individual translates 2016-09-13 12:29:01 +03:00
Recep Aslantas c480267463 optimize affine translate with SSE 2016-09-13 12:17:25 +03:00
Recep Aslantas 7ef105bab0 use float for math funcs 2016-09-13 11:57:52 +03:00
Recep Aslantas 705a4bb9a0 optimize vec4 with SIMD (SSE) 2016-09-13 11:54:51 +03:00
Recep Aslantas b957509c9e fix vector types 2016-09-13 11:14:44 +03:00
Recep Aslantas f7e7bffe11 drop _self postfix from normalize 2016-09-13 00:47:07 +03:00
Recep Aslantas 1b3e07898f fix vec3/vec4 usage 2016-09-13 00:42:44 +03:00
Recep Aslantas 18a12763d0 fix fn call 2016-09-13 00:05:55 +03:00
Recep Aslantas 5ef29b76e2 fix affine scale 2016-09-13 00:01:36 +03:00
Recep Aslantas fbbc76e705 use g-truc glm style translate, make _self default 2016-09-12 17:46:33 +03:00
Recep Aslantas 96c3bcb2f6 vector ops 2016-09-12 16:52:38 +03:00
Recep Aslantas 603e197d37 get memcpy type as param 2016-09-12 16:51:23 +03:00
Recep Aslantas 3d34f27088 rotate around single axis 2016-09-12 10:49:44 +03:00
Recep Aslantas 5fcadc24cc add option to scale with single val 2016-09-12 08:45:10 +03:00
Recep Aslantas 99481985d4 fix print mat4 2016-09-12 08:34:42 +03:00
Recep Aslantas 4aecc0b3e2 matrix transpose 2016-09-12 00:15:03 +03:00