Commit Graph

247 Commits

Author SHA1 Message Date
Ben Visness
2c265f0e1d Add missing headers for operators
And flip the order of those two other operators, because having vec2
after vec3 was bugging me.
2016-08-22 19:00:04 -05:00
Ben Visness
03774f3d9c Merge remote-tracking branch 'upstream/master' 2016-08-20 20:54:57 -05:00
Zak Strange
d471f224fa Merge pull request #18 from bvisness/vec4v
Add ability to construct vec4 from vec3 and float
2016-08-20 21:31:36 -04:00
Zak Strange
afba6f4631 Merge pull request #17 from bvisness/add-mat4
Implement addition for mat4's
2016-08-20 21:29:45 -04:00
Ben Visness
a85eb07b3d Merge branch 'vec4v' 2016-08-20 19:50:08 -05:00
Ben Visness
83aa7f404a Merge branch 'add-mat4' 2016-08-20 19:49:57 -05:00
Ben Visness
6259f1b47f Add ability to construct vec4 from vec3 and float
This is very useful for applications using homogeneous coordinates, since I can
take a vec3 representing a position or normal, and construct the appropriate
vec4 in homogeneous coordinates.
2016-08-20 19:46:07 -05:00
Ben Visness
31a6bd200b Implement addition for mat4's 2016-08-20 19:30:08 -05:00
Zak Strange
ed4aef49e1 0.4 - Removed use of CRT 2016-08-20 09:13:37 -07:00
Zak Strange
95780d1fd3 Merge branch 'master' of https://github.com/ZakStrange/Handmade-Math 2016-08-19 20:30:47 -07:00
Zak Strange
80d2492d86 0.3 - Added +=,-=, *=, /= for hmm_vec2, hmm_vec3, hmm_vec4 2016-08-19 20:28:32 -07:00
Zak Strange
7b90618532 Merge pull request #14 from bvisness/option-no-inline
Add ability to disable inlining of functions
2016-08-13 13:34:27 -04:00
Ben Visness
4d21fc5388 Add ability to disable inlining of functions
Some build environments build each source file individually to .o files
and then link after the fact. With inlined functions, this tends to
just produce empty .o files, undefined symbol errors, and grumpy
programmers like me.

This change simply adds the option to disable inlining of functions so
Handmade Math can function properly as a library unto itself.
2016-08-12 23:35:22 -05:00
StrangeZak
140c1caaf2 Fixed return values for HMM_SinF and HMM_TanF 2016-07-31 12:28:09 -07:00
StrangeZak
4fc4e53a60 Fixed HMM_TanF 2016-07-31 09:05:39 -07:00
StrangeZak
cd4f29a703 Added SSE Optimization HMM_Rsqrtf, and HMM_Sqrtf. Removed all direct calls to the CRT, and updated README.md 2016-07-30 15:18:45 -07:00
StrangeZak
08dd60ce55 Updated file header 2016-07-21 05:32:52 -07:00
StrangeZak
1c11130d5c Fixed HMM_PI, and disabled warning 4201 on MSVC 2016-07-21 05:30:33 -07:00
Zak Strange
593bd62f1d Merge pull request #13 from Valmar33/master
Various changes
2016-06-07 13:45:33 -07:00
Kyle De'Vir
2386f967b3 Fixed calculations for HMM_Rotate 2016-06-08 05:19:11 +10:00
Kyle De'Vir
de5c1fbb59 Small fix for HMM_Rotate 2016-06-08 03:36:03 +10:00
Kyle De'Vir
2f6b2fd260 HMM_Rotate - normalize vec3 Axis 2016-06-08 03:30:22 +10:00
Kyle De'Vir
b63e6b558f More changes 2016-06-08 03:11:12 +10:00
Kyle De'Vir
8a9bd47985 Revert change to Perspective function 2016-06-08 00:48:13 +10:00
Kyle De'Vir
b9c83866ff Revert "Revert "Revert "Corrected errors in Perspective function"""
This reverts commit 92f5150a01.
2016-06-08 00:45:57 +10:00
Kyle De'Vir
cbcc1e583e Small fixes 2016-06-08 00:43:39 +10:00
Kyle De'Vir
92f5150a01 Revert "Revert "Corrected errors in Perspective function""
This reverts commit 743d03451d.
2016-06-08 00:39:30 +10:00
Kyle De'Vir
743d03451d Revert "Corrected errors in Perspective function"
This reverts commit 136b049106.
2016-06-08 00:38:27 +10:00
Kyle De'Vir
b4eff02912 Trimmed HMM_Rotate a bit further 2016-06-08 00:37:07 +10:00
Kyle De'Vir
46ce164880 Modified HMM_Rotate 2016-06-08 00:08:16 +10:00
Kyle De'Vir
60d035692b Added Wikipedia reference for HMM_FastInverseSquareRoot 2016-06-05 20:19:59 +10:00
Kyle De'Vir
a1f4117d4b Fixed Rotate function and precomputed SinTheta and CosTheta 2016-06-05 19:57:25 +10:00
Kyle De'Vir
693551b11a Fixed Rotate function and precomputed SinTheta and CosTheta 2016-06-05 18:02:55 +10:00
Kyle De'Vir
f8ef00f23d Added f suffix to HMM_PI 2016-06-05 17:36:40 +10:00
Zak Strange
e8eb4f9bfa Merge pull request #12 from Valmar33/master
Fixed Translate function
2016-06-04 19:19:13 -07:00
Kyle De'Vir
c3fdab8ff2 Translate function - removed redundant 1.0f 2016-06-04 20:28:12 +10:00
Kyle De'Vir
6ab8772438 Fixed Translate function again 2016-06-04 20:10:00 +10:00
Kyle De'Vir
7fb1cad53f Fixed Translate function 2016-06-04 20:05:38 +10:00
Kyle De'Vir
9d177e9270 Revert "Fixed Translate function"
This reverts commit fcb5b41000.
2016-06-04 20:02:17 +10:00
Kyle De'Vir
fcb5b41000 Fixed Translate function 2016-06-04 19:58:37 +10:00
Zak Strange
090f325f1f Merge pull request #11 from Valmar33/master
Changed HMM_ToRadians to use HMM_PI32
2016-05-29 14:34:17 -07:00
Kyle De'Vir
b09f4cc38c Changed HMM_ToRadians to use HMM_PI32 2016-05-29 19:43:28 +10:00
Zak Strange
fc9adc8ab7 Merge pull request #10 from Valmar33/revert-8-revert-7-master
Revert "Revert "Added HMM_FastInverseSquareRoot function""
2016-05-28 13:00:38 -07:00
Valmar33
557900d1b2 Revert "Revert "Added HMM_FastInverseSquareRoot function"" 2016-05-29 05:14:57 +10:00
Zak Strange
6c0f340920 Merge pull request #9 from Valmar33/master
Reverts previous HMM_FastInverseSquareRoot revert
2016-05-28 11:53:23 -07:00
Kyle De'Vir
52a05290b2 Reverts previous HMM_FastInverseSquareRoot revert :P
Hlkpf3 on Mārtiņš Možeiko's comment:

i don't really want to be that guy here.. but it's the internet
and i have no free will: the new built-ins are using 'the function',
so they are not faster than 'the function' - they're just quicker at it.
also, many instruction sets don't offer that functionality yet.
and for some it doesn't make any sense. playstations and the nintendo wii,
for instance, were using powerpc - no. the nintendo wii u also doesn't
have it. the "new 3ds" should in theory be the first nintendo-device with
this intrinsic thanks to ARM11 NEON. can someone confirm that? heck,
some MPUs still don't even have floating-point units. i have heard of
a case where the energy-consumption of a sensor-network for
indoor-localisation could be halved by replacing the sqrt they used
for Pythagoras with this neat buddy here.
2016-05-29 04:16:28 +10:00
Zak Strange
f484818d74 Merge pull request #8 from Valmar33/revert-7-master
Revert "Added HMM_FastInverseSquareRoot function"
2016-05-28 11:13:51 -07:00
Kyle De'Vir
1458cb9321 Revert adding HMM_FastInverseSquareRoot
Not useful anymore.
2016-05-29 04:12:36 +10:00
Valmar33
c70c959ece Revert "Added HMM_FastInverseSquareRoot function" 2016-05-29 04:10:22 +10:00
Zak Strange
73afb729d5 Merge pull request #7 from Valmar33/master
Added HMM_FastInverseSquareRoot function
2016-05-28 11:08:44 -07:00