All Projects → groverburger → G3d

groverburger / G3d

Licence: mit
Simple and easy 3D engine for LÖVE.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to G3d

Tove2d
Animated vector graphics for LÖVE.
Stars: ✭ 113 (-16.3%)
Mutual labels:  love2d
Harbor
Simple and minimal personal blog theme.
Stars: ✭ 120 (-11.11%)
Mutual labels:  simple
Simplebluetoothlibrary
Android library for simplifying bluetooth usage.
Stars: ✭ 131 (-2.96%)
Mutual labels:  simple
Youtransfer
The simple but elegant self-hosted file transfer & sharing solution
Stars: ✭ 1,525 (+1029.63%)
Mutual labels:  simple
Template
A super-simple way to create new projects based on templates.
Stars: ✭ 120 (-11.11%)
Mutual labels:  simple
3dreamengine
3DreamEngine is an *awesome* 3d engine for LÖVE.
Stars: ✭ 122 (-9.63%)
Mutual labels:  love2d
Easyiterator
🏃 Iterators made easy! Zero cost abstractions for designing and using C++ iterators.
Stars: ✭ 107 (-20.74%)
Mutual labels:  simple
Quant4j
火币量化交易 指标组合策略 简单的数值策略 这个项目只是提供一个思路。
Stars: ✭ 134 (-0.74%)
Mutual labels:  simple
Single php filehost
Simple Filehosting Page in a Single PHP File (obvious 0x0 clone)
Stars: ✭ 112 (-17.04%)
Mutual labels:  simple
Fossurl
Your Own Url Shortner Without any fancy server side processing and support for custom url , which can even be hosted on GitHub Pages
Stars: ✭ 131 (-2.96%)
Mutual labels:  simple
Simple Neural Networks
Simple neural networks based only on Numpy
Stars: ✭ 114 (-15.56%)
Mutual labels:  simple
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-11.11%)
Mutual labels:  simple
Async Sockets Cpp
Simple thread-based asynchronous TCP & UDP Socket classes in C++.
Stars: ✭ 127 (-5.93%)
Mutual labels:  simple
Munin
Main repository for munin master / node / plugins
Stars: ✭ 1,593 (+1080%)
Mutual labels:  simple
Hexo Theme Zhaoo
🐳 A simple theme for Hexo
Stars: ✭ 131 (-2.96%)
Mutual labels:  simple
Pg Calendar
📆 beautiful and eidetic date picker
Stars: ✭ 109 (-19.26%)
Mutual labels:  simple
Sock.lua
A Lua networking library for LÖVE games.
Stars: ✭ 121 (-10.37%)
Mutual labels:  love2d
Shadows
Shädows - A Shadows & Lights engine for löve
Stars: ✭ 134 (-0.74%)
Mutual labels:  love2d
Restore
A predictable & observable state container for React apps
Stars: ✭ 133 (-1.48%)
Mutual labels:  simple
Vue Slide Bar
🎢 A Simple Vue Slider Bar Component.
Stars: ✭ 129 (-4.44%)
Mutual labels:  simple

g3d_logo

groverburger's 3D engine (g3d) simplifies LÖVE's 3d capabilities to be as simple as possible.
View the original forum post here.

pic1

Features

  • 3D Model rendering
  • .obj file loading
  • Basic first person movement and camera controls
  • Perspective and orthographic projections
  • Simple, commented, and organized

Getting Started

  1. Download the latest release version.
  2. Add the g3d subfolder folder to your project.
  3. Add g3d = require "g3d" to the top of your main.lua file.

For more information, check out the g3d wiki!

Games made with g3d

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

Flamerunner by groverburger (that's me!)
Flamerunner Gif

Demo Code

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

-- written by groverbuger for g3d
-- january 2021
-- MIT license

g3d = require "g3d"

function love.load()
    Earth = g3d.newModel("assets/sphere.obj", "assets/earth.png", {0,0,4})
    Moon = g3d.newModel("assets/sphere.obj", "assets/moon.png", {5,0,4}, nil, {0.5,0.5,0.5})
    Background = g3d.newModel("assets/sphere.obj", "assets/starfield.png", {0,0,0}, nil, {500,500,500})
    Timer = 0
end

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,-1*Timer,0)
    g3d.camera.firstPersonMovement(dt)
end

function love.draw()
    Earth:draw()
    Moon:draw()
    Background:draw()
end

Additional Help and FAQ

Check out the g3d wiki!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].