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

334 commits

Author SHA1 Message Date
bjorn 1ea3c84be9 Ugly viewport stuff; 2018-08-29 21:19:07 -07:00
bjorn 4cc8bd7582 Canvas depth buffer; 2018-08-29 21:18:33 -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 3cc263454b rm CONTROLLER_BUTTON_JOYSTICK; 2018-08-22 11:27:36 -07:00
bjorn c3b79b7274 Use updateWindow in fake headset getDisplayDimensions; 2018-08-20 15:09:08 -07: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 0b70285e30 Fix WebGL memcpys; 2018-08-02 03:40:47 -07:00
bjorn 785913fd45 Add conf.headset.msaa config;
For separate window/headset msaa settings.  Currently only applies
to OpenVR since the other drivers render directly to the window.
2018-07-28 18:12:57 -07:00
bjorn 3c2d644d9f Fake headset doesn't stomp on existing glfw callbacks; 2018-07-27 19:53:40 -07:00
bjorn 156c0cde5d Condense event code a bit; 2018-07-26 19:38:01 -07:00
bjorn bc2d638b00 Refs know their type; 2018-07-24 19:14:29 -07:00
bjorn 2dc79a48a8 Use single pass stereo rendering when supported; 2018-07-21 05:30:13 -07:00
bjorn cfd96b2dee Fix Canvas stuff; 2018-07-17 19:20:33 -07:00
bjorn c065bda3f0 Some optimization/profiling of state changes; 2018-07-17 18:49:42 -07:00
bjorn 05b0ea203f WebVR update; 2018-07-17 17:21:15 -07:00
bjorn 65cd5e2eb9 Fix fake headset display dimensions in lovr.load; 2018-07-17 17:21:15 -07:00
bjorn f1f2c7b401 Yay all opengl is in opengl.c; 2018-07-17 17:21:15 -07:00
bjorn 2cf0e15eb0 Morganization; Fix some Canvas issues; 2018-07-17 17:21:15 -07:00
bjorn f57810cd7a Morganization; 2018-07-17 17:21:15 -07:00
bjorn b64489b020 Pipeline stack for graphics state; Simplify clearing; 2018-07-17 17:21:14 -07:00
bjorn 6933914650 Shift around glfw includes; 2018-07-17 17:21:14 -07:00
bjorn e6e8e137c0 Clean up drawing; 2018-07-17 17:21:14 -07:00
bjorn c35415ba66 Move over texture binding; 2018-07-17 17:21:14 -07:00
bjorn c86bb419f1 Use indirection for graphics object access;
This will make it easier to move stuff around.
2018-07-17 17:21:14 -07:00
bjorn 57c8dfe146 Clean up includes; 2018-07-04 13:51:35 -07:00
bjorn 6cbf4075ec Render OpenVR mirror window in stereo; 2018-06-12 20:14:53 -07:00
bjorn 4370b7f0f5 Fake headset cleanup; 2018-06-10 10:18:54 -07:00
bjorn df87eeee31 Inertia tuning; 2018-06-10 09:51:34 -07:00
bjorn ab1e46cab4 Add inertia timeout; 2018-06-10 09:51:34 -07:00
bjorn 8e013877d6 Add inertia to fake headset mouselook; 2018-06-10 09:51:34 -07:00
bjorn 17bf06b817 Fixes for openvr driver; 2018-06-04 19:49:36 -07:00
bjorn 6ff7292333 Mostly remove instanced stereo rendering; 2018-06-03 17:18:42 -07:00
bjornbytes c68d65441c Draw the rest of the fucking owl; 2018-05-27 19:05:10 -07:00
bjorn df876bf3b2 Static display; 2018-05-27 19:05:10 -07:00
bjorn 8bc7802246 Controller events; 2018-05-27 19:05:10 -07:00
bjorn f4ecdb074b WebVR isMounted I guess; 2018-05-27 19:05:10 -07:00
bjorn a3a59f01a3 WebVR controller input;
No events yet.
2018-05-27 19:05:10 -07:00
bjorn be217a9b63 Some basic WebVR Controller functions; 2018-05-27 19:05:10 -07:00
bjorn 805629b4ca WebVR controller list; 2018-05-27 19:05:10 -07:00
bjorn 7ffd3fc25d Use more primitive getControllers signature; 2018-05-27 19:05:10 -07:00
bjorn fd5ae4d124 webvrGetEyePose; 2018-05-27 19:05:10 -07:00
bjorn ab2594b204 WebVR velocity functions; 2018-05-27 19:05:10 -07:00
bjorn a3e4b9b2b3 Change mat4_transform signature; 2018-05-27 19:05:10 -07:00
bjorn 498a1843ad Work on WebVR pose input; 2018-05-27 19:05:10 -07:00
bjorn 859251d020 Start WebVR rewrite; 2018-05-27 19:05:10 -07:00
bjorn c767e9c165 Simplify headset structure; 2018-05-27 19:05:10 -07:00
3snow p7im 69cf13f4ae Only apply alignment fix when including openvr api 2018-04-22 18:22:40 -07:00
3snow p7im 2bfba10f81 Fix button controller button detection for linux and mac 2018-04-22 09:25:55 -07:00
bjorn 3e5e0f143b WebVR fixes; 2018-04-11 18:32:56 -07:00
bjorn 3528182919 openvr driver uses correct offset; 2018-04-11 00:26:16 -07:00
bjorn 7dc8f4ad58 rm lovrEventRemovePump in openvr driver; 2018-04-11 00:02:02 -07:00
bjorn 1ad00328c1 Add a flag for autogenerating Canvas mipmaps; 2018-03-22 10:58:53 -07:00
bjorn 95da07d165 Stereo canvases;
Canvases can be created with the "stereo" flag to make it a stereo
Canvas.  If a Canvas is stereo, everything rendered to it will be
rendered to the left and right halves of it, using left/right
view and projection matrices.  Headset drivers will use stereo
Canvases to improve performance.
2018-03-22 09:57:44 -07:00
bjorn 334e218e4c Diff render target state better; 2018-03-22 09:57:44 -07:00
bjorn 988d8c7d23 Rename blit to fill; 2018-03-22 09:57:44 -07:00
bjorn 5feb47c5b7 Remove eye argument from lovr.draw; 2018-03-22 09:57:44 -07:00
bjorn 8b201838b6 Add lovr.graphics.blit for fullscreen quads; 2018-03-22 09:57:44 -07:00
bjorn 2cbd565522 Fix texture submit bounds; Fix layer canvas bug; 2018-03-22 09:57:44 -07:00
bjorn 2def650abd Refactor layers/displays; 2018-03-22 09:57:44 -07:00
bjorn ddb22aef0e Refactor headset offset; 2018-03-22 09:57:44 -07:00
bjorn 1f1232505e Uniform buffer objects for matrices;
Still hacky.
2018-03-22 09:57:44 -07:00
bjorn 3064eff017 Hack everything but it mostly works; 2018-03-22 09:57:44 -07:00
bjorn d77b139d21 Make Mesh more lightweight; 2018-03-21 15:36:00 -07:00
bjorn f6a9f8ee19 lovr.headset.setMirrored works with fake driver; 2018-03-19 12:05:04 -07:00
bjorn 6916137dc6 VertexData and TextureData properly extend Blob;
...He hates it!
2018-03-10 21:28:22 -08:00
bjorn 4df836727c Simplify refcounting; 2018-02-26 00:59:03 -08:00
bjorn f54d1c1e03 rm containerof; 2018-02-25 23:19:39 -08:00
bjorn 272cce65a2 Weird compile fixes; 2018-02-25 21:41:02 -08:00
bjorn 3a36bcceae lovr.mount; lovr.headset.isMounted; isPresent changes;
Remove lovr.headset.isPresent.
Replace Controller:isPresent with Controller:isConnected.
Add lovr.headset.isMounted and lovr.mount callback.
2018-02-25 16:42:31 -08:00
bjorn 33c529dcd8 Update WebVR; 2018-02-24 00:59:11 -08:00
bjorn 8de0af397b Clean up headset WIP; 2018-02-23 20:01:13 -08:00
bjorn 9ca743dc1a Headset module can be restarted; 2018-02-23 18:38:53 -08:00
bjorn 8fb3421658 Fix everything on windows; 2018-02-23 18:38:53 -08:00
bjorn f3ac875ceb Don't generate mipmaps for Canvases; 2018-02-21 02:07:19 -08:00
bjorn f75530b9e1 Add support for 2d array textures; Improve mipmaps;
lovr.graphics.newTexture has been changed.
2018-02-20 17:15:47 -08:00
bjorn 17c81a3502 Clear HMD canvas properly; 2018-02-18 16:15:12 -08:00
bjorn 7cecc1489e getCanvas; setCanvas; MRT; MULTICANVAS define; 2018-02-15 19:58:35 -08:00
bjorn 3287b0acb6 Fix OpenVR controller model materials; 2018-02-13 21:24:18 -08:00
bjorn d5a1928b3d Rename a bunch of files; 2018-02-11 15:22:04 -08:00
bjorn 8ad882e7a4 Add VertexData object; 2018-02-10 17:27:29 -08:00
bjorn 3fd6f27768 Allow custom values when clearing color, depth, and stencil buffers; 2018-02-08 21:26:53 -08:00
mcc 1f46dd5053 Switch trigger to right-click when using fake headset
Currently left-click is used for both mouselook and trigger, which means it's impossible to mouselook without triggering
2018-02-03 09:20:12 -05:00
bjorn 14a54fa7b0 rm MaterialData; 2018-01-29 21:44:32 -08:00
bjorn 4a68067e28 rm AnimationData; 2018-01-29 20:30:13 -08:00
bjorn 66d0e42908 Refactor VertexFormat; 2018-01-26 19:11:40 -08:00
crito ba85abaa0d remove webvrGetBoundsGeometry reference from webvr.c
getBoundsGeometry implementation was dropped with 11586e8
but not in HeadsetInterface.
2018-01-27 00:13:42 +01:00
mcc 8052896b33 Restart-without-quit support: lovr.event.quit("restart") and return-from-run() both support the string "restart" in place of an exit code. When this happens, the program reruns itself in a new, isolated environment. In Emscripten, no reboot occurs and the program only quits. 2018-01-25 21:32:16 -05:00
bjorn 255c001717 Simplify mipmaps; 2018-01-14 13:21:34 -08:00
bjorn 511598f605 Fix lovr.headset.getDisplayDimensions when called in lovr.load; 2018-01-08 21:16:34 -08:00
bjorn 11586e8248 rm lovr.headset.getBoundsGeometry; 2018-01-06 15:49:19 -08:00
bjorn 832a470c90 Make controller models more safe; 2018-01-05 21:09:32 -08:00
bjorn 31f6401fdd Fix webvr; 2018-01-01 20:37:31 -08:00
bjorn abee677d38 Give OpenVR canvas a stencil buffer; 2017-12-31 20:25:51 -08:00
bjorn aa4ceafbf2 Add headset type for Windows MR headsets; 2017-12-30 12:21:51 -08:00
bjorn 08cda7bad6 Fix glBindFramebuffer call; 2017-12-18 22:15:24 -08:00
bjorn 5b77d42fa0 Use proper number of MSAA samples for headset canvas; 2017-12-18 20:00:53 -08:00
bjorn 77d8b96cfd lovr.graphics.stencil; 2017-12-18 19:48:28 -08:00
bjorn f43272adc3 lovr.headset.getPose; Controller:getPose;
Remove lovr.headset.getEyePosition.  It is now an optional first
argument to the other lovr.headset functions.
2017-12-17 22:20:29 -08:00
bjorn 5401c2f3c6 Fix OpenVR render model loading; 2017-12-17 22:20:29 -08:00