Commit Graph

409 Commits

Author SHA1 Message Date
bjorn a17f10e273 Add modules folder; 2019-05-19 00:38:35 -07:00
bjorn 1792f066f2 Fix CMakeLists; Fix buffer unmapping; Formatting; 2019-05-18 01:09:06 -07:00
bjorn 6134abe866 Handle vsync better;
- Add vsync flag to t.window and lovr.graphics.createWindow.
- vsync is 1 by default.
- Some headset drivers override vsync if they have special timing requirements.
2019-05-14 00:18:22 -07:00
bjorn f786c40b4e Rework Buffer updates;
Use unsynchronized mapped buffers on macOS.

Reduce amount of Buffer flushes and stalls by flushing once per
batch instead of once per draw.
2019-05-13 20:35:21 -07:00
bjorn b8ed63fcc4 Fix double/float conversions; 2019-05-13 04:28:57 -07:00
bjorn 429efcb38d Change circle size argument from diameter to radius; 2019-05-12 23:34:04 -07:00
bjorn ebcdc6d36e Ensure bone pose gets reset when not animating; 2019-05-12 22:23:28 -07:00
bjorn 28c453075a Fix batching overflow; 2019-05-12 22:23:28 -07:00
bjorn 511afef0c6 Fix batching issue with non-instanced primitives; 2019-05-12 22:23:28 -07:00
bjorn c95c0afb4c Set alpha sampling to false in lovr.graphics.reset; 2019-05-08 20:09:42 -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 7af5b9816a Stupid float stuff;
I'm sorry.
2019-04-20 17:02:48 -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 26435be7ac Fix batching edge case; 2019-04-14 13:47:02 -07:00
bjorn 1e05799669 More conservative buffer locking; 2019-04-11 08:35:55 -07:00
bjorn a5891bad92 lovr.graphics.plane uv arguments; 2019-04-05 05:34:28 -07:00
bjorn ee27af1a85 graphics: forward declarations; 2019-04-05 04:59:14 -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 64b7ee85f7 Fix rendering with vertexCount of 0; 2019-04-05 01:28:17 -07:00
bjorn a28b333899 Split draw data stream into two streams;
Also the max number of draws can be hardcoded to 256 now.
2019-04-05 00:49:50 -07:00
bjorn 88b54a7ab9 Make cursors generic; 2019-04-05 00:49:50 -07:00
bjorn efbc88073e Write vertices at batch time; 2019-04-05 00:49:50 -07:00
bjorn 10305a4fed Fix batching problem; 2019-03-25 11:36:29 +09:00
bjorn 85c51399a6 Fix MSVC warnings; 2019-03-17 00:58:13 -07:00
bjorn 25fe88b493 Limit UBO size in WebGL;
Currently glBindBufferRange does not seem to work properly if the
offset is bigger than the maximum size of a uniform buffer.  The
size of the draw data buffer is being limited as a workaround.
2019-03-14 13:40:19 -07:00
bjorn e008ea7a28 Consistency; 2019-03-13 09:21:14 -07:00
bjorn 581d1d7a74 Fix warnings; 2019-02-16 23:43:20 -08:00
bjorn b9b719e862 Fix gamma correct issue with built-in Camera; 2019-02-13 21:14:45 -08:00
bjorn a02d4eb659 rm VertexData; 2019-02-13 15:10:52 -08:00
bjorn 09936a8ae2 Load animation names; General testing; 2019-02-13 15:10:52 -08:00
bjorn 6b323e3476 Start parsing glTF; 2019-02-13 15:10:52 -08:00
bjorn d12d185e6c Fix lovr.graphics.getPixelDensity when widths are zero; 2019-02-07 14:49:49 -08:00
bjorn f0a975b522 lovrGraphicsGetPixelDensity; 2019-02-05 12:46:48 -08:00
bjorn 86977bd7bd Don't use autoinstancing for stream batches; 2019-01-31 17:23:49 -08:00
bjorn 03e3e14718 Font:setFlipEnabled; Font:isFlipEnabled; 2019-01-29 21:49:49 -08:00
bjorn 30acdd1347 Add semantic GL defines; 2019-01-29 16:05:27 -08:00
bjorn bf19fd5c15 Avoid more implicit float-double conversions; 2019-01-24 17:00:41 -08:00
bjorn bda248b86e Be more intentional about doubles vs. floats; 2019-01-24 16:48:06 -08:00
bjorn bec98004ff Fix vertical text align;
Off-by-one error with counting lines.
2019-01-24 14:07:02 -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 5deae0a103 Rename setWindow back to createWindow;
I'm not sure why this was changed.  It doesn't make very much sense
because setWindow can't be called multiple times, and it can't be
called with nil/NULL.
2019-01-20 20:06:40 -08:00
bjorn 3d2488a577 I forgot DRAW_ID and VERTEX need the same counts; 2019-01-15 19:43:11 -08:00
bjorn 5ac3c51607 Fix shifting precedence; 2019-01-14 12:29:25 -08:00
bjorn 5382bc3379 Fix some batching edge cases;
- Reduce size of vertex buffer by one to account for primitive restart.
- Always write to the draw ID buffer to prevent it from going out of sync with the vertex buffer and prevent a potential problem with geometry reuse.
2019-01-12 18:25:38 -08:00
bjorn 83a56efd5e Ugh; 2019-01-04 18:01:01 -08:00
bjorn dac6b0fdbb Cache geometry; 2019-01-04 18:01:01 -08:00
bjorn 379dc74cd5 Mesh fixes; 2019-01-04 18:01:01 -08:00
bjorn 6f96ee65da Finish primitive restart; 2019-01-04 18:01:01 -08:00
bjorn 67727b092b Start primitive restart; 2019-01-04 18:01:01 -08:00
bjorn 6382c1f71c Cleanup; 2019-01-04 18:01:01 -08:00