{"id":13526142,"url":"https://github.com/bjornbytes/lovr","last_synced_at":"2025-05-14T03:11:11.836Z","repository":{"id":37270133,"uuid":"62519414","full_name":"bjornbytes/lovr","owner":"bjornbytes","description":"Lua Virtual Reality Framework","archived":false,"fork":false,"pushed_at":"2025-05-03T08:35:39.000Z","size":17032,"stargazers_count":2308,"open_issues_count":33,"forks_count":146,"subscribers_count":58,"default_branch":"dev","last_synced_at":"2025-05-03T09:39:56.845Z","etag":null,"topics":["game-engine","gamedev","lovr","lua","oculus","oculus-quest","openvr","openxr","virtual-reality","vr"],"latest_commit_sha":null,"homepage":"https://lovr.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bjornbytes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"bjornbytes"}},"created_at":"2016-07-03T23:36:45.000Z","updated_at":"2025-05-03T08:35:43.000Z","dependencies_parsed_at":"2023-10-02T22:19:52.248Z","dependency_job_id":"4dfa10b8-f2a5-4c5f-bee7-593dca72b576","html_url":"https://github.com/bjornbytes/lovr","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Flovr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Flovr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Flovr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Flovr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjornbytes","download_url":"https://codeload.github.com/bjornbytes/lovr/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254059517,"owners_count":22007770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-engine","gamedev","lovr","lua","oculus","oculus-quest","openvr","openxr","virtual-reality","vr"],"created_at":"2024-08-01T06:01:25.690Z","updated_at":"2025-05-14T03:11:06.811Z","avatar_url":"https://github.com/bjornbytes.png","language":"C","readme":"# LÖVR\n\n\u003ca href=\"https://lovr.org\"\u003e\u003cimg align=\"right\" src=\"https://lovr.org/static/img/logo.svg\" width=\"180\"/\u003e\u003c/a\u003e\n\n\u003e **A simple Lua framework for rapidly building VR experiences.**\n\nYou 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.\n\n[![Build](https://github.com/bjornbytes/lovr/actions/workflows/build.yml/badge.svg?event=push)](https://github.com/bjornbytes/lovr/actions/workflows/build.yml)\n[![Version](https://img.shields.io/github/release/bjornbytes/lovr.svg?label=version)](https://github.com/bjornbytes/lovr/releases)\n[![Matrix](https://img.shields.io/badge/chat-matrix-0ba378.svg)](https://lovr.org/matrix)\n[![Discord](https://img.shields.io/badge/chat-discord-404eed.svg)](https://lovr.org/discord)\n\n[**Homepage**](https://lovr.org) | [**Documentation**](https://lovr.org/docs) | [**FAQ**](https://lovr.org/docs/FAQ)\n\n\u003cp align=\"left\"\u003e\n  \u003cspan\u003e\u003cimg src=\"http://lovr.org/static/img/screen1.jpg\" width=\"32.5%\"/\u003e\u003c/span\u003e\n  \u003cspan\u003e\u003cimg src=\"http://lovr.org/static/img/screen2.jpg\" width=\"32.5%\"/\u003e\u003c/span\u003e\n  \u003cspan\u003e\u003cimg src=\"http://lovr.org/static/img/screen3.jpg\" width=\"32.5%\"/\u003e\u003c/span\u003e\n\u003c/p\u003e\n\nFeatures\n---\n\n- **Cross-Platform** - Runs on Windows, macOS, Linux, and Android.\n- **Cross-Device** - Supports Vive/Index, Oculus Rift/Quest, Windows MR, and has a VR simulator.\n- **Beginner-friendly** - Simple VR scenes can be created in just a few lines of Lua.\n- **Fast** - Written in C11 and scripted with LuaJIT, includes optimized single-pass stereo rendering.\n- **Asset Import** - Supports 3D models (glTF, OBJ), skeletal animation, HDR textures, cubemaps, fonts, etc.\n- **Spatialized Audio** - Audio is automatically spatialized using HRTFs.\n- **Vector Library** - Efficient first-class support for 3D vectors, quaternions, and matrices.\n- **3D Rigid Body Physics** - Including 7 collider shapes, triangle mesh colliders, and 6 joint types.\n- **Compute Shaders** - For high performance GPU tasks, like particles.\n\nGetting Started\n---\n\nIt's really easy to get started making things with LÖVR.  Grab a copy of the executable from \u003chttps://lovr.org/downloads\u003e,\nthen write a `main.lua` script and drag it onto the executable.  Here are some example projects to try:\n\n#### Hello World\n\n```lua\nfunction lovr.draw(pass)\n  pass:text('Hello World!', 0, 1.7, -3, .5)\nend\n```\n\n#### Spinning Cube\n\n```lua\nfunction lovr.draw(pass)\n  pass:cube(0, 1.7, -1, .5, lovr.timer.getTime())\nend\n```\n\n#### Hand Tracking\n\n```lua\nfunction lovr.draw(pass)\n  for _, hand in ipairs(lovr.headset.getHands()) do\n    pass:sphere(vec3(lovr.headset.getPosition(hand)), .1)\n  end\nend\n```\n\n#### 3D Models\n\n```lua\nfunction lovr.load()\n  model = lovr.graphics.newModel('model.gltf')\nend\n\nfunction lovr.draw(pass)\n  pass:draw(model, x, y, z)\nend\n```\n\nMore examples are on the [docs page](https://lovr.org/docs/Intro/Hello_World).\n\nBuilding\n---\n\nYou can build LÖVR from source using CMake.  Here are the steps using the command line:\n\n```console\nmkdir build\ncd build\ncmake ..\ncmake --build .\n```\n\nSee the [Compiling Guide](https://lovr.org/docs/Compiling) for more info.\n\nResources\n---\n\n- [**Documentation**](https://lovr.org/docs): Guides, tutorials, examples, and API documentation.\n- [**FAQ**](https://lovr.org/docs/FAQ): Frequently Asked Questions.\n- [**Matrix**](https://lovr.org/matrix): The LÖVR community for discussion and support.\n- [**Nightly Builds**](https://lovr.org/download/nightly): Nightly builds for Windows.\n- [**Compiling Guide**](https://lovr.org/docs/Compiling): Information on compiling LÖVR from source.\n- [**Contributing**](https://lovr.org/docs/Contributing): Guide for helping out with development 💜\n- [**LÖVE**](https://love2d.org): LÖVR is heavily inspired by LÖVE, a 2D game framework.\n\nContributors\n---\n\n- [@bjornbytes](https://github.com/bjornbytes)\n- [@shakesoda](https://github.com/shakesoda)\n- [@bcampbell](https://github.com/bcampbell)\n- [@mcclure](https://github.com/mcclure)\n- [@nevyn](https://github.com/nevyn)\n- [@porglezomp](https://github.com/porglezomp)\n- [@jmiskovic](https://github.com/jmiskovic)\n- [@wallbraker](https://github.com/wallbraker)\n\nLicense\n---\n\nMIT, see [`LICENSE`](LICENSE) for details.\n","funding_links":["https://github.com/sponsors/bjornbytes"],"categories":["Developer Tools","Engines for VR","Engines","SDKs","C","Projects","Platforms"],"sub_categories":["Game Engines","Motion Controllers inside Unity!","Engines"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjornbytes%2Flovr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjornbytes%2Flovr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjornbytes%2Flovr/lists"}