Nifty fractal

Useful C/C++ Libraries

cpp-httplib (License: MIT)
Single header file C++ HTTP/HTTPS client and server.

Eigen (License: MPL2)
Linear algebra library; header only, C++, templates. Really a pain to debug, because every type-mismatch is hundreds of lines of template failures.

fmt (License: MIT)
Improvement over C++ streams. Faster to compile than std::ostream, very much faster to run than either ostream or sprintf, supports positional arguments (essential for internationalization, and impossible with ostream). More work to integrate custom output, though.

nano-vg (License: zlib license [similar to MIT])
Vector graphics with OpenGL. Said to be somewhat slow, but is a lot simpler to use than Skia. Not maintained, but still widely used.

Open Scene Graph (License: Custom (LGPL with explicit approval for use with proprietary applications))
Appears to provide scene-graph and rendering functionality. Tutorials and guides on the web site are very limited.

pugixml (License: MIT)
Fastest XML parser by a fairly wide margin, according to their benchmarks.

RapidJSON (License: MIT)
Fastest C++ JSON library, and is fairly easy to use. Header-only, but not single file. Additional documentation at

stb (License: Public Domain or MIT)
Single-file, header only, C libraries for:
  • stb_image.h (reads JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC)
  • stb_image_write.h (writes PNG, TGA, BMP)
  • stb_truetype.h (parse, decode, and rasterize from TrueType font. It is much smaller than FreeType, but performs no hinting and is three times slower at rasterization according to one review)
  • stb_vorbis.h (decode ogg/vorbis files to 16-bit output)