bjorn
b3080ae5d9
rm macos instancing hack;
...
I haven't been able to see adverse affects from it anymore. Can
always put it back if it resurfaces.
2019-06-27 13:27:43 -07:00
bjorn
39b0d2d754
graphics: Minor refactoring;
2019-06-27 13:26:39 -07:00
bjorn
297208c205
Minor cleanup to stream buffer code;
2019-06-27 13:01:04 -07:00
bjorn
052990aa47
Make some graphics structs private;
2019-06-27 01:48:35 -07:00
bjorn
2baa8d03ee
Make singlepass detection more readable;
2019-06-26 21:47:22 -07:00
bjorn
adf5e69ea1
oculus: Remove unused variable;
2019-06-26 14:51:32 -07:00
mcc
fc90a03584
Fix MSVC-specific warnings
2019-06-25 19:16:48 -07:00
mcc
430fbc27d5
ovrHand -> ovrHandType in oculus.c. We don't understand how this worked before but it fixes the oculus-windows build.
2019-06-25 19:16:48 -07:00
bjorn
6b2de4a0a1
Temporary implementation for persistent buffer discard;
...
Should fix potential crashes with persistent buffers.
2019-06-25 19:16:08 -07:00
bjorn
010bbff519
openvr: Fix stereo Canvas dimensions mismatch;
...
(The width is automatically doubled when stereo now)
2019-06-25 19:15:38 -07:00
bjorn
312a7617c3
Fix typo in shader;
2019-06-25 19:15:11 -07:00
bjorn
09b6f74acf
Native textures: initialize mipmapCount;
2019-06-25 18:59:31 -07:00
bjorn
749774e2fc
Native texture depth must be explicitly specified;
...
To fix validation errors when attaching them to Canvases.
2019-06-25 18:57:18 -07:00
bjorn
7e65116add
Fix oculus backend;
2019-06-25 18:16:54 -07:00
bjorn
a3d5371d01
rm lib/vec/vec from oculus.c;
2019-06-25 18:07:56 -07:00
bjorn
928ccee5f1
Multiview;
2019-06-25 01:21:59 -07:00
bjorn
a691192af9
lovrBufferDiscard;
2019-06-25 01:21:59 -07:00
bjorn
5cd93b66c6
rm fence syncs;
...
They are too buggy and are not as efficient as orphaning.
2019-06-24 19:17:55 -07:00
bjorn
8d2f005bf3
Add stdlib.h to oculus_mobile;
2019-06-21 11:28:40 -07:00
bjorn
9f3638b018
TextureData:paste;
2019-06-20 23:36:18 -07:00
bjorn
7ebee200ea
rm strdup;
...
It isn't part of C, causing compiler errors on some platforms.
2019-06-20 22:21:31 -07:00
bjorn
879c789a08
Polyfill M_PI;
...
It technically isn't part of C, which is causing problems on some systems.
2019-06-20 21:43:40 -07:00
bjorn
b54f68a3d5
glTF: Support Textures with missing images and samplers;
2019-06-20 17:44:30 -07:00
bjorn
5881bdd5b1
Fix gpu timer array;
2019-06-20 14:44:28 -07:00
bjorn
4611b1c9a3
Add no-op standard shader;
2019-06-20 14:21:35 -07:00
bjorn
612f699aa4
Rename default shader to unlit;
2019-06-20 14:09:55 -07:00
bjorn
d856f6d592
opengl: Create default texture at startup;
...
More predictable performance, fixes an obscure bug.
2019-06-20 11:35:46 -07:00
bjorn
eb1e257209
Add new array implementation; Upgrade filesystem;
...
Filesystem:
- Uses streaming file IO.
- Uses less memory when requiring files.
- Simplifies its require path implementation.
2019-06-16 13:30:30 -07:00
bjorn
909ee1ad79
Use highp in vertex shaders on GLES;
2019-06-10 08:12:36 -07:00
bjorn
de6d3dab5b
Add tup build system;
...
It's still a rough draft and likely only works on my machine, but can be
improved over time.
Rough explanation:
- tup.config contains high-level build configuration defaults.
- Tuprules.tup contains mostly compiler flags (generated from the
tup.config) and declares some macros used to compile code.
- Tupfile takes all generated object files and links them into the
lovr executable.
- src/Tupdefault defines the default build steps for src and all
subdirectories, which is to compile all .c files to .o files and put
them in the <objects> bucket for linking by the toplevel Tupfile.
It's possible to have multiple configs active at once for different
platforms, projects, etc. To do this, create a folder for each build
variant you want, and place a tup.config in each folder (it can be a
symlink, which is helpful). Then, invoking `tup` will build all your
variants, or you can build a specific one by doing `tup <foldername>`.
2019-06-10 04:06:22 -07:00
bjorn
31a1dc6cee
Details;
2019-06-10 03:39:53 -07:00
bjorn
98f4365474
Add astc and dxt GraphicsFeatures;
2019-06-09 23:59:57 -07:00
bjorn
b0a7d5c122
ASTC textures;
...
I like typing numbers.
2019-06-09 09:11:29 -07:00
bjorn
0b5c609264
Add OpenVR touch bindings;
...
Untested.
2019-06-06 01:10:50 -07:00
bjorn
5551f76557
Reset render data when restarting in oculus_mobile;
...
Fixes a crash where rendering would occur with the old Lua state
after a restart.
2019-06-05 20:23:21 -07:00
bjorn
c0f4e2848b
Update android build;
2019-06-05 20:22:51 -07:00
bjorn
0c75f40793
rm the other restrict;
...
I guess it just isn't portable.
2019-06-04 04:43:02 -07:00
bjorn
feae7bdf3a
rm extra restrict qualifier;
...
Maybe this is confusing MSVC. Doesn't appear to impact codegen.
2019-06-04 04:20:23 -07:00
bjorn
d1f754d5f9
Fix Model memory leaks;
2019-06-03 08:13:42 -07:00
bjorn
06c6b172de
vec3 has 4 elements;
2019-06-03 07:20:03 -07:00
bjorn
31e086edaf
Inline all the maf functions;
2019-06-03 07:19:25 -07:00
bjorn
4eb03006d7
Fix SoundData loading;
2019-06-03 00:29:41 -07:00
Bjorn Swenson
68c1b6a201
Merge pull request #122 from bjornbytes/hand-updates
...
Hand updates
2019-06-03 00:14:45 -07:00
bjorn
dc34ed4570
Start to trend towards 4-element arrays for vec3;
...
It will be important for enabling more SIMD.
2019-06-02 20:35:52 -07:00
bjorn
cf7a738a9f
Fix openvr.c;
2019-06-02 02:27:19 -07:00
bjorn
83c2d3ceef
Optimize timer module slightly;
2019-06-02 02:02:15 -07:00
bjorn
22fe333150
Update refcounting (again);
...
- Ref struct only stores refcount now and is more general.
- Proxy stores a hash of its type name instead of an enum.
- Variants store additional information instead of using a vtable.
- Remove the concept of superclasses from the API.
- Clean up some miscellaneous includes.
2019-06-02 01:02:26 -07:00
bjorn
d2bff7d239
lovr.graphics.tick and tock;
...
Initial support for GPU timer queries.
2019-06-01 17:29:53 -07:00
bjorn
84bd50379d
Add primary button/axis;
...
It's called "primary".
2019-05-31 12:00:15 -07:00
bjorn
7ac3d6938b
rm TRACKER devices for now;
...
This is not the correct way to expose them. It doesn't seem like
there is consensus on how to expose them yet. At the very least
LÖVR should instead use the hardcoded OpenVR tracker paths like
/camera, /keyboard, /foot/left, /foot/right, etc.
See these issues:
- https://github.com/ValveSoftware/openvr/issues/1030
- https://github.com/ValveSoftware/openvr/issues/962
2019-05-31 10:57:29 -07:00
bjorn
af0678f9e9
rm DEVICE_HAND;
...
If we expose both unhanded hands and handed hands, people need to
deal with handling (haha) both cases in their apps. It's simpler
to always deal with left and right hands, even though it is a bit
less general. Still, this is congruent with the current state of
OpenVR and OpenXR, and I think there are still open questions about
the more uncommon cases where there are more than two hands.
2019-05-31 10:41:40 -07:00
bjorn
fe559903e1
Oculus Go controller has handedness;
2019-05-31 10:37:43 -07:00
Bjorn Swenson
5ec6f1d1d1
Merge pull request #120 from mcclure/oculus-quest
...
Oculus quest support
2019-05-28 16:30:17 -07:00
mcc
1449d4c914
Oculus mobile: Support getAcceleration
2019-05-28 18:59:05 -04:00
bjorn
29b2420dea
Work around macOS flicker bug;
...
At this point I don't know if maybe I'm just using UBOs wrong but whatever.
2019-05-27 19:05:47 -07:00
bjorn
4221c547d7
glTF: Add support for base64 buffer data;
2019-05-26 21:13:59 -07:00
bjorn
56f4c812ce
Small intermediate fix for models without animators;
2019-05-26 21:12:07 -07:00
bjorn
d08c454f46
Fix sign issue in rasterizer;
...
Fixes missing glyphs.
2019-05-26 12:51:25 -07:00
mcc
f4189d13e8
Oculus Mobile fixes: Fix potential crash, fix touches on Go after Quest changes
2019-05-26 11:17:49 -04:00
mcc
991b35a628
Oculus mobile: revamp bridge to support Oculus Quest
2019-05-26 10:29:42 -04:00
bjorn
0b8bc4145e
openxr: Begin the session at the correct time;
2019-05-25 20:15:42 -07:00
bjorn
d5ad10f408
Permit symbolic links in lovr.filesystem;
...
If needed, it can be made configurable later.
2019-05-24 19:16:43 -07:00
bjorn
3bf08f0ca3
Add the ability to create default shaders;
...
lovr.graphics.newShader('font')
2019-05-22 18:00:02 -07:00
bjorn
db5076a100
Rename SHADER_DEFAULT to SHADER_UNLIT;
2019-05-22 16:34:57 -07:00
bjorn
698466d19c
Add missing include in animator.h;
2019-05-21 00:32:20 -07:00
bjorn
4cc154fdfa
More number conversions;
2019-05-20 20:35:07 -07:00
bjorn
e4c32d2f08
Fix oculus_mobile api.h include;
2019-05-20 15:17:38 -07:00
bjorn
a9972a88de
Fix oculus_mobile_bridge include path;
2019-05-20 15:15:10 -07:00
bjorn
e8a8f6718e
Fix vrapi_getAxis;
2019-05-20 15:13:05 -07:00
bjorn
df6b7fc96a
Ref is mostly private now;
...
It's really nice how objects don't need to care about how they're
allocated/managed now.
2019-05-20 15:09:06 -07:00
bjorn
57aad490ae
Start sized int conversions;
2019-05-20 14:34:03 -07:00
bjorn
67b76e08c2
Details;
2019-05-20 04:15:24 -07:00
bjorn
67ddefd0c2
Ensure platform functions have prefix;
2019-05-20 04:02:25 -07:00
bjorn
b1e848ef6b
Cleanup filesystem module;
2019-05-20 03:51:22 -07:00
bjorn
1335ab55ae
Warnings/cleanup;
2019-05-20 03:41:12 -07:00
bjorn
7645f4c014
Add core folder;
2019-05-20 02:47:33 -07:00
bjorn
a17f10e273
Add modules folder;
2019-05-19 00:38:35 -07:00