256 Commits

Author SHA1 Message Date
Landon Manning
2370daf5f3 Encapsulate should be explicit
inner needs to actually be inside outer, they cannot be the same size or
on the same plane(s).
2015-09-24 01:30:32 -03:00
Landon Manning
50edbb1b82 Added some intersects
* Added aabb_aabb
* Added encapsulate_aabb
* Changed point_aabb to take a min and max instead of position and
volume
* Removed boolean returns from line_line and segment_segment
2015-09-24 01:05:20 -03:00
Colby Klein
4a4ad08a35 Add vec2.lerp, tests, and fix some minor bugs.
- Added missing vec2 lerp (same as vec3's)
- Added lerp to vec2 and vec3 metatable
- Added tests for vec2 (incomplete)
- Fixed vec2/number being the same as number/vec2
- Fixed vec2 constructor to match vec3's
2015-09-15 07:05:22 -07:00
Colby Klein
951aea865f Proper fix for the quat.to_axis_angle bug.
Apparently, I was getting a number so close to -1 (but just under) that
it just printed as -1. Fuck off.
2015-09-14 13:35:01 -07:00
Colby Klein
18dd29d1b5 Work around math.acos(-1) returning NaN on LuaJIT... sometimes. 2015-09-14 13:26:05 -07:00
Colby Klein
6a5771348c Minor doc/test updates for vec3 2015-09-13 05:51:13 -07:00
Colby Klein
fb1778e45c Update vec3 docs 2015-09-11 13:39:19 -07:00
Colby Klein
78989682cf Add LDoc documentation. Utils done. 2015-09-11 07:59:05 -07:00
Landon Manning
449bf861d4 Added ability to divide a number over a vector.
Example: `local s = 1/scale`
2015-09-09 23:14:33 -03:00
airstruck
a4d611c227 fix tabs 2015-09-08 05:05:39 -04:00
airstruck
b50194bebc support negative values passed to frexp 2015-09-08 05:01:11 -04:00
Colby Klein
5081314be6 Missed a line. 2015-09-08 01:35:38 -07:00
Colby Klein
7257d1b343 Use our own frexp if it's not available (Lua 5.3+) 2015-09-08 01:33:19 -07:00
airstruck
ff33633b56 fix leaked globals 2015-09-02 18:43:12 -04:00
Colby Klein
9458738e11 Switch vec2*vec2 to per-component, add vec2.dot 2015-09-01 15:06:31 -07:00
Colby Klein
d198d7f97f Backout some FFI code - didn't work. 2015-08-25 11:10:18 -07:00
Colby Klein
cb41f1c4a7 Don't explode if the module has been hot reloaded.
Argh, struct redefinition errors. I'm glad that you can pcall this at
least.
2015-08-19 14:30:48 -07:00
Colby Klein
e6b9c84a6c Add utils.deadzone and threshold + tests 2015-08-15 01:19:44 -07:00
Colby Klein
54daab8ce2 Fix vec3 test failures, add unit vectors. 2015-08-15 01:06:32 -07:00
Colby Klein
6f050bd1c8 Add utils.smoothstep (smooth hermite interpolation) 2015-08-10 18:59:43 -07:00
Colby Klein
871c9246d0 Back vec2 and vec3 with FFI types if possible. 2015-08-10 18:56:48 -07:00
Colby Klein
9bc4d164dc Fix ray_aabb typos. 2015-08-10 17:59:32 -07:00
Colby Klein
d1dc50761f Fix mat4.look_at offset 2015-08-10 17:59:18 -07:00
Colby Klein
61e4c33852 Add mat4.hmd_perspective 2015-07-25 22:47:15 -07:00
Colby Klein
88e8ebc3de Add quaternion.unpack. Now vec2/3/quat all have it. 2015-07-25 19:31:14 -07:00
Colby Klein
59e844dd34 Remove vec3.tuple (again?). It's a dupe of unpack 2015-07-25 19:29:11 -07:00
Colby Klein
01f7aeeff9 Fix mat4.perspective 2015-07-25 19:27:07 -07:00
Colby Klein
1a90004e0d Add (VERY) experimental vec3-turbo, test stubs. 2015-07-25 07:21:16 -07:00
Colby Klein
2869d51035 Fix vec2/vec3.angle_to
I'm not sure of this is technically more correct, actually, but after
this fix I get the expected results.
2015-07-25 07:19:53 -07:00
Colby Klein
c102ded4ba Add operators and lerp to cpml.color 2015-07-25 07:17:50 -07:00
Landon Manning
6315124c6e Added intersections
* intersect.segment_segment(p1, p2, p3, p4)
* intersect.point_AABB(point, box)
2015-07-10 22:36:17 -03:00
Colby Klein
e6fdd92553 Add vec3.tuple, remove some dead code 2015-07-10 12:33:31 -07:00
Colby Klein
7cdca018aa Add quat.cross, fix quat.rotate, cleanup. 2015-07-10 12:25:39 -07:00
Colby Klein
6a0e56d799 Add some TODOs 2015-05-06 21:11:42 -07:00
Colby Klein
bc469dfee9 Add ray-plane and ray-box intersections 2015-05-05 02:04:51 -07:00
Colby Klein
f12e076782 Add conversions, fix unproject, perspective, m*v, look_at 2015-05-05 02:04:34 -07:00
Colby Klein
2b3f8bc31b Add quat:clone() 2015-05-05 02:03:02 -07:00
Colby Klein
58b3b30b4b Cleaner tostring output for vec3 2015-05-05 01:59:41 -07:00
Colby Klein
b6c8164935 Add precision argument to utils.round 2015-04-25 06:29:20 -07:00
Colby Klein
f60a7a144c remove vec3.tuple (dupe of unpack) 2015-04-25 05:50:22 -07:00
Landon Manning
3b53764662 I thought I updated this... 2015-04-18 06:01:24 -03:00
Colby Klein
f2e426015e Add Quadtree and Octree modules. 2015-04-11 19:53:12 -07:00
Colby Klein
a5eaebd622 Add utils.is_pot(n) to check for power-of-two. 2015-04-01 01:29:45 -07:00
Colby Klein
cb4ba40bad Add gamma correction to color module (for hate) 2015-03-22 16:54:56 -07:00
Colby Klein
5a1074466b Add color and utils modules.
A pile of color functions needed for DOMinatrix.
2015-03-16 08:24:11 -07:00
Landon Manning
a1723f5028 More consistency! 2015-01-16 04:14:40 -05:00
Landon Manning
00c01a985a Fixed consistancy 2015-01-16 03:54:41 -05:00
Colby Klein
503572336d vec2.normalized -> vec2.normalize 2015-01-13 03:23:37 -08:00
Landon Manning
f5e93a3ea5 Snagged vec2 from @vrld's HUMP library
This was the original basis of vec3, so why not add it in, too?
2014-12-21 00:51:14 -05:00
Landon Manning
d2d3c6c12f Fixed some stuff 2014-12-08 05:42:21 -04:00