Lua Virtual Reality Engine
Go to file
bjorn baede52ae6 Update msdfgen; 2017-12-17 19:45:50 -08:00
deps Update msdfgen; 2017-12-17 19:45:50 -08:00
src Throw an error if a texture is too big; 2017-12-17 19:19:09 -08:00
.editorconfig Add .editorconfig 2017-09-18 18:22:37 -07:00
.gitignore Ignore openvr bin directory; 2017-11-20 22:36:18 -08:00
.gitmodules Migrate dependencies from lovr-deps; 2017-08-13 18:41:13 -07:00
CMakeLists.txt Rename loaders to data; 2017-12-10 12:41:43 -08:00
COMPILING.md Update package list for Ubuntu; 2017-10-17 21:51:50 -07:00
CONTRIBUTING.md Rename loaders to data; 2017-12-10 12:41:43 -08:00
LICENSE 2016 was 30 years ago; 2017-05-17 22:27:38 -06:00
README.md Rename data to resources; 2017-12-10 12:41:43 -08:00
appveyor.yml Update appveyor.yml; 2017-12-17 13:46:38 -08:00

README.md

LÖVR

LÖVR is a simple framework for creating virtual reality experiences with Lua, based on LÖVE.

Build status Version

Features

  • Automatically detects and renders to connected VR headsets (works without a headset too!)
  • Simple 3D graphics API supporting primitives, 3D models, fonts, shaders, skyboxes, framebuffers, etc.
  • Create projects for Windows, macOS, Linux, or WebVR
  • Spatialized audio
  • 3D physics

Screenshots

Getting Started

You can download precompiled binaries from the website. There, you can also find documentation and a set of tutorials and examples. Here is the hello world example for LÖVR:

function lovr.draw()
  lovr.graphics.print('Hello World!', 0, 1.7, -3, .5)
end

To run it, first create a folder for your project and put the code in a file called main.lua. Then, just drop the project folder onto lovr.exe (or run lovr.exe path/to/project on the command line). Put on your headset and you should see the text at the front of your play area!

Spinning Cube

function lovr.draw()
  lovr.graphics.cube('line', 0, 1, 0, .5, lovr.timer.getTime())
end

3D Models

function lovr.load()
  model = lovr.graphics.newModel('teapot.fbx', 'teapot.png')
end

function lovr.draw()
  model:draw()
end

Audio

function lovr.load()
  local sound = lovr.audio.newSource('darudeSandstorm.ogg')
  sound:play()
end

Documentation

Documentation and examples are available on the website here. The website is also open source if you want to add or edit documentation.

Community

If you wanna be my LÖVR, you gotta get with my friends - Spice Girls

Feel free to join the LÖVR Slack for questions, info, and other discussion.

Compiling

To compile from source to create a custom build or contribute to LÖVR, see COMPILING.

Contributing

Contributions are welcome! See CONTRIBUTING for more information.

License

MIT, see LICENSE for details.