1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-24 14:43:44 +00:00
Commit graph

1922 commits

Author SHA1 Message Date
bjorn 32f73bcbf5 Add missing struct tag; 2019-04-05 05:13:09 -07:00
bjorn 5e74222a48 rm types from util; 2019-04-05 05:12:21 -07:00
bjorn c20c94b3e1 thread: forward declarations; 2019-04-05 05:11:49 -07:00
bjorn bd21c24403 physics: forward declarations; 2019-04-05 05:10:21 -07:00
bjorn 2d98d2fb30 math: forward declarations; 2019-04-05 05:09:34 -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 323f9b3fb0 filesystem: forward declarations; 2019-04-05 04:34:21 -07:00
bjorn 66b7288764 event: forward declarations; 2019-04-05 04:32:58 -07:00
bjorn 9e7b9642de data: forward declarations; 2019-04-05 04:27:48 -07:00
bjorn 0d30448bd0 audio: forward declarations; 2019-04-05 04:16:34 -07:00
bjorn 8df55795b1 rm stdint from util; 2019-04-05 04:08:06 -07:00
bjorn 410a2810cf Move types into their own file; 2019-04-05 04:05:03 -07:00
bjorn 14cab6cd3c Move utf helper into lib; 2019-04-05 04:04:52 -07:00
bjorn 86a342877f rm nextPo2; 2019-04-05 03:56:56 -07:00
bjorn d31dca5520 Free objects in their destructors; 2019-04-05 03:56:10 -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 7932ef6f9f Add type lookup;
Now Ref has a type id instead of a destructor/name, and use the type to
lookup the destructor and name when needed.

This improves performance, since now Ref contains a lot less data and we
can do an integer comparison instead of a string comparison when reading
objects from Lua.
2019-04-05 02:54:54 -07:00
bjorn 64b7ee85f7 Fix rendering with vertexCount of 0; 2019-04-05 01:28:17 -07:00
bjorn c2c4322e3b Add drawMode to lovrModelDraw Batch; 2019-04-05 01:23:48 -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 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 10305a4fed Fix batching problem; 2019-03-25 11:36:29 +09:00
bjorn 793dca03d1 Fix resulting clang warnings; 2019-03-17 01:01:54 -07:00
bjorn 85c51399a6 Fix MSVC warnings; 2019-03-17 00:58:13 -07:00
bjorn a9ca346ee1 Fix base path in model loaders; 2019-03-16 22:03:00 -07:00
bjorn 9744d95039 Fix snprintf warning;
There's a potential string truncation here if you have a uniform array with a really long name.
2019-03-16 19:43:04 -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 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 1d7e8519d6 Organize luax_setmainthread; 2019-03-14 13:36:51 -07:00
bjorn 12cf311490 Use mipmaps and filtering for OpenVR Canvas;
It leads to a prettier mirror window.  There is some performance overhead, that can be dealt with as needed.
2019-03-13 20:44:15 -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 c1705da8b7 Improve shader compilation error; 2019-03-13 09:31:06 -07:00
bjorn e008ea7a28 Consistency; 2019-03-13 09:21:14 -07:00
bjorn 94ac64e7f4 Add std140 layout qualifier to DrawData block; 2019-03-13 09:20:33 -07:00
bjorn ce20447260 Use proper ifdefs for LOVR_WEBGL; 2019-03-12 13:18:14 -07:00
bjorn a14e15f856 Only fence when needed;
There appears to be some sort of problem where syncing on WASM and
Android leads to dropped frames.  The only sync that causes this
problem is the delayed sync that occurs after rolling over a
buffer -- in that case the sync is often placed one frame late
once we realize that the rollover has occurred.  I'm not sure if
this is a driver quirk or an improper use of glFenceSync but for
right now avoiding the fence on the problematic platforms fixes
the immediate issue.
2019-03-12 13:09:21 -07:00
bjorn 921d14014e TextureData:setPixel supports more formats; 2019-03-11 13:36:22 -07:00
bjorn cf5ad64deb WebVR: Use new dynCall syntax for function pointers; 2019-03-09 03:00:50 -08:00
bjorn b513990095 Allocate oculus mobile Canvas on stack; 2019-03-07 04:47:08 -08:00
bjorn 843a7b2462 Remove angle conversion in oculus_mobile;
Relies on a separate fix in lovr-oculus-mobile.
2019-03-07 03:20:23 -08:00
bjorn 9e6ead30e7 Oculus mobile formatting; 2019-03-07 03:19:50 -08:00
Bjorn Swenson 0927df8246
Merge pull request #116 from bjornbytes/headset-render-error
Refactor asynchronous headset render errors;
2019-03-07 01:24:09 -08:00
bjorn 9313394e22 Call coroutines T; 2019-03-07 01:19:40 -08:00
bjorn b28face914 Handle coroutine stuff properly; 2019-03-07 01:04:45 -08:00
bjorn e24a80685b Update stb_image_write;
And disable stdio support for it, since it isn't needed.
2019-03-07 00:02:11 -08:00
bjorn ce029cb5c5 Fix emscripten; Properly clear error on Android; 2019-03-06 23:17:29 -08: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 Swenson 86ef954287
Merge pull request #111 from mcclure/oculus-fix-19feb
Fix Oculus driver compilation
2019-03-06 22:25:31 -08:00
bjorn f1ff7bc38a Use luax_setmainthread on Android; 2019-03-06 08:44:07 -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 d1c6b9d9c3 Improve error message for TextureData:getPixel and setPixel; 2019-02-28 19:35:32 -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 e05b835927 Fix prototypes; 2019-02-17 14:39:51 -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 d0b189a8f5 v0.12.0; 2019-02-14 10:33:07 -08:00
bjorn 62bce139d3 Fix mat4 constructor; 2019-02-14 10:31:22 -08:00
bjorn e80e806b9d Always flush ShaderBlocks; 2019-02-14 10:20:19 -08:00
bjorn 241abb5b2b Explicitly set generic int attribute for WebGL; 2019-02-14 10:11:10 -08:00
bjorn 1d3b05a515 Make bone IDs unsigned for WebGL; 2019-02-14 09:49:31 -08:00
bjorn 912dec3c78 Reduce clientWiatSync timeout for WebGL; 2019-02-14 09:43:49 -08:00
bjorn a763a6d2e1 Fix emscripten entry/exit points; 2019-02-14 09:22:00 -08:00
bjorn 69b6e599e9 Re-add Model:getMaterial and Model:setMaterial; 2019-02-13 23:55:47 -08:00
bjorn 7c6accf856 Rebuild boot.lua; 2019-02-13 23:48:50 -08:00
bjorn b9b719e862 Fix gamma correct issue with built-in Camera; 2019-02-13 21:14:45 -08:00
bjorn b27b9be7bd Just ignore unknown OBJ materials; 2019-02-13 20:53:30 -08:00
bjorn 016fc88199 Avoid isspace on MSVC; 2019-02-13 20:37:30 -08:00
bjorn a081ab8aed Update lovr.headset in the error screen; 2019-02-13 20:37:06 -08:00
bjorn beeb1e8911 Handle more edge cases while parsing OBJ; 2019-02-13 20:11:39 -08:00
bjorn be58911276 Fix several Mesh problems; 2019-02-13 17:20:43 -08:00
bjorn 6a443e0dca rm assimp; 2019-02-13 15:10:52 -08:00
bjorn a02d4eb659 rm VertexData; 2019-02-13 15:10:52 -08:00
bjorn 4373e29bea OBJ groups/materials; 2019-02-13 15:10:52 -08:00
bjorn 6857b01ac0 Start OBJ parser; Optimize glTF parsing; 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 9deab224da Handle scene root properly; 2019-02-13 15:10:52 -08:00
bjorn db391a7d68 Make cubic spline error more polite; 2019-02-13 15:10:52 -08:00
bjorn a8edf89279 Mark base64 URIs as NYI; 2019-02-13 15:10:52 -08:00
bjorn 3911c9d7c8 Support animation names; 2019-02-13 15:10:52 -08:00
bjorn d25f59582e Handle missing textures better; 2019-02-13 15:10:52 -08:00
bjorn 0add9526ad OpenVR Controller Models; 2019-02-13 15:10:52 -08:00
bjorn 2338e0ceb1 Change animator iteration; 2019-02-13 15:10:52 -08:00