1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-06 06:13:36 +00:00
Commit graph

721 commits

Author SHA1 Message Date
bjorn bd609fc338 rm Controller:getHand; 2019-05-12 22:21:06 -07:00
bjorn cb0a40a4b6 lovr.headset.isDown; lovr.headset.isTouched; 2019-05-12 22:21:06 -07:00
bjorn 45757f2fa3 Fixes; 2019-05-12 22:21:06 -07:00
bjorn b95280006a lovr.headset.newModel; 2019-05-12 22:21:06 -07:00
bjorn cb79973b98 lovr.headset.vibrate;
Signature changed to take strength, duration, and frequency.  All
are optional.
2019-05-12 22:21:06 -07:00
bjorn 36e4529dca lovr.headset.getAxis;
Takes a path and returns 1-3 float values representing the components
of the axis at the path.  The "touchx" and "touchy" axes are now just
"touchpad".
2019-05-12 22:21:06 -07:00
bjorn 5ab8904809 Controller polyfill; rm Controller pose functions; OpenVR paths; 2019-05-12 22:21:06 -07:00
bjorn f87b4e6a25 Read paths; Desktop driver uses paths; 2019-05-12 22:21:06 -07:00
bjorn 48cf7e1874 Start paths; 2019-05-12 22:21:06 -07:00
bjorn 8208238df7 Support multiple tracking drivers;
Now the lovr.headset module initializes one display driver (the
first one in the list) and multiple tracking drivers.  Only drivers
that implement 'renderTo' will be considered for display driver.

Tracking drivers are stored in a linked list, and retrieving pose
information involves trying all of the tracking drivers until the
pose is found.
2019-05-12 22:21:06 -07:00
bjorn c9775c84ac Remove t.gammacorrect flag;
Gamma correct rendering is core in all supported OpenGL versions,
and it's usually a good idea to enable it.
2019-05-03 17:53:33 -07:00
bjorn 594921d2ec newThread: can load thread code from a file or Blob;
Also fix a lifetime issue: If the string containing thread code was
garbage collected before you started the thread, you would have been
running free'd memory as Lua code!
2019-05-02 15:09:54 -07:00
bjorn 0e0cfee6e8 Font:getWidth returns lineCount; 2019-04-27 11:13:37 -07:00
bjorn c021afedae Fix more warnings; 2019-04-20 18:42:25 -07:00
bjorn b95c97ff57 rm unused mat4_setTransform function; 2019-04-20 14:15:43 -07:00
bjorn 0341233876 Also support hexcodes in lovr.graphics.clear; 2019-04-20 13:38:09 -07:00
bjorn f268810d2a Minor cleanup; Fix some undefined behavior; 2019-04-20 13:11:11 -07:00
bjorn ec7afed2cb Update one trailing reference to lib/math.h;
In a comment...
2019-04-20 11:41:29 -07:00
bjorn 196b4ed010 Rename math to maf;
It's funnier and more compatible with some compiler setups,
since it won't get confused with the system <math.h>.
2019-04-20 11:39:20 -07:00
bjorn 9d90e83657 Fix Mesh attribute normalization;
Normalize i8 and u8 attribute by default.

Forward attribute normalization from glTF accessors.
2019-04-13 16:08:58 -07:00
bjorn 44be3608a7 lovr.headset.getDirection; Controller:getDirection; 2019-04-12 15:08:45 -07:00
bjorn fa4f240b7b Fix plane uv argument parsing; 2019-04-05 05:50:43 -07:00
bjorn 011db5f1e5 Revert "Free objects in their destructors;"
This reverts commit d31dca5520.

We can't unconditionally free because sometimes objects are temporarily
allocated on the stack.
2019-04-05 05:45:05 -07:00
bjorn a5891bad92 lovr.graphics.plane uv arguments; 2019-04-05 05:34:28 -07:00
bjorn 941fc1717f headset: forward declarations; 2019-04-05 05:08:03 -07:00
bjorn ee27af1a85 graphics: forward declarations; 2019-04-05 04:59:14 -07:00
bjorn 66b7288764 event: forward declarations; 2019-04-05 04:32:58 -07:00
bjorn 0d30448bd0 audio: forward declarations; 2019-04-05 04:16:34 -07:00
bjorn ae470d8804 Make registertype/extend type a macro;
Just a nice-to-have.
2019-04-05 03:48:36 -07:00
bjorn 6fdeda9e61 Make lovrRelease non-generic;
We know what type we're releasing 99% of the time, we don't need to
play a guessing game in lovrRelease, just have the caller say which
destructor to use.

There is lovrGenericRelease for situations where we need it, which
does the slower lookup of the destructor.
2019-04-05 03:41:03 -07:00
bjorn efbc88073e Write vertices at batch time; 2019-04-05 00:49:50 -07:00
bjorn 7409f34d36 lovr.graphics.getStats does a flush; 2019-04-01 07:37:05 +09:00
bjorn ab42e2ca18 Fix bug when reading point/line/triangle primitive data;
- When reading points from a table of numbers, the array
  indexing was not correct and vertex positions were not
  getting correctly written.
- The normals/texture coordinates weren't getting written,
  so their values were using whatever was in the buffer.
  Now they are always set to zero.
2019-03-31 00:23:02 +09:00
bjorn 85c51399a6 Fix MSVC warnings; 2019-03-17 00:58:13 -07:00
bjorn 7441456aab Rename lovr.graphics.getSupported and getSystemLimits;
"Features" and "Limits" will be the standard terminology used now.
2019-03-14 21:24:25 -07:00
bjorn bf5dd56254 vec3:add and vec3:sub accept numbers; 2019-03-13 20:36:50 -07:00
bjorn 8722b6e296 Improve Canvas attachment errors; 2019-03-13 09:35:28 -07:00
bjorn 921d14014e TextureData:setPixel supports more formats; 2019-03-11 13:36:22 -07:00
bjorn 569c9f7a11 Refactor asynchronous headset render errors;
It's now a more general error stored in the registry instead of
in a global variable.  There are more helper functions.
2019-03-06 23:17:29 -08:00
bjorn d45e56146a Rename fake to desktop; 2019-03-06 23:02:47 -08:00
bjorn d340fc7aaa Polyfill LUA_RIDX_MAINTHREAD;
Instead of using a static variable.
2019-03-06 08:42:32 -08:00
bjorn d4c8382306 Fix improper istype calls in LuaJIT; 2019-03-05 02:45:46 -08:00
bjorn 55670ab408 rm trailing whitespace; 2019-03-05 02:29:21 -08:00
bjorn 3d928c1118 lovr.graphics.newMesh accepts Blob again; 2019-03-05 02:08:53 -08:00
bjorn 27e2c56bee lovr.filesystem.read takes and returns byte count; 2019-03-05 01:59:31 -08:00
bjorn a8e201d89e TextureData:getFormat; 2019-02-28 19:29:30 -08:00
bjorn 5e0c2e531f Source:getPose; Source:setPose; 2019-02-18 18:07:28 -08:00
bjorn 41dbf6115b Source:getOrientation; Source:setOrientation; 2019-02-18 18:01:17 -08:00
bjorn af155ff0c5 Ensure Blob size is positive; 2019-02-17 18:43:52 -08:00
bjorn 0cba1ba28d lovr.audio.getPose; lovr.audio.setPose; 2019-02-17 18:26:56 -08:00
bjorn 075b71e58c Collider:getPose; Collider:setPose; 2019-02-17 18:20:35 -08:00
bjorn 90d6e2b407 Make binding functions static; 2019-02-17 14:52:22 -08:00
bjorn d529620fea rm unused variables; 2019-02-17 14:19:39 -08:00
bjorn 581d1d7a74 Fix warnings; 2019-02-16 23:43:20 -08:00
bjorn 62bce139d3 Fix mat4 constructor; 2019-02-14 10:31:22 -08:00
bjorn 69b6e599e9 Re-add Model:getMaterial and Model:setMaterial; 2019-02-13 23:55:47 -08:00
bjorn b9b719e862 Fix gamma correct issue with built-in Camera; 2019-02-13 21:14:45 -08:00
bjorn be58911276 Fix several Mesh problems; 2019-02-13 17:20:43 -08:00
bjorn a02d4eb659 rm VertexData; 2019-02-13 15:10:52 -08:00
bjorn 9136c7e3c1 Model:getAABB;
It takes animated node transforms into account!  But not skinning.
2019-02-13 15:10:52 -08:00
bjorn a24d7e5447 Bugfixes during testing; 2019-02-13 15:10:52 -08:00
bjorn 3911c9d7c8 Support animation names; 2019-02-13 15:10:52 -08:00
bjorn bea2140676 Animation optimization; Cleanup; 2019-02-13 15:10:52 -08:00
bjorn 09936a8ae2 Load animation names; General testing; 2019-02-13 15:10:52 -08:00
bjorn 540b6a60e0 Refactoring; 2019-02-13 15:10:52 -08:00
bjorn 0a4344577e Skinning work; Bugfixes; 2019-02-13 15:10:52 -08:00
bjorn 70dc871f88 More work on Animator; 2019-02-13 15:10:52 -08:00
bjorn 80bb75968e WIP animator rewrite; 2019-02-13 15:10:52 -08:00
bjorn 6b323e3476 Start parsing glTF; 2019-02-13 15:10:52 -08:00
bjorn 50e86579c2 vec3:min; vec3:max; 2019-02-08 12:39:10 -08:00
bjorn 3c83b36845 LuaJIT: Add .name metafields for compatibility; 2019-02-08 08:13:47 -08:00
bjorn 4a25a0120f Vector rework; 2019-02-08 08:13:47 -08:00
bjorn dc7f9cd0d5 lovr.graphics.getPixelDensity; 2019-02-05 12:46:48 -08:00
bjorn 8e942561f1 Simplify CompareMode handling; 2019-02-01 15:10:12 -08:00
bjorn 85ab7c7c6e Fix comment typo; 2019-02-01 14:44:13 -08:00
mcc 4859360209 Fix compile with -DLOVR_ENABLE_HEADSET=NO 2019-02-01 13:20:28 -08:00
bjorn eae3669fea Rebuild math.lua.h; 2019-01-31 13:54:54 -08:00
bjorn a1361fcd41 mat4:unpack accepts raw flag; rm redundant functions; 2019-01-30 16:18:08 -08:00
bjorn 0eb2789a2d Improve mat4:set;
Ended up removing the diagonal variant, sorry holo.
2019-01-30 16:13:44 -08:00
bjorn 3d4cb166bc Add quat:length; 2019-01-30 00:56:57 -08:00
bjorn bf89216997 Explicitly convert lua_Numbers to floats; 2019-01-29 22:04:04 -08:00
bjorn 03e3e14718 Font:setFlipEnabled; Font:isFlipEnabled; 2019-01-29 21:49:49 -08:00
bjorn 6291a5ad5a Always check malloc result; Less calloc;
Some more questions:

- Should there be some kind of allocation helper so you don't need
  to always check the result?
- Throwing an error on OOM is convenient and is probably correct 90%
  of the time, it even provides a nice error message instead of a
  nil dereference somewhere.  But it's inflexible.  Is it the right
  thing to do?
2019-01-29 16:53:01 -08:00
bjorn 5d29ec2db1 Curve supports vec3; 2019-01-29 16:33:44 -08:00
bjorn a878139e26 rm math out args;
Needs more consideration before it can be added at the desired quality level.
2019-01-29 16:05:48 -08:00
bjorn 6c5ceabe02 Fix quat:set(nil) in vanillua; 2019-01-29 16:05:48 -08:00
bjorn dac289d624 mat4:__mul works with vec3 in vanillua; 2019-01-29 16:05:48 -08:00
bjorn 9839277e8d Fix quat:mul edge case; 2019-01-29 16:05:48 -08:00
bjorn c08cb664e7 mat4:mul; 2019-01-29 16:05:48 -08:00
bjorn 6c961bb404 rm math copy functions;
They are redundant.
2019-01-29 03:57:11 -08:00
bjorn b37fc5dbbe Remove fixed-function mirroring code from headset drivers; 2019-01-28 18:29:50 -08:00
mcc b09c3adeec Fixes to lovr.mirror() requested in PR 2019-01-28 15:03:58 -08:00
mcc aab1bda92d Implementation of getMirrorTexture() 2019-01-28 15:03:58 -08:00
mcc 95fcc3eb0b Attempt to make a lovr.mirror() for Window purposes as discussed in chat.
Adds lovr.graphics.hasWindow()
2019-01-28 15:03:58 -08:00
bjorn b410227990 Font:getRasterizer; Font:setPixelDensity(nil); 2019-01-25 12:54:11 -08:00
bjorn 6fd4b9ef4c Header cleanup; 2019-01-24 17:43:25 -08:00
bjorn cb9f166234 Revert "Replace sprintf with stb version;"
This reverts commit 8f9d24c51f.
2019-01-24 17:39:27 -08:00
bjorn c473bf50e8 Buffers individually keep track of their flush range;
Fixes bugs with attached Mesh attributes, where flushing wasn't
happening when it should have.
2019-01-22 12:11:01 -08:00
bjorn 25606738c5 rm Curve:getDegree; 2019-01-21 09:49:07 -08:00
bjorn 8e0ccbf09a Curve:split -> Curve:slice; 2019-01-20 20:36:42 -08:00