I am the developer of Raiseland(http://steamcommunity.com/sharedfiles/filedetails/?id=280019434), developing it required a lot of generic/typical functions. I found some useful libraries. However, for some tasks I didn't find these (too much complex, not C, bloated...). Because of this I created my own library and I'm considering releasing it under a BSD-like license. However I don't know if it would be useful for the community, would it be?
This is the list of features.
- Tested on Windows (Vista, 7, 8) compiled with MSVC2013 and on Linux(Ubuntu 14.04.1 LTS and ArchLinux) compiled with clang and gcc.
- Needs OpenGL 4.0 or later, some parts need GLFW3, zlib and freetype2 (these parts can be removed)
- Source code written in C99.
- Very simple: ~7000 LOCs
- Getting time (microsecond resolution)
- Faster replacement for typical srand/rand functions
- Import .obj/Wavefront mesh files with smooth or flat normal generation
- Export .obj/Wavefront mesh files
- Import and export own compressed mesh format (60% smaller than standar .obj)
- Bounding box calculation
- Basic primitive drawing: lines, axis and cylinders
- Basic GUI: labels, buttons, combo boxes, "number editors", switches (on or off), sliders, typical customizable header menu (File, Edit...), containers...
- Basic mesh drawing
- Stats (elapsed time, triangles per frame, meshes per frame)
- DDS image loader (loads DXT1, DXT3 and DXT5 files)
- Cached text rendering system using TrueType fonts (uses freetype2)
- Basic input system
- Typical vectorial and matrix math operations including getProjectionMatrix and getViewMatrix
- Window/context creation using GLFW3
- Texture manager
- Library examples