A LÖVE library for 3D rendering with scene graph support and glTF 2.0 asset loading.
Menori is a 3D rendering library for the LÖVE game framework, enabling developers to create 3D scenes and animations within LÖVE's 2D environment. It solves the problem of limited native 3D support in LÖVE by providing a scene graph system and glTF 2.0 asset loading for modern 3D workflows.
LÖVE developers and Lua programmers looking to incorporate 3D graphics, animations, and model rendering into their 2D-focused games or applications.
Developers choose Menori for its seamless integration with LÖVE, robust glTF 2.0 support, and scene graph architecture, offering a structured way to handle 3D rendering without leaving the LÖVE ecosystem.
Library for 3D rendering with LÖVE.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports glTF 2.0 format for loading 3D models with meshes, materials, textures, skins, skeletons, and animations, as shown in the README example using menori.glTFLoader.load.
Uses a scene graph architecture for organizing 3D objects in a node-based hierarchy, enabling efficient rendering and transformations through traversal functions like scene:render_nodes.
Built specifically for LÖVE, allowing developers to add 3D capabilities to existing 2D projects without switching frameworks, as demonstrated in the love.load and love.update hooks.
Includes support for skeletal animations from glTF files with action-based playback control, as seen in the animations:set_action and animations:update(dt) calls in the example.
As a niche library for LÖVE, it has a smaller community, fewer tutorials, and less third-party support compared to mainstream 3D engines, which can hinder problem-solving and collaboration.
Rendering 3D on top of LÖVE's 2D foundation may introduce performance bottlenecks for complex scenes, evidenced by the need for custom node sorting (node_sort_comp) in the rendering code.
Requires manual setup for loading assets, configuring scenes, and managing animations, lacking automated tools or simplified workflows, which increases initial development effort.