Projects
24/Aug 2008
Below you can find list of code snippets/small projects presented in the notes of this blog. I decided to gather them in one place as it became harder and harder to find them amongst all the other articles.
Unless specified otherwise – everything listed here is published under a zlib license.
RDE STL - my subset of STL, specialized for game development. Some notes here. Includes one of the fastest implementations of hash_map.
MemTracer - system for tracking memory usage patterns, leaks, fragmentation and so on. Make sure to read the last article as it describes modifications I made to use it with a real-world application instead of small test. New version released in 2010, at Google Code.
Multi-threaded Mandelbrot drawer with lock-free task queue. Follow-up articles: 1 & 2.
Visual Studio Expression Evaluator plugin allowing for viewing original strings next to their CRC32 values.
Instrumenting profiler - poor man’s VTune. Profile your code with minimal changes to original source.
Thread Profiler - poor man’s ITP (another try to put Intel out of business :).
Distributed processing system - skeleton of system allowing to distribute tasks on multiple machines.
Software occlusion culling - old technique made viable again,
Game editor testbed - employs IPC to separate C# editor layer and C++ renderer. Crash of one of them, doesn’t cause a data loss.
Lock-free double ended bounded queue - … in C++. Perfect for your threadpool.
Automatic Win32 crash reporter/handler - with “blackbox” class.
Cruncher# - application that analyzes layout of user defined structures using PDB files. (GitHub project)
Reflection system - for C++, works out-of-the box, no/minor code modifications required.
Thread pools collection - tests of various containers (mosly lock free, using thread pool as an example).
Go path tracer - my Go programming language experiment
Z-machine interpreter in Go - capable of playing Zork I
Rust path tracer - path tracer in Rust