groverburger's 3D engine (g3d) simplifies LÖVE's 3d capabilities to be as simple to use as possible.
View the original forum post here.
The entire main.lua file for the Earth and Moon demo is under 30 lines, as shown here:
-- written by groverbuger for g3d -- may 2021 -- MIT license local g3d = require "g3d" local earth = g3d.newModel("assets/sphere.obj", "assets/earth.png", {0,0,4}) local moon = g3d.newModel("assets/sphere.obj", "assets/moon.png", {5,0,4}, nil, {0.5,0.5,0.5}) local background = g3d.newModel("assets/sphere.obj", "assets/starfield.png", {0,0,0}, nil, {500,500,500}) local timer = 0 function love.mousemoved(x,y, dx,dy) g3d.camera.firstPersonLook(dx,dy) end function love.update(dt) timer = timer + dt moon:setTranslation(math.cos(timer)*5, 0, math.sin(timer)*5 +4) moon:setRotation(0, math.pi - timer, 0) 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
Features
- 3D Model rendering
- .obj file loading
- Basic first person movement and camera controls
- Perspective and orthographic projections
- Easily create your own custom vertex and fragment shaders
- Basic collision functions
- Simple, commented, and organized
- Fully documented, check out the g3d wiki!
Getting Started
- Download the latest release version.
- Add the
g3dsubfolder folder to your project. - Add
g3d = require "g3d"to the top of yourmain.luafile.
For more information, check out the g3d wiki!
Games and demos made with g3d
Hoarder's Horrible House of Stuff by alesan99
Lead Haul by YouDoYouBuddy

Plan Meow by SaceMakesGame

First Person Test by groverburger

g3d voxel engine by groverburger

Additional Help and FAQ
Check out the g3d wiki!


