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, appart from the Vulkan SDK, are distributed together with its source code. They can be built by executing a single script.
Games made with small3d (available for download here)
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 3D
Chase the Goat 3D
I am maintaining this project as a hobby from time to time, depending on priorities. Some history can be found in the articles below. Note that they've been written some time ago and some things have changed since then.