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

1948 commits

Author SHA1 Message Date
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
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 a8566e2c7c Load materials; 2019-02-13 15:10:52 -08:00
bjorn fc55b5354d Parse scenes; 2019-02-13 15:10:52 -08:00
bjorn 540b6a60e0 Refactoring; 2019-02-13 15:10:52 -08:00
bjorn 6bb569192f Make sure bone indices are ints; 2019-02-13 15:10:52 -08:00
bjorn d1fd59a176 rm string hashing code;
It doesn't work in Visual Studio.
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 40b8b8da7c Fix primitive restart overflow for u32 indices; 2019-02-13 15:10:52 -08:00
bjorn d14af4a79c Fix traversal; 2019-02-13 15:10:52 -08:00
bjorn 67f4aa0cb4 Fix samplers; 2019-02-13 15:10:52 -08:00
bjorn ef12cdf3c2 Fix size calculation; 2019-02-13 15:10:52 -08:00
bjorn 1426b368b8 WIP; 2019-02-13 15:10:52 -08:00
bjorn 80b584aeb5 Compute global transforms better; 2019-02-13 15:10:52 -08:00
bjorn 80bb75968e WIP animator rewrite; 2019-02-13 15:10:52 -08:00
bjorn 2692abb83c Render nodes properly; 2019-02-13 15:10:52 -08:00
bjorn b1b6ec0f6d Parsing improvements; 2019-02-13 15:10:52 -08:00
bjorn e8a2ac8063 Parse materials; 2019-02-13 15:10:52 -08:00
bjorn c66a7468bb Parse textures; 2019-02-13 15:10:52 -08:00
bjorn 39ce68f2be Parse samplers; 2019-02-13 15:10:52 -08:00
bjorn 92aa1a234b Parse images; 2019-02-13 15:10:52 -08:00
bjorn 4ed3cad851 Parse animations; 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
mcc 41e621d006 Back out state.offset change in oculus
This makes rendering work correctly again, but now most likely state.offset does not work right.
2019-02-08 15:00:50 -05:00
mcc 6c152a5fc6 Fix Oculus driver compilation (still renders wrong) 2019-02-08 14:42:13 -05:00
bjorn f34e6f86ea Fix DepthFormat constant in oculus backend; 2019-02-08 10:57:35 -08:00
bjorn f53f64933c WebGL fixes; 2019-02-08 10:32:05 -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 3c08cfb278 Remove gl_FragCoord from fragment shader header;
This fixes a problem where shader compilers are complaining about
the "extension" declarations coming after the "in" declaration.
2019-02-08 07:15:20 -08:00
bjorn d12d185e6c Fix lovr.graphics.getPixelDensity when widths are zero; 2019-02-07 14:49:49 -08:00
bjorn 6f20126020 Fix bug with mesh divisors; 2019-02-05 15:57:22 -08:00
bjorn 0d81745282 Fix error screen; 2019-02-05 13:15:27 -08:00
bjorn dc7f9cd0d5 lovr.graphics.getPixelDensity; 2019-02-05 12:46:48 -08:00
bjorn f0a975b522 lovrGraphicsGetPixelDensity; 2019-02-05 12:46:48 -08:00
bjorn 17641fb7f0 Platform window functions accept NULL pointers; 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 a2cceb0b56 Fix bad interaction between vaos and ibos; 2019-01-31 17:24:13 -08:00
bjorn 86977bd7bd Don't use autoinstancing for stream batches; 2019-01-31 17:23:49 -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 3b000e64a1 Call the proper GLES2Loader in GLES; 2019-01-29 22:04:15 -08:00
bjorn b78e7a15bb Add OpenGL ES support to glad header; 2019-01-29 22:04:15 -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 f5a903a805 Oops, use calloc in _lovrAlloc; 2019-01-29 20:08:10 -08:00
bjorn 3aec7f7767 Fix struct definition in UBO;
You can't define a new struct in an interface block.
2019-01-29 19:57:18 -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 30acdd1347 Add semantic GL defines; 2019-01-29 16:05:27 -08:00
bjorn 6be9bf4911 Fix primitive restart on GLES; 2019-01-29 16:05:27 -08:00
bjorn 6c961bb404 rm math copy functions;
They are redundant.
2019-01-29 03:57:11 -08:00
bjorn 1bd58d6cef Rebuild boot.lua; 2019-01-29 02:07:34 -08:00
bjorn b37fc5dbbe Remove fixed-function mirroring code from headset drivers; 2019-01-28 18:29:50 -08:00
bjorn f2cb7e7e3d Reset color to white after drawing nogame screen; 2019-01-28 18:21:46 -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 5770b63108 Revert "Add stb_sprintf;"
This reverts commit da565296fd.
2019-01-24 17:40:22 -08:00
bjorn cb9f166234 Revert "Replace sprintf with stb version;"
This reverts commit 8f9d24c51f.
2019-01-24 17:39:27 -08:00
bjorn bf19fd5c15 Avoid more implicit float-double conversions; 2019-01-24 17:00:41 -08:00