213 Commits

Author SHA1 Message Date
Ben Visness
50ab386db5 Sort of get FPS controls working
not really though, holy cow
2018-08-14 13:16:04 -05:00
Ben Visness
f5c8f23d62 Update build.bat to better contain files 2018-07-10 21:31:13 -05:00
Ben Visness
d67607d3d1 Get stuff kind of working on Windows 2018-07-10 21:26:16 -05:00
Ben Visness
fabad91c39 Get an FPS cam kind of working! (no mouse input yet) 2018-07-01 15:08:46 +02:00
Ben Visness
8332a2d907 leave a more...aggressive comment for future me 2018-07-01 15:08:46 +02:00
Ben Visness
449091185e Clean up rotation mess (and leave a comment about why it's wobbly) 2018-07-01 15:08:46 +02:00
Ben Visness
33f24a8289 Commit all this horrible rotation stuff for posterity before I delete it 2018-07-01 15:08:46 +02:00
Ben Visness
d24e33c03a Fix whitespace issues 2018-07-01 15:08:46 +02:00
Ben Visness
0a79c70dff Add more tests that actually break stuff for some reason 2018-07-01 15:08:46 +02:00
Ben Visness
eedda7ca4c First attempt at Mat4 to Quaternion (might have rows and columns swapped?) 2018-07-01 15:08:46 +02:00
Ben Visness
850efa3606 Bump file version 2018-07-01 15:08:46 +02:00
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
88d583e6ac WIP camera stuff. Missing some useful quaternion helpers. 2018-06-11 15:40:31 -05:00
Ben Visness
3a382212f9 Add .obj loading and rendering 2018-05-28 17:44:35 -05:00
Ben Visness
ba02e1a9c4 Rework RenderComponent to be more flexible 2018-05-28 13:21:43 -05:00
Ben Visness
ba5982b2a9 Add delta time stuff 2018-05-28 12:31:17 -05:00
Ben Visness
373e9517b4 Add a bit of a component tree 2018-05-27 21:36:00 -05:00
Ben Visness
2d71b1b11b Add an example cube (tutorials!) 2018-05-27 16:22:54 -05:00
Ben Visness
fdea881102 Start of example program 2018-05-27 15:08:07 -05:00
Ben Visness
f8b3a84cec WIP: Make tests quite a lot nicer (#81)
Make tests quite a lot nicer
2018-02-18 14:19:31 -06:00
IJzerbaard
77914405c3 Use SSE in HMM_MultiplyMat4ByVec4 (#77)
Implements HMM_MultiplyMat4ByVec4 with HMM_LinearCombineSSE if SSE is
enabled.
2018-02-11 13:24:39 -06:00
IJzerbaard
eb5c659148 Improve HMM_MultiplyMat4 (#76)
Remove all transposes, (AT BT)T = BA
2018-02-10 17:59:07 -06: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
c508ce342b Create LICENSE 2017-10-31 11:04:56 -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
v1.5.0
2017-10-31 10:16:36 -05:00
Ben Visness
5f173e0176 Update CONTRIBUTING.md 2017-10-31 10:09:27 -05:00
Ben Visness
575fcb767d Update README.md 2017-10-31 10:06:22 -05:00
strangezak
a08262b2d9 Removed old instructions 2017-10-14 19:34:51 -07: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
StrangeZak
48bd24b05e Updated docs 2017-10-01 10:32:53 -07:00
Zak Strange
064baeb5b9 V1.4 - SSE upgrades and bug fixes (#70)
* Fixed bug when using handmademath in C mode

* SSEd vec4 operations

* Fixed hmm_vec4 for non-sse builds. Added SSE option for HMM_Vec4 to load in one instruction

* Whoops. We were loading in the wrong order

* SSEd more things

* SSEd more functions

* Minor fixups

* SSE'd hmm_vec4 initialization

* Removed zeroing

* Vector normalization should be zero'd

* Removed old comments
2017-09-30 14:38:28 -07:00
Ben Visness
afd726ab0b Automatically include C++ definitions (#67) 2017-08-02 10:12:06 -05:00
strangezak
98fffbd7cc Forgot to update version v1.2.0 2017-07-16 21:29:26 -07: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 v1.1.5 2017-06-21 09:31:20 -05:00
Zak Strange
70ac2b7e5b 1.1.5 (#64)
* Added Width, and Height to hmm_vec2, and fixed SqrtF when compiling without the CRT

* Syntax error

* Test all the vector access methods
2017-06-14 20:49:44 -07: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 v1.1.4 2017-06-13 11:26:46 -05:00
Emil Lauridsen
98f535aeec Handle zero-vector normalization. (#63)
* Handle zero-vector normalization.

When normalizing a vectors, we have to check whether vector length is
not zero, to avoid dividing by zero when normalizing zero-vectors.

* Test for normalization of zero vectors
2017-06-13 11:21:55 -05:00
Ben Visness
09524f72ed Merge branch 'sse-testing'
# Conflicts:
#	HandmadeMath.h
2017-06-11 18:54:06 -05:00
Emil Lauridsen
be30046a5a C89 style comments (#62) 2017-06-11 10:32:46 -07:00
Daniel Gibson
ff4513ff33 Make it usable on non-SSE platforms (#60)
* at one place HANDMADE_NO_SSE instead of HANDMADE_MATH_NO_SSE was used
* introduce HANDMADE_MATH__USE_SSE for the SSE #ifdefs throughout code
  - use #ifdef HANDMADE_MATH_NO_SSE at only one place
* only use SSE (#define HANDMADE_MATH__USE_SSE) if the targetplatform
  actually supports it
  => users don't have to #define HANDMADE_MATH_NO_SSE on ARM etc
* at one place HMM_SqrtF instead of HMM_SquareRootF was used
2017-06-09 17:14:24 -07:00
Ben Visness
364569abe9 Fix wrong name for square root function 2017-06-09 10:43:11 -05:00
Ben Visness
a9972e71da Test both with and without SSE 2017-06-09 10:37:38 -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
v1.1.3
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
v1.1.2
2017-03-29 16:19:25 -07:00