https://github.com/dimi309/small3d

This is a free, open source, minimalistic 3D framework for the programmer who would like to make games using a basic set of libraries (glfw, glm, png, zlib, ogg, vorbis, portaudio, freetype, bzip) and relying on C++ to do the rest. It helps you by providing you with cross-platform rendering functionality based on Vulkan. The old, OpenGL edition of the framework (v1.699) is also available.

small3d can render Wavefront models, animate them as frames, map textures on them, provide some basic lighting (Gouraud shading) and also render images and text. A very easy to use Sound object is also provided that can play OGG files on all supported platforms via a common interface. Basic collision detection has also been implemented.

small3d works on Windows, MacOS, Linux, iOS and Android and supports Visual Studio, Xcode, gcc (even MinGW) and clang for compilation.

All small3d dependencies, apart from the Vulkan SDK, are distributed together with its source code. They can be built by executing a single script.

Games made with small3d

The source code for the following games is provided. On MacOS, after building, run the executables from the command line, from within the bin directory, otherwise it might not work.

Avoid the Bug https://dimi309.itch.io/avoid-the-bug

Chase the Goat https://dimi309.itch.io/chase-the-goat

Frog Remixed https://dimi309.itch.io/frog-remixed