Lua Virtual Reality Engine
Go to file
bjorn d14ddb5182 Update README; 2018-08-10 19:00:03 -07:00
deps rm deps/freetype submodule; 2018-08-10 18:49:03 -07:00
src Texture improvements; 2018-08-09 16:12:57 -07:00
.appveyor.yml .appveyor.yml: Add skip_branch_with_pr; 2018-08-02 05:10:34 -07:00
.editorconfig Add .editorconfig 2017-09-18 18:22:37 -07:00
.gitignore Ensure arg gets passed to lovr.load; 2018-03-30 18:48:20 -07:00
.gitmodules rm deps/freetype submodule; 2018-08-10 18:49:03 -07:00
.travis.yml .travis; 2018-05-27 19:05:10 -07:00
CMakeLists.txt rm freetype from CMakeLists; 2018-08-10 18:49:48 -07:00
CONTRIBUTING.md Update CONTRIBUTING; 2018-03-01 08:33:17 -08:00
LICENSE Glad that's over; 2018-01-01 21:20:21 -08:00
README.md Update README; 2018-08-10 19:00:03 -07:00

README.md

LÖVR

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

Homepage | Documentation | Slack

Build status Version

Features

  • Easily create VR using simple Lua scripts
  • Automatically detects and renders to connected VR headsets (works without a headset too!)
  • 3D graphics API supporting primitives, fonts, shaders, skyboxes, framebuffers, etc.
  • Import 3D models from obj, fbx, collada, or glTF files, including materials and animations.
  • 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.7, -1, .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.

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, see the Compiling Guide.

Contributing

Contributions are welcome! See CONTRIBUTING for more information.

License

MIT, see LICENSE for details.