bjorn
498c25a544
Move Shader out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
c99527ec2e
Move pointSize out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
9f79dd95f4
Move font out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
29748dc0db
Move color out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
dffcc8c295
Move Canvas out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
030c765c6b
Move backgroundColor out of Pipeline;
2019-01-04 18:01:01 -08:00
bjorn
2ceb474b04
DrawCommand -> DrawRequest;
2019-01-04 18:01:01 -08:00
bjorn
779e28353d
Rebuild math.lua.h;
2019-01-04 02:19:10 -08:00
bjorn
4f716499b0
Fix declspec for math functions;
...
LuaJIT can't find math functions on windows unless they are exported.
2019-01-04 02:18:21 -08:00
bjorn
355aa9612c
Fix redundant lovrAudio initialization;
2018-12-19 02:43:10 -08:00
bjorn
551bf12edd
Minor cleanup;
2018-12-19 02:03:24 -08:00
bjorn
eca8a71c84
Allocate files on the stack when possible;
2018-12-19 01:49:15 -08:00
bjorn
086f7f4e47
lovrRelease frees objects instead of destructor;
...
That way objects allocated on the stack can be destroyed.
2018-12-19 01:41:01 -08:00
bjorn
5b52a91778
mv ref->free ref->destructor;
2018-12-19 01:33:47 -08:00
bjorn
4c9b02a6ff
Release builtin ShaderBlock;
2018-12-19 01:32:54 -08:00
bjorn
9803e9916f
Use naming convention for destructor;
2018-12-19 01:04:42 -08:00
bjorn
155a0c1449
lovr*Create -> lovr*Init; lovr*Create macro;
2018-12-19 01:04:42 -08:00
bjorn
60a12a6b7e
Rename thread module init/destroy;
2018-12-19 01:04:42 -08:00
bjorn
c63c49338a
Make opengl graphics structs more accessible;
2018-12-19 01:04:42 -08:00
bjorn
58950aa20e
_lovrAlloc throws on OOM;
2018-12-19 01:04:42 -08:00
bjorn
ab8e86b9a5
Fix vec3() in LuaJIT;
2018-12-17 20:14:10 -08:00
bjorn
68a0bf4a10
mat4:transformPoint;
2018-12-17 20:07:19 -08:00
bjorn
b0a146919f
Add vec3:length;
2018-12-17 19:32:43 -08:00
bjorn
25b47e62a8
rm Material isDefault;
2018-12-17 14:16:48 -08:00
bjorn
1fb2d6be02
Always use pushliteral when possible;
2018-12-15 21:45:32 -08:00
bjorn
ad10f3bc37
Fix rgb10a2 constant;
2018-12-15 17:35:57 -08:00
bjorn
63f4fa261b
Flush before Canvas resolve;
2018-12-14 16:02:30 -08:00
bjorn
e6b7c41860
Improve lovrDrawData uniform names;
2018-12-14 16:02:25 -08:00
bjorn
28a53e8df5
Sort uniforms in ShaderBlocks;
2018-12-14 16:02:21 -08:00
bjorn
6dae6ecd07
Remove unnecessary breaks in lovrShaderCreateDefault;
2018-12-14 16:02:18 -08:00
bjorn
b34ed206e0
Fix lovrBufferDestroy when Buffer is persistent;
2018-12-14 16:02:11 -08:00
bjorn
762cc64e09
Fix OpenVR events;
...
There was a problem where we were relying on module initialization ordering. Now that modules are initialized in an arbitrary order, we can't guarantee that event will be loaded before headset.
2018-12-14 14:42:35 -08:00
bjorn
3972ddc2ad
rm Cabin;
2018-12-14 10:58:03 -08:00
bjorn
099cf4cb22
Add VarelaRound;
2018-12-14 10:58:03 -08:00
bjorn
68a69eec2b
Fix sphere and cylinder;
2018-12-13 23:05:56 -08:00
bjorn
ff581d2e07
Fix Mesh:draw;
2018-12-12 19:39:01 -08:00
bjorn
c999f10039
Use _Noreturn for lovrThrow;
...
Generates smaller and prettier assembly.
2018-12-12 19:35:18 -08:00
bjorn
a67f59000f
DrawMode -> DrawStyle; MeshDrawMode -> DrawMode;
...
Renaming enums doesn't really have an impact on the API usage, just
the docs and internal naming of things.
2018-12-12 18:43:04 -08:00
bjorn
c3dcf03194
Minor param fix;
2018-12-11 22:54:13 -08:00
bjorn
2540953422
lovr.graphics.setAlphaSampling for alpha to coverage;
2018-12-11 22:52:58 -08:00
bjorn
28ab5377c8
Fix Mesh batching stuff;
2018-12-11 22:23:38 -08:00
bjorn
2435108d4d
rm drawInstanced (last argument of draw instead);
...
Willing to revert this, but I think this is the cleaner API to use.
2018-12-11 22:16:40 -08:00
bjorn
259dbd5758
completely rm lovrGraphics from opengl.c;
2018-12-11 22:12:19 -08:00
bjorn
b02eae30b4
Autoinstancing;
2018-12-11 22:10:29 -08:00
bjorn
18fdd0c062
Autobatching;
2018-12-11 13:27:59 -08:00
bjorn
387a91d5e4
lovr.graphics.flush;
2018-12-11 11:13:46 -08:00
bjorn
2e5c927b92
Expose max UBO size in lovr.graphics.getSystemLimits;
2018-12-11 11:13:02 -08:00
bjorn
c531852932
Refactor rendering;
2018-12-10 23:05:02 -08:00
bjorn
aa2f8867ee
Mesh: more flexible int attributes;
...
This is ugh but be patient.
2018-12-10 16:00:37 -08:00
bjorn
eaf26ce4b8
Struct cleanup;
2018-12-10 15:18:42 -08:00
bjorn
24ba340929
Add CHECK_SIZEOF;
...
It can be used to check the size of a type at compile time.
2018-12-09 23:36:02 -08:00
bjorn
7f333ce956
Refactor Mesh attributes;
2018-12-07 19:11:14 -08:00
bjorn
40454d1380
Use ShaderBlock for transforms/colors;
2018-12-07 18:19:03 -08:00
bjorn
e2886d3bb5
Mesh uses Buffer;
2018-12-07 15:57:45 -08:00
bjorn
9a0f7c919a
ShaderBlocks use Buffers;
2018-12-06 16:34:14 -08:00
bjorn
ac33b8b085
Add Buffer objects;
2018-12-06 16:14:30 -08:00
bjorn
b586bc2cce
lovrFontRender uses raw float* instead of VertexPointer;
2018-12-05 10:23:26 -08:00
bjorn
a8361677f5
Move pose from Mesh to DrawCommand;
2018-12-05 10:22:12 -08:00
bjorn
0a6de472ae
Add ARB_buffer_storage;
2018-12-05 10:19:24 -08:00
mcc
4238402ec0
lovrFileWrite buffer can be const and therefore should
2018-12-04 12:40:30 -08:00
bjorn
3a774354e8
Remove lovrHeadsetGetEyePose;
...
A lot of drivers didn't bother to support it, it's not used very often,
and there are better ways to expose it that will soon be implemented.
2018-12-02 13:27:55 -08:00
bjorn
9a3ba5fb52
LuaJIT: mat4:scale accepts single number;
2018-12-02 13:03:29 -08:00
bjorn
9d965e1d7a
LuaJIT: mat4:translate, rotate, scale support chaining;
2018-12-02 13:02:10 -08:00
bjorn
0054c771b2
Properly release Curves on creation;
2018-12-02 12:51:20 -08:00
bjorn
fb455a671c
LuaJIT: dereference vector pointers before use;
...
That way __sub doesn't break due to built-in pointer operator.
2018-12-02 12:48:44 -08:00
bjorn
4e6bf41e67
mat4 fixes;
2018-12-02 12:08:07 -08:00
bjorn
ecabec9bf2
Finish LuaJIT API;
2018-12-02 12:08:07 -08:00
bjorn
43567e561a
Update lovr.graphics.points/lines to work with vectors;
2018-12-02 12:08:07 -08:00
bjorn
2aadc9bde1
rm Transform;
2018-12-02 12:08:07 -08:00
bjorn
c7934b3b13
Update API to work with vectors;
2018-12-02 12:08:07 -08:00
bjorn
ba192374dc
Start math types;
2018-12-02 12:08:07 -08:00
mcc
ca75cb37c1
Awkward hotfix to tinycthread.h
...
Becuase of https://github.com/tinycthread/tinycthread/issues/47 . Only needed on Android. Not needed in the glfw tinycthread because we don't use glfw on Android.
2018-11-30 13:00:28 -08:00
bjorn
783115c2cf
Add newlines to the end of some files;
2018-11-27 15:03:52 -08:00
mcc
778b654f1d
Move lovr.android.getApplicationId() to lovr.filesystem.getApplicationId(). Kill Android module
...
This requires adding an application id function to platform and adding a mini definition to sds into platform.h. All platforms except Android return NULL (no application id)
2018-11-27 15:02:25 -08:00
mcc
264db37ce6
Fix lovr.event.quit("restart") on Android
2018-11-27 15:02:25 -08:00
mcc
adabf4c6ef
Fix broken android lua module
...
The LOVR_ENABLE_ANDROID flag wasn't getting passed to C, and the getApplicationId code had bugs
2018-11-27 15:02:25 -08:00
mcc
99026af5ca
Fix Android compile
2018-11-27 15:02:25 -08:00
mcc
961bf859f6
Android lua module
...
Currently provides only a lovr.android.getApplicationId(). This returns an Android-specific identifier that doesn't cleanly map to anything specific in other OSes.
2018-11-27 15:02:25 -08:00
mcc
8e8091ccbc
Fixes to error handling in boot.lua
...
- The pcalls to run conf were triggering their error very late, and were detecting error based on the second return value of pcall being non-nil. In fact the second return value of pcall is often non-nil in the case of *success*. We should check the first parameter, success/failure, instead.
- It is possible in principle to call error() with a non-string value, so errhand should sanitize its values with tostring.
- There is a check in the main boot.lua loop whether xpcall returned a string, which is the sign luajit hit an error in an error handler. This check was occurring in the wrong place (my fault; merge error when preparing PR) so if lovr.load() hit this case we were falling back to the horrible “could not call a string” error.
2018-11-24 18:48:29 -08:00
bjorn
0e99d47394
Fix module destruction;
...
There is a problem when a Thread stops: it destroys all of the modules
that it required. This is because we unconditionally call luax_atexit
when modules are required, and when the thread lua_State dies it takes
all of the modules with it. To fix this, lovr<Module>Init will return
whether or not initialization successfully happened, which provides us
with enough info to know if we should place the luax_atexit destructor
2018-11-19 09:24:28 -08:00
bjorn
465e5c2010
Controller:getVelocity; Controller:getAngularVelocity;
2018-11-19 09:24:10 -08:00
bjorn
e5dd0a2c17
Fix wasm build.........;
2018-11-16 07:36:44 -08:00
bjorn
6168ec243f
Add platform/glfw.h;
...
Platforms that want to use glfw for most of their platform code can
include "glfw.h" for common functions, in a single-file-lib fashion.
All glfw code is in this file.
2018-11-16 07:24:20 -08:00
bjorn
217a2f6354
Fix problems not caught by MSVC;
2018-11-16 07:19:29 -08:00
bjorn
ca0034e0aa
rm lib/glfw;
2018-11-16 04:44:36 -08:00
bjorn
ba253a0716
oculus_mobile: lovrPlatform instead of glfw;
...
please don't break!
2018-11-16 04:44:20 -08:00
bjorn
c9793eae49
lovrPlatform: init/destroy;
2018-11-16 03:59:06 -08:00
bjorn
b7deda3758
lovrPlatform: Keyboard/mouse;
...
Update fake.c
2018-11-16 03:18:08 -08:00
bjorn
5c3280ba2a
boot.lua: Improve errors when loading modules fails;
...
Remove hardcoded list of modules as well.
2018-11-16 02:27:34 -08:00
bjorn
ba60e99890
lovrPlatform: Window creation;
2018-11-16 02:26:56 -08:00
bjorn
6514492cb8
glfwGetTime -> lovrPlatformGetTime;
...
Same for glfwSetTime;
2018-11-16 00:28:45 -08:00
bjorn
4cd5505ac2
glfwPollEvents -> lovrPlatformPollEvents;
2018-11-16 00:24:43 -08:00
bjorn
da92cce634
Fix wasm build;
2018-11-15 08:21:26 -08:00
bjorn
005d4b93f2
Move math helpers into lib;
...
They aren't really part of the math module since they are shared
across several modules, more "util"-y.
2018-11-15 08:03:51 -08:00
bjorn
2238f51338
Use lovrLog functions in oculus_mobile.c;
...
Question: Are we okay to simplify log levels to DEBUG/WARN? If not,
maybe we add a LOVR_LOG_LEVEL thing...
2018-11-15 07:51:21 -08:00
bjorn
81451eb99d
rm trailing whitespace;
2018-11-15 07:51:21 -08:00
bjorn
ab232571d0
Make sure error messages get printed;
2018-11-15 07:51:21 -08:00
bjorn
0b78e238b3
luax_traceback;
...
Simplifies traceback code by adding a polyfill for Lua 5.2's
luaL_traceback function that can be used by the panic helper and
luax_getstack.
2018-11-15 07:51:21 -08:00
bjorn
c6126bed59
Move print_override to luax;
...
It makes more sense for it to live there since it's a Lua override.
I misunderstood something when communicating about this initially.
2018-11-15 07:51:21 -08:00
bjorn
784d61ef4a
Modify module loading;
...
Dynamically loading things was cool but is causing more pain than
pleasure because it just barely doesn't work everywhere. Instead,
find a better way to load modules. Use a data driven luaL_Reg array
to define the module mapping and luaL_register to smoosh it into
package.preload at boot time. Benefits:
- LOVR_ENABLE_<x> defines are respected and only require a single #if
- Module list is data driven and defined in one place
- It's faster (luax_preloadmodule did a global lookup every invocation)
- It works everywhere
Oh also threads were totally broken and this (mostly) fixes them.
2018-11-15 07:51:21 -08:00
bjorn
0cf52a2ce8
Attempt to use macros for android logging;
...
Does this work? It seems like it should. If it doesn't, let's use
functions consistently for logging on all platforms.
2018-11-15 07:51:21 -08:00
bjorn
7ff12740b8
rm trailing whitespace;
2018-11-15 07:51:21 -08:00
mcc
64b187ef3f
Manual merge args-and-physfs PR branch with master
2018-11-13 22:09:47 -05:00
mcc
91daeae634
Style/functional fixes to args for PR. --inside is now --root
2018-11-13 22:07:19 -05:00
mcc
96eed2786c
Amend oculus_mobile error handling so headset.c renderHelper drives
...
Back out lovrHeadsetExtractRenderFn, don't let oculus_mobile.c pcall the render function, instead fit the render error saving inside renderHelper (emscripten/oculusmobile path). The render error is now saved in the environment at _lovrHeadsetRenderError. For this to work, luax now keeps track of a global variable for the current "main" environment.
This does means the render error path now works on emscripten (this has not been tested).
2018-11-13 16:50:31 -08:00
mcc
684fd77316
Various changes around error reporting to support Oculus Mobile
...
General changes:
- Amended the boot.lua error handling so when an error occurs in the error handler, the inner error is printed before quitting
- Silent quit instead of crash if a user implements lovr.errhand but it doesn't return a function
Oculus Mobile changes:
- The lovr.errhand screen is now correctly invoked for errors that occur inside lovr.draw. Multiple changes were needed to make this work:
- Instead of calling renderHelper, which uses lua_call (unsafe as Oculus Mobile does not call renderHelper) the oculus driver gets hold of the Lua ref and lua_pcalls itself. A new lovrHeadsetExtractRenderFn is added to make this possible.
- A mechanism is added where if the coroutine resume in boot.lua returns a value, boot.lua treats this as the string returned from luax_getstack and invokes lovr.errhand.
- Added a custom atpanic that routes through lovrThrow (since stderr gets eaten). With the draw() changes this should never be encountered, but it's good just in case. In current testing the tracebacks this prints don't seem to be right.
- Fix major bug in android_vthrow that meant % codes didn't work in lovrThrow on Android
- Nothing to do with errors, but fix getAxis("trigger")
2018-11-13 16:50:31 -08:00
mcc
2213b3bcfd
Allow the mountpoint to be set "inside" a zip file, using an --inside parameter.
...
This is used in the oculus mobile driver, allowing replacement of the (dubious) recursive-copy-from-zip code.
In order for this to work, the argument parsing must be beefed up a bit and also PhysFS must be updated to the newest master in order to get a new PHYSFS_setRoot. The github submodule source has been changed to one which updates more frequently to get this.
2018-11-13 15:20:04 -05:00
mcc
26af794e3c
Adjust the lovr command line construction to follow the lua/love standards. This is a BC-breaking change.
...
Source for lua standard: https://en.wikibooks.org/wiki/Lua_Programming/command_line_parameter
2018-11-13 16:28:56 -05:00
bjorn
a1237029de
lovr.graphics.translate: Arguments default to 0;
2018-11-12 19:28:41 -08:00
bjorn
7e1527ddca
(Ab)use calloc for OpenVR controller models;
...
Avoids a potential invalid call to free on destroy.
2018-11-12 19:00:17 -08:00
bjorn
4188fd53ec
Handle tabs in fonts;
2018-11-11 18:28:51 -08:00
bjorn
185bb8438e
Set error handler context to correct Lua state;
2018-11-11 17:33:16 -08:00
bjorn
112d775635
Font:hasGlyphs;
2018-11-11 17:29:41 -08:00
bjorn
20ddad4a9e
Improve error message when glyph is not found;
2018-11-11 17:17:42 -08:00
bjorn
8b2f0eb0ba
Add newline to glfw.h;
2018-11-08 14:13:39 -08:00
bjorn
76c2dc757a
Curve:getTangent;
2018-11-08 12:56:45 -08:00
bjorn
2703192f1d
Make a constructor;
2018-11-08 12:56:45 -08:00
bjorn
2acf49fb34
Curve;
2018-11-08 12:56:45 -08:00
bjorn
a06734ae97
Use alpha to coverage and alpha test for text;
2018-11-08 11:58:43 -08:00
bjorn
bfeb3d2d51
lovr.graphics.discard;
2018-11-08 11:58:31 -08:00
mcc
b01a349275
Merge Windows build fixes for SDS library, from https://github.com/LynnKirby/sds fork commit 1ea0479693a8fd85351b75a6d41cef40a8e3e67c
2018-11-07 17:03:31 -05:00
mcc
a46b4afbb8
Split out the "oculus mobile" headset type into GEAR and GO.
2018-11-07 14:34:51 -05:00
mcc
2675b51013
Make oculus mobile build self-contained
...
The initial version of the oculus mobile driver incorporated two files, BridgeLovr.cpp and BridgeLovr.h, which were assumed to be outside of the Lovr repo in the repo for a separate Android app. The Android app now is wholly separated and communicates with the Lovr shared object via the interface in oculus_mobile_bridge.h.
A file print_override.c now contains a drop-in replacement for Lua print() which prints to lovrLog. This is useful for Android or for other future platforms where stdout/stderr aren't usable.
2018-11-07 10:24:44 -05:00
mcc
b146ad422f
Add SDS string library from commit 8dc8d6fb373bdc08eb82a72904841998d30b7cf2
2018-11-06 18:39:12 -05:00
mcc
d8de87d789
Fix headset and controller poses
2018-11-06 15:56:27 -05:00
mcc
bf7fd349e2
Fix math bug in glfwSetTime
2018-11-06 11:28:45 -05:00
mcc
8301bd7dd8
Remerge oculus-mobile branch with master
2018-11-02 18:10:08 -04:00
mcc
428995b54b
Controller support (orientation wrong currently) and time/dt support
2018-11-02 17:35:24 -04:00
bjorn
0945702d27
Update CMakeLists for new platform layer;
2018-10-29 17:13:53 -07:00
bjorn
105953e743
Use a folder;
2018-10-29 14:00:16 -07:00
bjorn
f8011f7bf7
Initial platform.h;
2018-10-29 14:00:16 -07:00
bjorn
d5064844a7
Rewrite main.c;
2018-10-29 13:52:50 -07:00
bjorn
5f990d8c9f
Attempt to fix state.offset;
...
The goal is to ensure that (for 3DOF devices) all poses are reported
to include the state.offset vertical transform applied to them. Previously,
only rendering was using state.offset.
This is important to fix spatial audio.
Is doing this in every driver problematic? What if we did it in the
Lua bindings? That way it could be handled in one place.
2018-10-29 10:36:58 -07:00
mcc
79b0c19254
Oculus mobile: First round of fixes requested in PR review
...
Formatting, back out bad change to Win32 build, support getOs()
2018-10-28 22:55:37 -04:00
bjorn
987b24fd19
lovr.filesystem.write: Fix unintended erroring behavior;
2018-10-28 19:46:31 -07:00
mcc
9328542ff5
Correct usage of conf "offset" and getOriginType in Oculus Mobile
...
Also whitespace cleanup
2018-10-28 17:16:48 -04:00
mcc
dd440b2ada
Code cleanup after all these changes, fix build
2018-10-28 15:31:27 -04:00
mcc
dba6724915
Framebuffer and depthbuffer should also be passed into the canvas create-from-handle
2018-10-27 23:11:11 -04:00
mcc
c68c850157
Give lovrCanvasCreateFromHandle the option of not deleting framebuffer on canvas delete, also fix default texture issue
2018-10-27 22:15:49 -04:00
bjorn
654b894ded
Add lovr.graphics.setProjection;
...
It's not very good. It only takes Transforms and sets the projection
for both eyes. And the projection gets reset at the beginning and
end of lovr.headset.renderTo. It's meant to be a backdoor.
2018-10-26 17:17:18 -07:00
bjorn
f6d5bf325a
Move lib/dds.h into data/textureData.h;
2018-10-26 16:56:16 -07:00
mcc
d17dec1b0e
Graphics now draw, although head tracking is not correct
2018-10-26 01:05:28 -04:00
bjorn
a0f2a34647
Prefer modules in the exe to modules on disk;
...
This fixes the lovr-docs loader and is arguably the better behavior.
2018-10-25 06:49:03 -07:00
mcc
b892d0143f
Remerge oculus mobile and master branches (to get lovrCanvasCreateFromHandle)
2018-10-25 00:06:39 -04:00
mcc
5ad8fdd3e3
Fixes as far as running without crashes, no display yet
2018-10-24 23:40:11 -04:00
bjorn
494d2c6cc8
audio: Gracefully handle absence of ALC_SOFT_HRTF;
2018-10-24 09:57:03 -07:00
bjorn
9010af3ea4
lovrRandomGeneratorGetState: Improve correctness;
2018-10-24 09:50:00 -07:00
bjorn
0f54190a9f
rm weird include in dds.h;
2018-10-24 09:42:32 -07:00
bjorn
ee9d575cba
lovrCanvasCreateFromHandle;
...
Was it really that easy?
2018-10-24 09:42:32 -07:00
bjorn
8d29bbc68c
Canvas.count -> Canvas.attachmentCount;
2018-10-24 09:42:32 -07:00
bjorn
5f8f8a540e
lovr.filesystem no longer relies on arg global;
2018-10-23 11:12:13 -07:00
bjorn
43309efc57
Fix problems with variants;
2018-10-23 11:11:47 -07:00
bjorn
cf3b060fe5
Fix MSVC issues with variables named near/far;
2018-10-22 16:40:12 -07:00
mcc
56f8f1e26b
Untested merge of Oculus Mobile branch and Oct 2018 lovr master
2018-10-22 10:44:04 -04:00
bjorn
897a09c4d7
Why are you here;
2018-10-21 09:18:58 -07:00
bjorn
485f65b013
Transform:setOrthographic; Transform:setPerspective;
2018-10-21 09:06:37 -07:00
bjorn
4f542902a1
mv lovr.js webvr.js;
...
To allow for webxr.js and lovr.js to be used for...other things.
2018-10-21 08:56:57 -07:00
bjorn
518d26aad8
getDisplayDimensions: Use unsigned ints;
...
Fixes a warning.
2018-10-21 08:40:57 -07:00
bjorn
7b9d66e845
Fix openvr warning;
2018-10-21 08:11:07 -07:00
mcc
1b7942e02f
First pass oculus mobile support
...
First of several commits, this is the state of hg:6b437880cc01 in my private repo. A version of shakesoda's Oculus-desktop support is tied up in this commit.
The oculus mobile version builds lovr as a library. To run it, you need to use a separate repo which includes this one and which builds an Android app.
2018-10-20 15:22:24 -04:00
bjorn
ffe3d9d7ef
Default emissive colors to transparent black;
2018-10-11 02:07:09 -07:00
bjorn
da3bb42db4
Fix WebVR prototype;
2018-10-09 18:03:53 -07:00
bjorn
01405e113a
Ensure Microphones properly stop recording;
2018-10-09 17:56:26 -07:00
bjorn
e1d980a2d6
Re-add lovr.headset.getBoundsGeometry;
...
Looks like more runtimes are starting to support it.
2018-10-09 17:51:05 -07:00
bjorn
28c56f959d
Use MAT4_IDENTITY macro;
2018-10-06 21:58:40 -07:00
bjorn
7829f3f75f
mat4_multiply: SSE
...
~2.5x
2018-10-06 21:42:52 -07:00
bjorn
0b2a39fb03
Return original matrix in mat4_invertPose;
2018-10-06 21:26:17 -07:00
bjorn
4279cf086f
mat4_invertPose;
...
~3.9x
2018-10-06 21:21:25 -07:00
bjorn
11e6580717
mat4_transpose: Use SSE intrinsics;
...
~1.6x
2018-10-06 20:04:39 -07:00
bjorn
7354465e12
Add LOVR_USE_SSE;
2018-10-06 20:03:48 -07:00
bjorn
5e65ac019e
OpenVR organization;
2018-10-06 18:15:32 -07:00
bjorn
ba68c0c127
Add mat4_getPose helper;
2018-10-06 16:54:41 -07:00
bjorn
e36d3d8352
openvr: Use WaitGetPoses in update;
2018-10-06 16:54:25 -07:00
bjorn
086a0030b1
Shader:send/ShaderBlock:send fills in nils with 0's;
2018-10-06 16:15:38 -07:00
bjorn
0d72922f77
Add lua_modules and deps to default C require path;
2018-10-05 00:43:41 -07:00
bjorn
70e473adb2
Add deps to default require path;
2018-10-05 00:43:41 -07:00
bjorn
6019de19d6
Add missing modelData include;
2018-10-01 21:07:29 -07:00
bjorn
a1d365fc25
Plumb new mirror settings through WebVR;
2018-09-30 18:58:51 -07:00
bjorn
7976805415
openvr/oculus support individual eye mirroring;
2018-09-30 18:58:51 -07:00
bjorn
8d076f31c1
Fill accepts UV subrect to use;
2018-09-30 18:58:51 -07:00
bjorn
a9e92b5185
Add ability to mirror specific eyes;
...
Doesn't work yet for OpenVR/Oculus.
2018-09-30 18:58:51 -07:00
bjorn
cd5df6b148
Add __declspec;
2018-09-27 21:29:28 -07:00
bjorn
2398e592a9
Darn USE_MATH_DEFINES;
2018-09-27 20:32:45 -07:00
bjorn
816fda2177
Fix everything and merge;
2018-09-27 18:38:44 -07:00
bjorn
238af0064f
Add missing lovr.filesystem.unmount function;
2018-09-27 18:38:44 -07:00
bjorn
eb40c1980b
Merge lovr.c into main.c;
2018-09-27 18:38:44 -07:00
bjorn
3e2259fc99
version/os refactor;
2018-09-27 18:38:44 -07:00
bjorn
cee3c28f4e
luax_atexit; rm lovrDestroy;
...
Modules register themselves in the registry for destruction at
lua_close instead of having a hardcoded list in lovrDestroy.
2018-09-27 18:38:44 -07:00
bjorn
92e6ad93cb
Dynamically load modules;
2018-09-27 18:38:44 -07:00
bjorn
e02d22365f
api: refactor;
2018-09-27 18:38:44 -07:00
bjorn
792834623c
api: more modular helper functions;
2018-09-27 18:38:44 -07:00
bjorn
1f12717357
Canvas creates Textures with clamp filter;
2018-09-27 18:37:13 -07:00
bjorn
cfac548e7b
Add flag to make Canvas depth texture readable;
...
- DepthFormat is now just TextureFormat.
- Canvas:getDepthTexture instead of Canvas:getDepthFormat.
2018-09-27 18:34:43 -07:00
bjorn
56fa853b09
Fix possible overflow in modelData texture path;
2018-09-26 23:16:18 -07:00
bjorn
05802f3e90
util: rm vec_uint;
2018-09-26 10:49:33 -07:00
bjorn
148a2bdb45
Error system no longer relies on Lua;
2018-09-26 10:39:17 -07:00
bjorn
737f0b6dc3
Fix edge case in lovrMeshResize;
...
Also make BufferUsage usage more consistent.
2018-09-23 19:13:32 -07:00
bjorn
2ec5c42f87
Fix compile warnings;
2018-09-21 23:34:15 -07:00
bjorn
2a17f6e4bb
Add LOVR_USE_ASSIMP;
...
lovr.graphics.newModel and lovr.data.newModelData will return nil
if assimp is disabled.
2018-09-21 19:25:48 -07:00
bjorn
2d788e2f41
rm USE_OPENAL;
2018-09-21 19:25:48 -07:00