Code Notes

This is my page of miscellaneous notes, mostly relating to code — a list of open source c++ compatible libraries, blog roll, and so forth.

C(++) Compatible Libraries

This is my list of C & C++ libraries, that I either have already used or think I could be using one day. What most of them have in common is that they are released under some sort of permissive license that allows me to use them in games, mostly BSD and MIT. Definitely no GPL or LGPL.

Compression

  • brotli - Added on 3 July 2020 - Not used
  • lz4 - Added on 3 July 2020 - Not used
  • snappy - Added on 3 July 2020 - Not used
  • zstd - Added on 3 July 2020 - Not used

Data Structures

  • c-ringbuf - Added on 30 September 2019 - Not used - ringbuffer implementation in c
  • CTPL - Added on 25 May 2020 - Not used - C++ Thread pool library

GPU

  • stdgpu - Added on 10 September 2020 - Not used - standard std lib utils on the gpu

GUI

  • Dear ImGUI - Added on 20 September 2019 - Used for Fugl
  • ImGuizmo - Added on 30 September 2019 - Not used
  • ImGUI_markdown - Added on 21 November 2019 - Not used
  • libUI - Added on 27 November - Not used 1* wxWidgets - Added on 27 November - Used many years ago

Logging

  • Log.c - Added on 26 April - Not used - Simple logger implemented in C99
  • SPDLog - Added on 26 April - Not used

Math

Meshes and 3D Shapes

  • Assimp - Added on 18 June 2020 - Not used
  • MeshOptimizer - Added 24 October 2019 - Not used
  • Mesh Processing Library - Added on 25 October 2019 - Not used - C++ library and programs that demonstrate mesh processing techniques in computer graphics published at ACM SIGGRAPH in 1992–1998
  • Tiny OBJ Loader - Added on 25 October 2019 - Not used

Misc

  • CrossGuid - Added on 27 September 2019 - Used for Fugl
  • Entt - Added on 27 October 2019 - Not used - C++ Entity system
  • Meow Hash - Added on 16 August 2020 - Hash used for assets
  • SimpleTest - Added on 23 September 2019 - As a minimal unit testing library with one header and one implementation file, this is definitely on my list of future things to test out.
  • Single file libs - Added on 3 November 2019 - Nothings giant list of singlefile libs
  • STB - Added on 23 September 2019 - Used for Fugl - A fantastic collection of one file libraries. For Fugl we are using the ogg vorbis decoder and the image loader.
  • XBox Live Samples - Added on 25 October - Not used
  • UTest - Added on 3 November 2019 - Not used - Single file unit test
  • Wav2letter - Added on 30 September 2019 - Not used - Facebook’s speech to text library

Network

Neural Networks

  • Caffe - Added on 12 October 2020 - Not used
  • DLib.net - Added on 12 October 2020 - Not used

OS Abstractions

  • DMon - Added on 25 October 2019 - Not used - Monitor directory changes
  • SDL - Added on 20 September 2019 - Used for Fugl and M.U.L.E. Returns

Physics

  • Physacs - Added on 16 August 2020 - 2D physics

Profiling

  • Easy Profiler - Added on 31 October 2019 - Not used
  • Optick - Added on 30 September 2019 - Not used
  • Tracy - Added on 30 September 2019 - Not used

Rendering

Scripting

  • V8PP - Added on 21 November 2019 - Not used - Bind C++ functions and classes into V8 JavaScript engine

Serialization

  • Cereal - Added on 19 September 2019 - Not used
  • FlatBuffers - Added on 26 September 2019 - Not used
  • Json - Added on 18 June 2020 - Not used - Json for c++
  • Json.h - Added on 3 November 2019 - Not used
  • LibExpad - Added on 7 November 2019 - Not used - XML parser
  • ProtoBuffers - Added on 26 September 2019 - Not used
  • NanoPB - Added 30 September 2019 - Protocol buffers implementation with minimal memory footprint
  • RapidJSON - Added on 25 September 2019 - Used for Fugl
  • TinyXML2 - Added on 7 November 2019 - Not used - XML parser

Shading Languages

  • HLSL Parser - Added on 26 September 2020 - Not used - Parses a HLSL dialect and parses into GLSL, HLSL and MSL.

Sound

  • Dr Libs - Added on 3 November 2019 - Not used - Simple flac, mp3 and wav players
  • Jar - Added on 3 November 2019 - Not used - Simple Xm and Mod sound players
  • MiniAudio - Added on 3 November 2019 - Not used - Simple audio playback library
  • mojoAL - Added on 26 September 2019 - Not used - SDL based sound library with an OpenAL compatible interface
  • Openal-soft - Added 23 September 2019 - Used for Fugl on Windows, Mac and Linux. Very powerful feature set, including sound effects, HRTFs, etc Under LGPL license, so cannot be used on more closed platforms.
  • Tonic - Added 4 September 2019 - C++ library for procedural audio

Tools

  • Jsfxr - Added on 1 April 2020 - Not used - Tool for generating sound effects
  • MTuner - Added on 17 October 2019 - Not used - Memory profile for Windows and other platforms
  • RenderDoc - Added on 28 July 2020 - Invaluable tool for graphics debugging
  • ShaderEd - Added on 28 July 2020 - Not used

Video

  • PopH264 - Added on 12 November 2020 - Not used

Github

I am keeping my own repo of singlefile libraries. Some of the libraries are kept dependency free, but generally they are not kept as dependency free as for example STB.

Blog Roll

Funding Opportunities (Mostly Academic)

Nostalgia

  • Amiga Game Dev - Added on 27 November 2019 - Amiga assembly coding tutorials
  • Ultimate /|\ ATARI 4nd d3m0 coding page - Added on 3 July 2020 - Demo coding and oldschool graphics coding techniques
  • Flipcode - Addded on 10 May 2023 - Lists a lot of old-school coding techniques. The website is unfortunately not active anymore, but the archived articles are still there.

PhD

Virtual Creatures

Nostalgia

Things I always Forget