Zurück zum Ranking

bjornbytes/lovr

Clovr.org

Lua Virtual Reality Framework

vropenvrluavirtual-realitylovrgame-engineopenxrgamedevoculusoculus-quest
Sterne-Wachstum
Sterne
2.6k
Forks
164
Wochenwachstum
Issues
27
1k2k
Okt. 2016Jan. 2020Apr. 2023Juli 2026
README

LÖVR

A simple Lua framework for rapidly building VR experiences.

You can use LÖVR to easily create VR experiences without much setup or programming experience. The framework is tiny, fast, open source, and supports lots of different platforms and devices.

Build Version Matrix Discord

Homepage | Documentation | FAQ

Features

  • Cross-Platform - Runs on Windows, macOS, Linux, and Android.
  • Cross-Device - Supports Vive/Index, Oculus Rift/Quest, Windows MR, and has a VR simulator.
  • Beginner-friendly - Simple VR scenes can be created in just a few lines of Lua.
  • Fast - Written in C11 and scripted with LuaJIT, includes optimized single-pass stereo rendering.
  • Asset Import - Supports 3D models (glTF, OBJ), skeletal animation, HDR textures, cubemaps, fonts, etc.
  • Spatialized Audio - Audio is automatically spatialized using HRTFs.
  • Vector Library - Efficient first-class support for 3D vectors, quaternions, and matrices.
  • 3D Rigid Body Physics - Including 7 collider shapes, triangle mesh colliders, and 6 joint types.
  • Compute Shaders - For high performance GPU tasks, like particles.

Getting Started

It's really easy to get started making things with LÖVR. Grab a copy of the executable from https://lovr.org/downloads, then write a main.lua script and drag it onto the executable. Here are some example projects to try:

Hello World

function lovr.draw(pass)
  pass:text('Hello World!', 0, 1.7, -3, .5)
end

Spinning Cube

function lovr.draw(pass)
  pass:cube(0, 1.7, -1, .5, lovr.timer.getTime())
end

Hand Tracking

function lovr.draw(pass)
  for _, hand in ipairs(lovr.headset.getHands()) do
    pass:sphere(vec3(lovr.headset.getPosition(hand)), .1)
  end
end

3D Models

function lovr.load()
  model = lovr.graphics.newModel('model.gltf')
end

function lovr.draw(pass)
  pass:draw(model, x, y, z)
end

More examples are on the docs page.

Building

You can build LÖVR from source using CMake. Here are the steps using the command line:

mkdir build
cd build
cmake ..
cmake --build .

See the Compiling Guide for more info.

Testing

Tests can be found in the test/lovr directory.

You can run all of LÖVR tests from the command line with the following:

./build/bin/lovr test

To run tests for a single module, pass the name of the module as an argument (e.g. this runs the tests for the data module):

./build/bin/lovr test data

Resources

  • Documentation: Guides, tutorials, examples, and API documentation.
  • FAQ: Frequently Asked Questions.
  • Matrix: The LÖVR community for discussion and support.
  • Nightly Builds: Nightly builds for Windows.
  • Compiling Guide: Information on compiling LÖVR from source.
  • Contributing: Guide for helping out with development 💜
  • LÖVE: LÖVR is heavily inspired by LÖVE, a 2D game framework.

License

MIT, see LICENSE for details.

Ähnliche Repositories
aframevr/aframe

:a: Web framework for building virtual reality experiences.

JavaScriptnpmMIT Licensevrwebvr
aframe.io
17.6k4.4k
jrouwe/JoltPhysics

A multi core friendly rigid body physics and collision detection library. Written in C++. Suitable for games and VR applications. Used by Horizon Forbidden West and Death Stranding 2.

C++MIT Licensephysicsvr
11k813
alvr-org/ALVR

Stream VR games from your PC to your headset via Wi-Fi

Rustcrates.ioMIT Licensevrsteamvr
7.8k671
relativty/Relativty

An open source VR headset with SteamVR supports for $200

C++GNU General Public License v3.0virtual-realityhardware
relativty.com
7.2k384
ValveSoftware/openvr

OpenVR SDK

C++BSD 3-Clause "New" or "Revised" Licensesteamvrsdk
steamvr.com
6.6k1.3k
LWJGL/lwjgl3

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.

JavaMavenBSD 3-Clause "New" or "Revised" Licenselwjglkotlin
lwjgl.org
5.4k706
praydog/REFramework

Mod loader, scripting platform, and VR support for all RE Engine games

C++MIT Licensere2mods
reframework.praydog.com
5.3k586
praydog/UEVR

Universal Unreal Engine VR Mod (4.8 - 5.4)

C++Othercmkrcpp
uevr.io
4.4k252
ExtendRealityLtd/VRTK

An example of how to use the Tilia packages to create great content with VRTK v4.

C#MIT Licenseunity3dvrtk
vrtk.io
3.7k976
nagadomi/nunif

Misc; latest version of waifu2x; 2D video to stereo 3D video conversion

PythonPyPIMIT Licensesuper-resolutionvr
3.3k275
gpac/gpac

GPAC Ultramedia OSS for Video Streaming & Next-Gen Multimedia Transcoding, Packaging & Delivery

CGNU Lesser General Public License v2.1streaminggraphics
gpac.io
3.3k588
vasturiano/react-force-graph

React component for 2D, 3D, VR and AR force directed graphs

HTMLMIT Licensereactforce-directed-graphs
vasturiano.github.io/react-force-graph/example/large-graph/
3.2k356