Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

lovr

> 编程语言
Open source

Lua Virtual Reality Framework

2.6K stars0 likes0 views
WebsiteGitHub

About

Lua Virtual Reality Framework

LÖVR

A simple Lua framework for rapidly building 3D games and VR experiences. Homepage | Documentation | FAQ

Features

  • Cross-Platform - Runs on Windows, macOS, Linux, and Android.
  • Cross-Device - Supports any headset that works with OpenXR, and has a keyboard/mouse VR simulator.
  • Beginner-friendly - Simple 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.
  • Tiny - The whole framework is just a couple of megabytes, and it's easy to disable/remove modules.
  • Powerful GPU APIs - Compute shaders, ray tracing, indirect rendering, atomics, and more.
  • Asset Import - Supports glTF models, skeletal animation, compressed textures, cubemaps, fonts, etc.
  • 3D Rigid Body Physics - Includes JoltPhysics, with 7 collider shapes and 6 types of joints.
  • Spatialized Audio - Uses SteamAudio for audio spatialization, with HRTFs, audio meshes, and reverb.
  • Vector Library - Built-in 3D vectors, quaternions, and matrices.

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

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

Spinning Cube

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

Hand Tracking

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

3D Models

lua
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:

bash
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:

bash
./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):

bash
./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.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Cgame-enginegamedevlovrlua

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言