30 Commits

Author SHA1 Message Date
Ben Visness
9097224f37 Add array subscript operators for all types (#88)
* Add array subscript operators for all types

* Taking the parameter for the operator[] as a reference. This should allow it to be inlined

* I guess you can't do that.

* Update version and readme
2018-07-01 15:08:46 +02:00
Ben Visness
b13e3a317c WIP: Properly initialize all elements of LookAt matrix (#84)
* Properly initialize all elements of LookAt matrix

* Update version and readme

* Add a test for LookAt

good enough
2018-07-01 15:08:46 +02:00
Ben Visness
52fd5cceb4 Update README.md 2017-10-31 19:28:59 -05:00
Ben Visness
8e67482295 Update README.md 2017-10-31 11:07:07 -05:00
Ben Visness
250c38e845 Update README.md 2017-10-31 11:01:31 -05:00
Ben Visness
4981d5ab89 Convert everything to new inline scheme (#57) (#72)
* Convert everything to new inline scheme

* Add both extern and inline for some SSE vs. non-SSE functions

Some functions had nice, compact SSE implementations but bulky non-SSE
implementations, so this commit inlines just the implementations that make
sense. Also updated documentation.

* Convert HINLINE and HEXTERN to HMM_INLINE and HMM_EXTERN
2017-10-31 10:16:36 -05:00
Ben Visness
575fcb767d Update README.md 2017-10-31 10:06:22 -05:00
strangezak
53bc939d8e Updated email 2017-10-04 09:40:31 -07:00
Ben Visness
7eb4ae1846 Update README for 1.4.0 2017-10-02 11:17:11 -05:00
Ben Visness
afd726ab0b Automatically include C++ definitions (#67) 2017-08-02 10:12:06 -05:00
Ben Visness
efd9f2f4b7 Matrix Multiply SSE (#65)
* SSEd HMM_MultiplyMat4 and HMM_Transpose. And added HMM_LinearCombineSSE

* Maybe Travis doesn't support SSE?

* Fix compile process so the SSE option is consistently defined

* Fix link error

* Documentation

* Added function prototype for operator ==

* Added != operator for hmm_vec2, hmm_vec3, hmm_vec4

* Add C versions of equality checks

Also made the C++ tests actually run...😳

* Update documentation
2017-07-16 21:19:34 -07:00
Ben Visness
c8ada18370 Update README for 1.1.5 2017-06-21 09:31:20 -05:00
Ben Visness
924ee43923 Update history to include @DanielGibson's SSE fixes 2017-06-13 11:39:42 -05:00
Ben Visness
440b885d59 Update version to 1.1.4 2017-06-13 11:26:46 -05:00
Ben Visness
cf606db217 Test in both C and C++ (#58)
* Switch to custom unit testing that is compatible with C

* Remove Google Test framework

* Attempt to fix missing math functions

* Link against C math library

* Try forcing c99 again

* Include -lm at compile time

* Move -lm argument to the end

* Update README and gitignore
2017-04-07 08:47:54 -05:00
Ben Visness
67b84dece7 Fix invalid HMMDEF's in function definitions (#56)
* Fix invalid HMMDEF's in function definitions

* Update version number and readme
2017-03-29 16:19:25 -07:00
Ben Visness
ad3039186d Initial quaternion implementation (#49)
* Various changes, and started work on Quaternions

* Worked on Quaternions (#46)

* Working on quaternions

* Finished operations, onto slerp

* Working on slerp

* Finished slerp implementation, next is NLerp

* Cleaned HandmadeMath.cpp

* Removed gbmath includes

* fixed minor issue.

* Fixed function names

* Fixed DotQuat call

* Did a style check

* Double Style Check

* Triple Style Check

* Fixed all the bullshit I did wrong

* Fixed more bs

* Added new functions

* Finished function implements

* Fixed some compile errors

* Fixed UTF-8 Error

* Added in most operator overrides

* Changed instances of HMM_PI to HMM_Pi32

* Fixed a warning

* Fixed a major issue with quaternion to matrix function where rotations about the y axis caused strange warping.

* Revert "Fixed a warning"

This reverts commit 043decab0d.

* Revert repo

* Fixed Quaternion to Matrix function.

* Fixed some prevalent issues, and now pulls triganometric funcitions from the std instead of implementing them.

* Fixed tab formatting, added in reverse multiplication function with Quaternions

* Removed error suppression cleanup, as it was causing more warnings. . .

* Added documentation

* Changed ATanf2 to ATan2f

* Fixed some typos and added additional documentation (#48)

* Add tests for quaternions

* Remove (very wrong) quaternion division in favor of multiplying by inverse

* Put back newlines at ends of files

* Make tweaks for PR

* Add assigning arithmetic operators for quaternions

* Add NLerp

Just to make Jonathan Blow happy: http://number-none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It/

* Rearrange parameters of HMM_Slerp

It now matches HMM_Lerp and HMM_NLerp.

* Update README.md
2017-01-04 16:25:12 -08:00
Zak Strange
aed68cc894 Version 1.0 2016-11-02 14:27:13 -07:00
Zak Strange
14f7d13cba Updated README.md 2016-09-06 11:22:35 -07:00
Zak Strange
86dfb43c1f Updated README.md 2016-08-30 13:55:14 -07:00
Ben Visness
340f0bddbf Merge remote-tracking branch 'upstream/master' into unit-tests
# Conflicts:
#	README.md
2016-08-29 11:35:29 -05:00
Zak Strange
c9107ad5de Fixed README.md links 2016-08-28 10:24:35 -07:00
Zak Strange
b638056bcd Updated README.md and Fixed SSE code 2016-08-25 16:11:03 -07:00
Ben Visness
603dcc2f4a Add Google Test setup and one unit test 2016-08-25 16:04:42 -05:00
Ben Visness
fa9f401844 Update README.md 2016-08-25 14:22:46 -05:00
Ben Visness
c9ec065fd5 Add documentation for v0.5 2016-08-23 18:20:59 -05:00
Zak Strange
ed4aef49e1 0.4 - Removed use of CRT 2016-08-20 09:13:37 -07:00
Zak Strange
80d2492d86 0.3 - Added +=,-=, *=, /= for hmm_vec2, hmm_vec3, hmm_vec4 2016-08-19 20:28:32 -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
=
c4a8f1a2b1 Added README.md 2016-01-22 19:30:24 -07:00