Tetra3D is a 3D renderer written in Go. It is largely implemented in software, but uses Ebiten to render the triangles and perform depth testing through hardware.

I wrote it because I like Go and wanted jank PS1-style graphics available to me, haha. I also wanted to create something that has a relatively easy to use API and workflow, and so here we are.

While it's not as performant as it could be, and there's still a lot to do, I've implemented a lot of features so far, like a node-based scenegraph, orthographic and perspective cameras, basic texturing, vertex colors, vertex lighting, bone-based animation, intersection testing, depth buffer-based fog, GLTF / GLB / DAE loading, and more!

Feel free to check it out~!