Lua MIT

g3d

Simple and easy 3D engine for LÖVE.

G

groverburger

Dernière activité 3 mai 2026
groverburger/g3d

842

étoiles

44

forks

3

issues ouvertes

g3dlove2dluasimple

Ce README est souvent en anglais.

g3d

groverburger's 3D engine (g3d) simplifies LÖVE's 3d capabilities to be as simple to use as possible.

pic1

Getting Started

  1. Download the latest release version.
  2. Add the g3d folder to your LÖVE project.
  3. Add local g3d = require "g3d" to your main.lua file.

The entire main.lua file for the Earth and Moon demo is under 30 lines:

local g3d = require "g3d"
local earth = g3d.newModel("assets/sphere.obj", "assets/earth.png", {4,0,0})
local moon = g3d.newModel("assets/sphere.obj", "assets/moon.png", {4,5,0}, nil, 0.5)
local background = g3d.newModel("assets/sphere.obj", "assets/starfield.png", nil, nil, 500)
local timer = 0

function love.update(dt)
    timer = timer + dt
    moon:setTranslation(math.cos(timer)*5 + 4, math.sin(timer)*5, 0)
    moon:setRotation(0, 0, timer - math.pi/2)
    g3d.camera.firstPersonMovement(dt)
    if love.keyboard.isDown "escape" then
        love.event.push "quit"
    end
end

function love.draw()
    earth:draw()
    moon:draw()
    background:draw()
end

function love.mousemoved(x,y, dx,dy)
    g3d.camera.firstPersonLook(dx,dy)
end

Features

  • Textured 3D model rendering
  • OBJ file loading
  • Perspective and orthographic cameras
  • Custom vertex and fragment shader support
  • Basic first-person movement and camera controls
  • Lightweight collision queries
  • Simple, commented, and organized

Documentation

The g3d wiki explains the camera, models, custom shaders, collisions, and other topics in more detail. The original forum post has more project history and discussion.

Games and demos made with g3d

Hoarder's Horrible House of Stuff by alesan99
Hoarder's Gif

Lead Haul by YouDoYouBuddy
Lead Haul Screenshot

Plan Meow by SaceMakesGame Plan Meow Screenshot

First Person Test by groverburger
First Person Test Gif

g3d voxel engine by groverburger
g3d_voxel3

Projets similaires

LÖVE is an awesome 2D game framework for Lua.

C++game-developmentgamedevlove2d
Llove2d
8,8 k étoiles645

JavaScript 3D Library.

JavaScript3daugmented-realitycanvas
Mmrdoob
116,1 k étoiles36,6 k

Godot Engine – Multi-platform 2D and 3D game engine

C++game-developmentgame-enginegamedev
Ggodotengine
117,9 k étoiles26,9 k