# lovr **Repository Path**: mirrors/lovr ## Basic Information - **Project Name**: lovr - **Description**: LÖVR 是一个简单的 Lua 框架,用于快速构建 VR 体验,而无需太多设置或编程经验 - **Primary Language**: C/C++ - **License**: MIT - **Default Branch**: dev - **Homepage**: https://www.oschina.net/p/l%C3%B6vr - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 2 - **Created**: 2021-11-16 - **Last Updated**: 2025-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## 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](https://github.com/bjornbytes/lovr/actions/workflows/build.yml/badge.svg?event=push)](https://github.com/bjornbytes/lovr/actions/workflows/build.yml) [![Version](https://img.shields.io/github/release/bjornbytes/lovr.svg?label=version)](https://github.com/bjornbytes/lovr/releases) [![Matrix](https://img.shields.io/badge/chat-matrix-0ba378.svg)](https://lovr.org/matrix) [![Discord](https://img.shields.io/badge/chat-discord-404eed.svg)](https://lovr.org/discord) [**Homepage**](https://lovr.org) | [**Documentation**](https://lovr.org/docs) | [**FAQ**](https://lovr.org/docs/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 , 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](https://lovr.org/docs/Intro/Hello_World). Building --- You can build LÖVR from source using CMake. Here are the steps using the command line: ```console mkdir build cd build cmake .. cmake --build . ``` See the [Compiling Guide](https://lovr.org/docs/Compiling) 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: ```console ./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): ```console ./build/bin/lovr test data ``` Resources --- - [**Documentation**](https://lovr.org/docs): Guides, tutorials, examples, and API documentation. - [**FAQ**](https://lovr.org/docs/FAQ): Frequently Asked Questions. - [**Matrix**](https://lovr.org/matrix): The LÖVR community for discussion and support. - [**Nightly Builds**](https://lovr.org/download/nightly): Nightly builds for Windows. - [**Compiling Guide**](https://lovr.org/docs/Compiling): Information on compiling LÖVR from source. - [**Contributing**](https://lovr.org/docs/Contributing): Guide for helping out with development 💜 - [**LÖVE**](https://love2d.org): LÖVR is heavily inspired by LÖVE, a 2D game framework. Contributors --- - [@bjornbytes](https://github.com/bjornbytes) - [@shakesoda](https://github.com/shakesoda) - [@bcampbell](https://github.com/bcampbell) - [@mcclure](https://github.com/mcclure) - [@nevyn](https://github.com/nevyn) - [@porglezomp](https://github.com/porglezomp) - [@jmiskovic](https://github.com/jmiskovic) - [@wallbraker](https://github.com/wallbraker) License --- MIT, see [`LICENSE`](LICENSE) for details.