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
bjorn
5a9cd5187c
Make CMakeLists more modular;
...
- Enable/disable individual modules, including enet/json
- Enable/disable different "backends" (audio/headset)
- Choose to use system vs. source versions of different libraries
2018-09-21 19:25:48 -07:00
mcclure
e2ace89b83
Fix controller:isDown() for 'grip' and 'trigger' on Oculus ( #60 )
...
Previously, controller:isDown('grip') returned always true, and for 'trigger' false was always returned. This adjusts oculusControllerIsDown() to use an axis threshold rather than the Shoulder bit for 'trigger', and to use a more demanding threshold for 'grip'.
2018-09-21 19:23:00 -07:00
bjorn
48dcb5067a
Fix lovrTextureCreateFromHandle prototype;
2018-09-11 15:56:06 -07:00
bjorn
09a67949ed
Improve CMake and build for LibOVR;
2018-09-11 15:47:03 -07:00
bjorn
72158f103a
Update for stereo rendering and new headset API;
2018-09-11 15:30:31 -07:00
bjorn
75ca4b0cba
lovrTextureCreateFromHandle;
2018-09-11 15:30:31 -07:00
bjorn
5b5e9fbc00
WIP;
2018-09-11 15:30:31 -07:00
bjorn
6b0806d04a
Don't treat lighthouses as Controllers;
2018-09-11 15:28:31 -07:00
bjorn
7309ac8ce8
Treat trackers and lighthouses as Controllers;
2018-09-11 15:23:46 -07:00
bjorn
8b7bfec9d3
Add emscripten shell file;
...
To make it easier to build and test WebVR.
2018-09-06 16:05:39 -07:00
bjorn
40e6f6a81c
Handle window resizes properly;
...
Fix for the web where the window actually resizes.
2018-09-05 11:11:57 -07:00
bjorn
924eb5fa0a
Shader:send: Add a missing break;
...
opps
2018-09-05 10:13:04 -07:00
bjorn
8a7054e793
v0.11.0;
2018-09-05 08:02:50 -07:00
bjorn
9fa18495f2
Fix fake controller positioning;
2018-09-05 06:31:18 -07:00
bjorn
ca6bd29501
bindBlockBuffer: fix buffer target for emscripten;
2018-09-05 04:44:19 -07:00
bjorn
a13849b525
ShaderBlock:getShaderCode: Fix string length calculation;
2018-09-05 04:40:22 -07:00
bjorn
7a8abc80a2
Copy Transform objects more safely in Shader[Block]:send;
2018-09-05 04:22:12 -07:00
bjorn
1e351255f1
Fix UBO usage enum;
2018-09-05 04:10:12 -07:00
bjorn
ddba19efad
Work around glGenerateMipmap on macOS;
2018-09-05 03:54:43 -07:00
bjorn
a5b9d267d0
Ensure int attributes are signed;
2018-09-05 03:25:13 -07:00
bjorn
f47dccaaa3
Ensure GL state is tracked properly between restarts;
2018-09-04 15:02:55 -07:00
bjorn
5ebea9db71
Destroy Lua objects before destroying lovr;
...
This fixes a bug where physics Worlds are destroyed after
ODE is deinitialized, which can cause a segfault. Instead we
collect Lua objects first and then destroy each module. This
makes more sense and doesn't seem to have any consequences...
2018-09-04 14:45:01 -07:00
bjorn
7e1687ce6b
Fix Shader:sendImage;
2018-09-04 06:58:54 -07:00
bjorn
1b3e8c9766
Flip cubemap x texture coordinate;
2018-09-04 06:42:04 -07:00
bjorn
4e1757210e
Load cubemap images better;
2018-09-03 20:59:12 -07:00
bjorn
f17d57e987
Fix up problems with tracking incoherent resources;
2018-09-02 22:20:32 -07:00
bjorn
fbd294f76d
Empty textures default to linear instead of sRGB;
2018-09-02 21:15:59 -07:00
bjorn
2e881cbda0
Fix bad assert for image uniforms;
2018-09-02 21:15:43 -07:00
bjorn
3cc1b60fd8
Better default for anonymous texture depth;
2018-09-02 21:11:48 -07:00
bjorn
b29a2d0471
Rework fake headset driver inertia;
2018-09-01 20:29:17 -07:00
bjorn
7aedff1278
Fix srgb settings for model import;
2018-09-01 06:27:24 -07:00
bjorn
59280c4e9d
Fixes for compressed textures;
2018-09-01 05:40:45 -07:00
bjorn
064adef0bb
Transform:getMatrix accepts target table;
2018-09-01 02:52:16 -07:00
bjorn
b959c30424
lovrPoseMatrix;
2018-09-01 02:52:02 -07:00
bjorn
c584354c92
lovrInstanceID;
2018-09-01 02:09:59 -07:00
bjorn
8b9e9eba9e
Use GLSL 430 when available;
2018-09-01 01:57:38 -07:00
bjorn
ea331a12be
Fix bugs;
2018-08-31 23:24:59 -07:00
bjorn
4e61d2ea3b
Really icky conditional shader compilation;
...
But I can't think of another way to do it.
2018-08-31 19:52:03 -07:00
bjorn
d5c884b1d8
Fix emscripten warning;
2018-08-31 18:10:51 -07:00
bjorn
7b9a0ba048
Organize uniforms better;
2018-08-31 16:45:05 -07:00
bjorn
dca52ee967
Improve newCanvas API;
2018-08-31 16:37:30 -07:00
bjorn
a5256aaa27
Happy little graphics refactors;
2018-08-31 06:03:35 -07:00
bjorn
0ce6e046a6
lovrViewportCount; Multiply vertex divisors;
2018-08-31 02:41:50 -07:00
bjorn
f872a5f094
Re-enable threads for emscripten;
...
They don't appear to work very well but this simplifies code a lot.
2018-08-30 22:09:54 -07:00
bjorn
017066d45e
More emscripten stuff;
...
SwapInterval was removed to ensure RAF timing is used.
2018-08-30 21:58:00 -07:00
bjorn
7222d1fa26
Use same window hints for webgl and desktop;
...
It doesn't seem like this causes any problems anymore.
2018-08-30 21:43:30 -07:00
bjorn
7055875cfa
rm unnecessary emscripten ifdef for glfw context;
...
Now that the bug is fixed!
2018-08-30 21:40:31 -07:00
bjorn
b7faeb8c44
Add precision for ints;
2018-08-30 21:37:45 -07:00
bjorn
7e889a564a
Emscripten fixes;
2018-08-30 20:56:08 -07:00
bjorn
ab1651a1a0
Diff active texture;
2018-08-30 19:42:01 -07:00
bjorn
a8f9b899e0
Cleanup;
2018-08-30 19:40:31 -07:00
bjorn
04e119e413
Reduce size of default font;
...
It only supports the ISO8859-1 character set now.
2018-08-30 18:13:47 -07:00
bjorn
7c21d77a6e
rm singlepass conf flag; Viewports; getSupported.singlepass;
2018-08-30 04:02:58 -07:00
bjorn
5ab15e36a8
Declare extension before in;
2018-08-30 03:43:41 -07:00
bjorn
20faaf7479
ShaderBlock buffer bind fix;
2018-08-30 03:41:10 -07:00
bjorn
4631d2dacc
Test shader extension fallback;
2018-08-30 03:38:31 -07:00
bjorn
dd889a1c4a
Diff viewport state;
2018-08-30 03:25:16 -07:00
bjorn
e6a7a4f922
Redo singlepass;
2018-08-30 00:52:38 -07:00
bjorn
6058fbc5cd
Modify GL extensions;
...
- rm NV_stereo_view_rendering
- rm NV_viewport_array2
- add AMD_vertex_shader_viewport_index
2018-08-30 00:26:10 -07:00
bjorn
a97c8e2266
Fix skybox texture mapping;
2018-08-30 00:06:29 -07:00
bjorn
1f4fee9b28
Fix newTexture flags;
2018-08-29 21:45:08 -07:00
bjorn
58747d6673
Rebase;
2018-08-29 21:31:07 -07:00
bjorn
56821b3aba
lovrCanvasBlit works with MSAA;
2018-08-29 21:22:13 -07:00
bjorn
ce2dfb523e
Make window mono by default;
...
The window is now mono by default to make the error screen better and better enable non-stereo uses. The Camera can now request that the window be treated as stereo.
2018-08-29 21:22:13 -07:00
bjorn
e2d7310914
Fix sneaky MSAA bug;
2018-08-29 21:22:13 -07:00
bjorn
0dbdc78c87
Fix fake driver projection;
2018-08-29 21:22:13 -07:00
bjorn
4215ea2e24
Canvas getters;
2018-08-29 21:22:13 -07:00
bjorn
3c78eae42b
Fix interaction between mipmaps/msaa resolution;
2018-08-29 21:22:12 -07:00
bjorn
e287cee1c9
Canvas:newTextureData;
2018-08-29 21:22:12 -07:00
bjorn
74fec01e60
Canvas mipmaps flag;
2018-08-29 21:22:12 -07:00
bjorn
06fa846680
Resolve supports multiple color attachments;
2018-08-29 21:22:12 -07:00
bjorn
6104d3362e
OpenVR MSAA flags;
2018-08-29 21:22:12 -07:00
bjorn
a4912ce96e
Only resolve if MSAA;
2018-08-29 21:22:12 -07:00
bjorn
a5f6ff506b
MSAA resolve;
2018-08-29 21:22:12 -07:00
bjorn
c244cc02c1
rm AttachmentTypes; DepthFormats;
2018-08-29 21:22:12 -07:00
bjorn
3fb1b49549
MSAA canvases/textures but no resolving yet;
2018-08-29 21:22:12 -07:00
bjorn
6b87a71261
Allow Canvases to be used as Textures sometimes;
2018-08-29 21:22:11 -07:00
bjorn
36ec69e244
Fix pointer cast;
2018-08-29 21:21:38 -07:00
bjorn
590668a8d6
lovrGraphicsBlit;
2018-08-29 21:21:38 -07:00
bjorn
8bb45f4de4
Clean up viewports;
2018-08-29 21:21:07 -07:00
bjorn
26f411f43f
Other headset drivers use stereo display dimensions;
2018-08-29 21:20:01 -07:00
bjorn
0af2704e5c
openvr canvas changes;
2018-08-29 21:20:01 -07:00
bjorn
f0806bb270
Pointers;
2018-08-29 21:19:41 -07:00
bjorn
21a869cc8b
Clean up;
2018-08-29 21:19:41 -07:00
bjorn
671f0835c0
Fix lovr.headset.getDisplayWidth/Height;
2018-08-29 21:19:07 -07:00
bjorn
1ea3c84be9
Ugly viewport stuff;
2018-08-29 21:19:07 -07:00
bjorn
251f197c68
Free renderbuffer;
2018-08-29 21:18:33 -07:00
bjorn
ee0f75484d
newCanvas stereo flag;
2018-08-29 21:18:33 -07:00
bjorn
329668eb39
Additional Canvas validation;
2018-08-29 21:18:33 -07:00
bjorn
68d66f3f98
Canvas:renderTo;
2018-08-29 21:18:33 -07:00
bjorn
4cc8bd7582
Canvas depth buffer;
2018-08-29 21:18:33 -07:00
bjorn
3bf76e3497
Fix clear and canvas texture refcounts;
2018-08-29 21:18:33 -07:00
bjorn
e8ec73657d
lovrCanvasBind;
2018-08-29 21:18:33 -07:00
bjorn
7e74441afd
getCanvas; setCanvas; Canvas attachments;
2018-08-29 21:18:33 -07:00
bjorn
d39e9f1687
Depth texture formats;
...
I hope I don't hate myself for calling them d16, d32, etc.
2018-08-29 21:18:32 -07:00
bjorn
f09f0d9424
newTexture takes w/h/format;
2018-08-29 21:18:32 -07:00
bjorn
e9ebdc2d58
Rework TextureData creation functions;
2018-08-29 21:18:32 -07:00
bjorn
7795bb9276
I came in like a wrecking ball;
2018-08-29 21:18:32 -07:00
bjorn
87c1429778
Rebuild boot.lua.h;
2018-08-23 12:53:05 -07:00
bjorn
7569b7934f
conf flag for singlepass; Shader fixes;
2018-08-23 12:52:18 -07:00
bjorn
b50c2d018a
Texture is optional in lovr.graphics.fill;
2018-08-23 11:44:00 -07:00
bjorn
6f72166f59
Only use 1 texture for skybox;
2018-08-22 12:09:51 -07:00
bjorn
3cc263454b
rm CONTROLLER_BUTTON_JOYSTICK;
2018-08-22 11:27:36 -07:00
bjorn
7a866552e9
Fix remaining physics leaks;
2018-08-22 09:29:34 -07:00
bjorn
c3b79b7274
Use updateWindow in fake headset getDisplayDimensions;
2018-08-20 15:09:08 -07:00
bjorn
5a55e56d9c
Add sleep back to main loop;
...
To avoid pegging the CPU.
2018-08-20 14:48:06 -07:00
Bjorn Swenson
72b2dca38d
Merge pull request #52 from mcclure/no_openal_pr
...
Introduce -DUSE_OPENAL=0 CMake option which prevents inclusion of OpenAL
2018-08-20 13:42:49 -07:00
mcc
883883f0fa
Introduce -DUSE_OPENAL=0 CMake option which prevents inclusion of OpenAL
2018-08-20 16:33:16 -04:00
mcc
f69f6169fe
Fix ControllerButton ordering, which broke isDown
...
The first item in ControllerButtons was NULL, which meant luaL_checkoption could not work.
2018-08-20 13:29:45 -04:00
bjorn
1f00948da0
Fix world/collider memory leaks;
2018-08-18 21:16:19 -07:00
bjorn
d2b6def5c2
Shader:sendImage;
...
Can be used to bind images with specific slices, mipmap levels,
and access hints.
2018-08-17 19:53:54 -07:00
bjorn
cab12ba945
Shader:setBlock accepts access hint;
2018-08-17 19:53:54 -07:00
bjorn
a32b53b2cc
UniformAccess for read/write block/image hints;
2018-08-17 19:53:54 -07:00
bjorn
198400828d
Source:getType;
2018-08-17 19:53:54 -07:00
bjorn
b5d7c0742f
Fix Texture:setFilter;
2018-08-17 19:53:54 -07:00
bjorn
3eca158025
ty compiler;
2018-08-16 17:54:48 -07:00
bjorn
255bf4cb62
Load modules from lua_modules to support luarocks;
2018-08-16 14:57:31 -07:00
bjorn
96cfeedc94
Add rg16f and rg32f texture formats;
2018-08-16 14:54:37 -07:00
bjorn
bd1bb5850e
Load HDR files in floating point format;
2018-08-16 14:28:10 -07:00
bjorn
a30fdc9749
Texture:getFormat;
2018-08-16 14:27:45 -07:00
bjorn
3d691ed087
Use defines to shrink stb_image footprint;
2018-08-16 14:21:24 -07:00
bjorn
7f158a3473
Tiny fix for headset msaa default;
2018-08-15 17:57:05 -07:00
bjorn
29e733503f
Canvas works with new texture allocation method;
2018-08-15 17:56:19 -07:00
bjorn
d036388209
Fix GL_IMAGE_2d constant;
2018-08-15 16:55:50 -07:00
bjorn
a18540a934
Proper validation of uniform texture types;
2018-08-13 17:03:39 -07:00
bjorn
c03ca73fba
Use ifdefs for nvidia glsl extensions;
...
I think they still work if I do this.
2018-08-13 17:03:39 -07:00
bjorn
0e0ac05c6f
Attempt towards more comprehensive barriers;
2018-08-11 21:17:22 -07:00
bjorn
246e9b13b9
Better shader compilation error messages;
2018-08-11 00:09:47 -07:00
bjorn
1295481dc0
Better error message;
2018-08-11 00:09:47 -07:00
bjorn
cc440c9784
Support format parameter in newTextureData;
2018-08-11 00:09:47 -07:00
bjorn
58dc34ec64
Proper format support for image uniforms;
2018-08-11 00:08:34 -07:00
bjorn
7528ac2db8
Fix texture format for image uniforms;
2018-08-11 00:08:34 -07:00
bjorn
a1f200cb61
Use GLSL version 430 for compute shaders;
2018-08-11 00:08:34 -07:00
bjorn
6d10f5c7d0
Post-merge fixes;
2018-08-11 00:08:34 -07:00
bjorn
9ce462a67f
Image uniforms;
2018-08-11 00:08:34 -07:00
bjorn
d961614184
Attempt automatic glMemoryBarrier;
2018-08-11 00:08:34 -07:00
bjorn
9e111071e8
webgl stuff;
...
I shouldn't need to do this but will fix it later.
2018-08-11 00:08:34 -07:00
bjorn
c3823a6f9a
ARB_shader_image_load_store; rm opengl es from glad;
...
This means we had to remove rgb565 and FRAMEBUFFER_INCOMPLETE_DIMENSIONS.
2018-08-11 00:08:34 -07:00
bjorn
902239c017
lovr.graphics.wait; Barrier;
2018-08-11 00:08:34 -07:00
bjorn
94b15c40c2
line 0 in compute prefix;
2018-08-11 00:08:34 -07:00
bjorn
b891a930bf
shaders.c: consistent ordering in header and implementation;
2018-08-11 00:08:34 -07:00
bjorn
5c65fc811f
Change "drawing" to "rendering" in comments;
2018-08-11 00:08:33 -07:00
bjorn
3dabe0cf34
setShader errors on compute shaders;
2018-08-11 00:08:33 -07:00
bjorn
e371359193
Compute shader glsl prefix;
2018-08-11 00:08:33 -07:00
bjorn
98e518683a
Add computeshaders to lovr.graphics.getSupported;
2018-08-11 00:08:33 -07:00
bjorn
3b51056870
lovr.graphics.compute;
2018-08-11 00:08:33 -07:00
bjorn
2cb6de47f2
Compute shader creation;
2018-08-11 00:08:33 -07:00
bjorn
b1079f5ce8
Separate initialization for graphics/compute shaders;
2018-08-11 00:08:33 -07:00
bjorn
bf3ed3ed1f
Texture improvements;
...
Textures no longer keep references to their TextureData.
lovrTextureAllocate can now be used to allocate texture storage,
and isn't weirdly coupled to lovrTextureReplacePixels.
Better error messages for textures.
2018-08-09 16:12:57 -07:00
Bjorn Swenson
06379f33ee
Merge pull request #49 from bjornbytes/shader-block
...
ShaderBlock
2018-08-07 15:17:06 -07:00
bjorn
ae70728ae1
Ok is this a driver bug or what;
2018-08-07 13:26:28 -07:00
bjorn
78d9cc0031
Actually set shader uniforms;
2018-08-06 13:44:46 -07:00
bjorn
8f529d3a37
Fix potential infinite loop in error handler;
2018-08-06 13:26:17 -07:00
bjorn
175de8924f
Ensure uniform count is always positive;
2018-08-06 13:25:04 -07:00
bjorn
bdf130800e
ShaderBlock:getShaderCode;
2018-08-06 11:46:42 -07:00
bjorn
f95685ba80
ShaderBlock:send(blob);
2018-08-06 10:42:23 -07:00
bjorn
86380e7694
ShaderBlock:getOffset;
2018-08-06 10:42:19 -07:00
bjorn
e3e17bc84c
ShaderBlock:isWritable;
2018-08-06 10:41:57 -07:00
bjorn
70b27bd846
Use new table shorthand for newShaderBlock formats;
...
Also luax_checkuniformtype and error message improvements.
2018-08-06 10:34:12 -07:00