1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-08-01 01:51:10 +00:00
Commit graph

369 commits

Author SHA1 Message Date
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
bjorn 72aa7e858a Rename loaders to data; 2017-12-10 12:41:43 -08:00
bjorn 3b9db7fd42 Give OpenVR its depth buffer back; 2017-12-09 22:51:37 -08:00
bjorn ee36b47864 Depth/stencil buffers; More work on Canvas API; 2017-12-09 20:09:27 -08:00
bjorn fa8af65073 Refactor texture formats; 2017-12-09 20:09:27 -08:00
bjorn d261e4b00d Start Canvas objects; 2017-12-09 20:09:27 -08:00
bjorn c6b7d9729d rm lovrGraphicsGetWindow; 2017-12-03 15:23:38 -08:00
bjorn 8e686bba92 Only enable mouselook on press;
For better WebVR experience.
2017-12-01 19:36:05 -08:00
bjorn a698edc475 Bugfixes; 2017-11-30 21:17:54 -08:00
bjorn c6d29f5de3 Add the ability to select headset drivers at runtime;
Messy.
2017-11-25 13:02:09 -08:00
bjorn f63c3c9261 Formatting; 2017-11-25 12:14:00 -08:00
bjorn f34d3536cf Gamma correction for OpenVR; 2017-11-23 23:40:20 -08:00
bjorn 1662e79f0e Use srgb formats for textures; 2017-11-23 14:19:20 -08:00
bjorn 602e0ced7d Floating point colors;
This is a breaking change.
2017-11-20 21:47:36 -08:00
bjorn 27b24e4de3 Use correct origin type for fake headset; 2017-11-20 19:33:51 -08:00
bjorn 9d83684c9c rm unused variable; 2017-11-20 18:12:32 -08:00
bjorn 2c6cb28224 Use references when dealing with model materials; 2017-11-01 23:11:35 -07:00
Bjorn Swenson be087fd108
Merge pull request #26 from bcampbell/fake-headset
Fake headset - controller button event
2017-11-01 19:30:15 -07:00
bjorn 194382643b Add back Model:getAABB; 2017-11-01 19:27:58 -07:00
bjorn ecde864ec4 Use spooky BOOleans everywhere; 2017-10-31 01:14:09 -07:00
Ben Campbell 9d75de96a2 fake controller: apply offset 2017-10-29 10:42:20 +13:00
Ben Campbell 1127abeaf0 fake controller events (left mouse for trigger) 2017-10-29 09:33:54 +13:00
bjorn 1ebc527c74 Load vertex colors for models; 2017-10-23 19:24:29 -07:00
Ben Campbell a5fe871605 switch up/down keys to Q/E
There was concern that SPACE/LEFTSHIFT might invoke the windows
stickykeys behaviours when held down.
2017-10-23 12:48:18 +13:00
Ben Campbell aaf2840e64 rename HeadsetImpl -> HeadsetInterface 2017-10-23 12:44:26 +13:00
Ben Campbell 6a5d4f98ea Add _USE_MATH_DEFINES, required for sane visual c 2017-10-23 12:37:19 +13:00
Ben Campbell dcc3d970a6 trim out some dead/commented code 2017-10-23 12:32:08 +13:00
Ben Campbell e218345e1f remove redundant text editor modelines 2017-10-23 12:27:26 +13:00
Ben Campbell a22a9ed1f4 Merge branch 'master' into fake-headset 2017-10-23 09:32:32 +13:00
bjorn d5b3a2243e Rename internal canvas to view; 2017-10-22 03:34:45 -07:00
bjorn bbae209623 Controller render models work with Material system; 2017-10-21 15:30:35 -07:00
bjorn 32b05cb15d Support multiple texture slots; 2017-10-21 13:21:28 -07:00
Ben Campbell 5c17196e49 Add runtime selection support for webvr version 2017-10-21 22:52:07 +13:00
Ben Campbell c694f56439 pick appropriate headset implementation at runtime
(just fake and openvr for now. Need to add webvr support still)
2017-10-21 22:39:33 +13:00
Ben Campbell 5df4197f39 Add indirection of fake headset functions
Setting up for runtime-pickable headset implementation
2017-10-21 09:32:46 +13:00
Ben Campbell a3d81b773c fake headset: fix reversed up/down movement
minecraft key conventions ;)
2017-10-19 22:07:28 +13:00
Ben Campbell 3575c09114 make fake headset tolerant of non-existent window 2017-10-19 22:04:46 +13:00
bjorn f5e8535726 Use internal scene graph for models;
Allows for loading of more complicated models and multiple materials
for a single model.  Also fixes bugs with Mesh draw ranges.  Model:getAABB
is temporarily removed.
2017-10-14 18:01:00 -07:00
Ben Campbell 5667b5711b fake headset: add ultra cheesy fake controller
single controller, locked to headset position and orientation.
left mouse button is trigger.
2017-10-14 10:34:25 +13:00
Ben Campbell a40fed579b fake headset: add cursor key support 2017-10-14 10:04:41 +13:00
Ben Campbell 0ed41b690a fake headset: make mouse capture feel more natural
Disable mousecapture when window loses focus, or escape is pressed.
Reenable it when user clicks in window.
2017-10-14 09:56:23 +13:00
Ben Campbell 2b9cc1a60c add headset.update (to handle moving fake headset) 2017-10-14 09:46:33 +13:00
Ben Campbell 0e4e1159e5 rename 'near' and 'far' params (caused msys2 problems)
Looks like 'near' and 'far' are still pointer qualifiers under
some compilers/environments. The gcc from msys2 refused to build.
2017-10-13 08:54:01 +13:00
Ben Campbell 8f97384951 cheesy hack to module load order to get fake headset running 2017-10-12 23:04:18 +13:00
Ben Campbell 38803af405 beginnings of fake headset support 2017-10-12 13:14:51 +13:00
bjorn 6c3abad9f4 Fix crash in OpenVR mirror texture; 2017-09-18 00:39:47 -07:00
bjorn 5841ae1628 Controller:getHand for WebVR; 2017-09-03 01:26:18 -07:00
bjorn 4b3c7c60c2 Improve OpenVR tracking accuracy; 2017-09-02 23:08:46 -07:00
bjorn e4a7c6bb47 Fix WebVR; 2017-08-15 01:05:18 -07:00
bjorn 33c54efbed Use touchpad for touch joystick; 2017-08-13 04:35:49 -07:00
bjornbytes eea960df8c Support Touch controllers; 2017-08-12 22:58:59 -07:00
bjornbytes 5bf174b37d Use enum for lovrHeadsetGetType; 2017-08-12 21:35:37 -07:00
bjornbytes b843fc3dbe Return proper headset name for OpenVR backend; 2017-08-12 21:13:57 -07:00
bjornbytes 3c3076f8c4 Fix VR rendering; 2017-08-12 20:43:23 -07:00
bjorn 0311232ae1 Add lovrModel and lovrView matrices; 2017-08-10 22:23:19 -07:00
bjorn 74f585ca8d Use lovrAssert and lovrThrow for better errors; 2017-08-10 01:05:04 -07:00
bjorn b65673bc3f Color object; 2017-08-08 01:33:52 -07:00
bjorn fb10cf6f2a Fix WebVR; 2017-08-06 23:58:14 -07:00
bjorn 9650524e53 Fix origin type boolean check; 2017-08-06 23:58:14 -07:00
bjorn 42a3444fd8 HeadsetOrigin; conf.headset.offset; 2017-08-06 23:58:14 -07:00
bjorn b5a58e31f1 Declare secret OpenVR functions; 2017-08-03 00:57:52 -07:00
bjorn 0e470a9088 Pass correct arguments to webvr sittingToStanding; 2017-07-31 02:42:00 -07:00
bjorn 39ba6d3f12 Add trigger ControllerButton; 2017-07-24 23:17:00 -07:00
bjorn f1141664b6 Mipmap generation; 2017-07-23 16:24:43 -07:00
bjorn 2a05fb4033 Refactor TextureFormat; 2017-07-23 16:24:43 -07:00
bjorn ca95fa0df0 Handle texture formats better; 2017-06-18 17:28:15 -07:00
bjorn 9428f9628e Fix dirtied sittingToStanding matrix; 2017-06-10 23:18:32 -07:00
bjorn bf555d558d Use default shader when drawing mirror texture; 2017-06-10 14:05:20 -07:00
bjorn 7b22a8fac3 Remove guard against null sittingToStanding matrix; 2017-05-06 16:26:52 -07:00
bjorn f9e2b1441e Support polyfill; 2017-04-23 16:02:08 -07:00
bjorn 4399a2feb8 rm bounds visibility functions;
Minor WebVR fixes.
2017-04-22 22:53:03 -07:00
bjorn c1afd6ca33 WebVR Controllers; 2017-04-22 18:20:12 -07:00
bjorn 95fb96ec2c Controller experiments; 2017-04-22 16:59:54 -07:00
bjorn 37479be4b0 Fix rendering coordinate system; 2017-04-22 10:50:12 -07:00
bjorn 520227aa87 Fix meshes; 2017-04-22 10:34:44 -07:00
bjorn 255dc5a43c Fix coordinate system; 2017-04-21 23:06:10 -07:00
bjorn 068784ef73 Add more to headset API; 2017-04-20 20:46:35 -07:00
bjorn 872ceb365d WIP; 2017-04-19 21:44:35 -07:00
bjorn 0f1acae42a WIP; 2017-04-16 16:56:49 -07:00
bjorn 9eb4d7b393 Move all window code into graphics module; 2017-04-12 19:48:47 -07:00
bjorn 0d552a0f0c Draw headset mirror with white color; 2017-04-02 11:14:25 -07:00
bjorn ac7a97fe77 Minor OpenVR render model cleanup; 2017-03-12 15:10:07 -07:00
bjorn c6b635a2ec rm lovr.graphics.setProjection; 2017-03-11 21:19:26 -08:00
bjorn f3dfbe518a Fix switch scope; 2017-03-11 21:10:13 -08:00
bjorn 49a0ba4d1c lovr.headset.isMirrored; lovr.headset.setMirrored;
Also add conf.lua field to configure initial mirroring state.
2017-03-11 19:12:03 -08:00
bjorn 0c6da83332 lovr.focus;
This may not work in all cases involving e.g. overlays.
2017-03-11 19:01:01 -08:00
bjorn f9f0773b92 lovr.controllerpressed; lovr.controllerreleased; 2017-03-11 18:46:07 -08:00
bjorn ad1706f2ba Rename vive to openvr; 2017-03-11 03:31:04 -08:00
bjorn b84f72f17e Rename vendor to lib; 2017-03-11 02:19:33 -08:00
bjorn b3009955f3 Fix texture resets again; 2017-03-04 00:18:59 -08:00
bjorn a932c4fec5 Fix Controller model freeing; 2017-02-26 23:52:40 -08:00
bjorn 2368f725a1 Fix OpenVR controller models; 2017-02-26 18:49:40 -08:00
bjorn 97ba379bd3 More Controller fixes; 2017-02-26 18:37:07 -08:00
bjorn f58e58d172 Improve headset safety; 2017-02-26 16:54:55 -08:00
bjorn 94af335225 Fix OpenVR texture reset yet again; 2017-02-26 16:33:20 -08:00
bjorn 9f351774d2 Fix vive state; 2017-02-20 01:21:58 -08:00
bjorn 686be658bf Simplify headset abstractions; 2017-02-19 15:49:39 -08:00
bjorn 6692734151 Move all OpenVR code into vive; 2017-02-19 14:59:53 -08:00
bjorn ea9f378850 Small VR rendering optimization; 2017-02-18 15:32:36 -08:00
bjorn aa470d6fab Fix vive rendering; 2017-02-17 00:48:43 -08:00
bjorn f80e3e5a13 More font rendering; 2017-02-09 21:06:07 -08:00
bjorn 6d55c51a3e Fix crash when SteamVR is missing; 2017-02-03 16:08:58 -08:00
bjorn 1714804651 Fix headset types; 2017-01-26 02:26:15 -08:00
bjorn e80f390151 Try #pragma once; 2017-01-26 02:21:56 -08:00
bjorn 3dee0b4782 lovr.headset.getEyePosition; HeadsetEye; 2017-01-22 21:20:34 -08:00
bjorn 492a75acba Properly destroy modules on exit; 2017-01-21 18:18:12 -08:00
bjorn 4303846eac Clean up includes; 2017-01-21 18:00:32 -08:00
bjorn 8a3d52b3c6 Cleanup ugh; 2017-01-20 19:55:54 -08:00
bjorn 3dbafc8214 Cleanup; 2017-01-20 18:39:48 -08:00
bjorn e8e2a99e5b Finish internal math library; 2017-01-20 18:39:46 -08:00
bjorn 797da11480 Headset mirror; 2017-01-14 21:57:28 -08:00
bjorn 4e97fec4eb Fix vive rendering; 2017-01-14 21:18:23 -08:00
bjorn 15ead25624 Headset uses Texture; 2017-01-14 21:08:47 -08:00
bjorn 59d1bb5ee9 MSAA Textures; Help; 2017-01-14 17:38:25 -08:00
bjorn 9e7e1a113f Formatting; 2017-01-11 20:32:11 -08:00
bjorn eba3996984 Improve CanvasState; 2017-01-11 20:26:08 -08:00
bjorn b05e2630dd CanvasState; 2017-01-11 09:25:43 -08:00
bjorn e73e3fc5c4 Update to OpenVR 1.0.5; 2017-01-07 09:55:20 -08:00
bjorn 276fe5ef91 Maybe fix vive controller buttons; 2016-12-03 22:22:33 -08:00
bjornbytes 054a672e43 Fix vibration; 2016-12-03 14:51:56 -08:00
bjorn fb472c4338 Fix controllers; 2016-12-03 12:08:34 -08:00
bjorn 8feba7342b Headset fixes; 2016-12-01 17:06:27 -08:00
bjorn b72b1b242b Improve controller detection; 2016-12-01 14:55:47 -08:00
bjorn 89f0d89223 Improve Controller detection; 2016-11-30 23:03:58 -08:00
bjorn b7d1b1e5dc Style; 2016-11-30 20:32:14 -08:00
bjorn 8252be04ed Refactor Headset; 2016-11-26 02:32:19 -08:00
bjorn c74da49a05 openvr.h; 2016-11-26 00:31:44 -08:00
bjorn 006221b7fd TextureData; 2016-11-25 23:54:45 -08:00
bjorn bd9fec011b headsetControllerGetModel; 2016-11-25 23:32:48 -08:00
bjorn 3d18eb99e6 Refactor model loader; 2016-11-25 23:15:04 -08:00
bjorn 316893d132 Start loaders directory; 2016-11-25 17:13:26 -08:00
bjorn 5d53cc7118 Progress on controller models; 2016-11-25 03:18:53 -08:00
bjorn 38379d44b4 Start Controller models; 2016-11-25 01:12:36 -08:00
bjorn 614d23198e Improve VR position tracking while rendering; 2016-11-24 16:23:13 -08:00
bjorn fc6fd738d2 Improve support for retrieving chaperone info; 2016-11-23 20:54:04 -08:00
bjorn a743cfd3b6 Initial reference counting system; 2016-11-19 13:33:40 -08:00
bjorn 7e4e9a6108 Clean up includes; 2016-11-19 01:28:01 -08:00
bjorn 42c1047b88 Fix small vive memory leak; 2016-11-18 01:28:40 -08:00
bjorn 3520fca758 Controller:isDown; 2016-11-14 19:57:23 -08:00
bjorn 8fe678b83a Internal Controller rename; 2016-11-14 19:47:24 -08:00
bjorn c358fac8c7 Controller:vibrate; 2016-11-14 19:33:42 -08:00
bjorn 14d29ca100 Controller:getAxis; 2016-11-14 16:22:28 -08:00
bjorn 40f7260dd3 Start controller input; 2016-11-14 16:05:55 -08:00
bjorn 3ef84510c9 Improve windows platform detection; 2016-11-14 00:02:21 -08:00
bjorn 811bf67071 Windows fixes; 2016-11-12 01:19:47 -08:00
bjorn b69a7be1ba Better malloc error handling; 2016-11-08 14:55:07 -08:00
bjorn 94a9c0e8cb lovrGraphicsTransform; 2016-11-01 20:48:04 -07:00
bjorn 9975e695dd Headset display dimensions; 2016-10-24 16:03:29 -07:00
bjorn 769ded9c71 Controller:getHand; 2016-10-24 15:52:16 -07:00
bjorn 2b11142970 Improve compilation UX; 2016-10-24 14:09:32 -07:00
bjorn 2267396e5a Render to window if headset unavailable; 2016-10-24 13:43:07 -07:00
bjorn 78f0c2d947 Clean up, clean up;
Everybody everywhere!
2016-10-04 15:13:57 -07:00
bjorn a2c51e17ab Fix vive orientation math; 2016-10-03 18:00:33 -07:00
bjorn d66e7c0d81 Improve vive orientation; 2016-10-03 17:02:01 -07:00
bjorn e6dcfad12d lovrHeadsetIsPresent returns char; 2016-10-03 11:40:20 -07:00
bjorn 2c7e03c0ed Better bools; 2016-10-03 11:26:54 -07:00
bjorn 2391185931 Controller:getOrientation; 2016-10-03 11:16:48 -07:00
bjorn c9f937ec19 Controller:getPosition; 2016-10-03 11:12:21 -07:00
bjorn b594b218b2 Controller:isPresent; 2016-10-03 11:12:06 -07:00
bjorn c56050ce92 Add viveGetPose; 2016-10-03 11:10:24 -07:00
bjorn 58a2d60ef7 Controller basics; 2016-10-02 18:09:33 -07:00
bjorn 814b62c323 Add missing interface definitions; 2016-10-01 18:09:18 -07:00
bjorn 7247c7f2ad Fix vive warnings; 2016-10-01 15:13:54 -07:00
bjorn d14bcfeea0 lovr.headset.setBoundsVisible; 2016-10-01 15:12:12 -07:00
bjorn d98cd40f49 lovr.headset.getTrackingSize; 2016-10-01 14:17:26 -07:00
bjorn 3444d6cb77 Headset organization; 2016-10-01 14:16:02 -07:00