Projects

When I find a particular topic interesting, I like to create a program to visualize or calculate it. All of the projects listed here were written by me, in C++, directly using OpenGL and Direct3D. When I find the time, I will port some of the projects to Vulkan.

FileCrypt

File encipherment utility

Performs authenticated encryption of files using Xoofff-SANE

SectorCrypt

Sector-level disk encryption

Windows kernel driver that provides sector-level disk encryption

Pythagorean-hodograph curve

Pythagorean-hodograph curves

Pythagorean-hodograph curves form a remarkable subclass of polynomial curves that have polynomial speed functions, and thus polynomial distance (arc length) functions

Double reflection

Double reflections and rotation minimizing frames

Efficiently and accurately calculates discrete rotation minimizing frames of an arbitrary parametric curve using the double reflection method

Grapher

Real-time parametric surface visualizer

Enables the user to visualize arbitrary parametric surfaces in the form <x(s,t), y(s,t), z(s,t)>

Reaction-diffusion

Reaction-diffusion simulator

Carries out and visualizes various types of reaction-diffusion simulations

Self-organization map

Self-organization map

Experimentations with self-organizing maps as a way to classify and project data to lower dimensions

Growing neural gas

Growing neural gas

Visualizes the growing neural gas algorithm in real-time

Cellular automaton

Cellular automaton

Experimentation with cellular automaton (CA) and compute shaders

Scrabble solver

Scrabble solver

Uses a clever graph data structure (GADDAG) to quickly enumerate all solutions given an arbitrary Scrabble board, rack and dictionary

Boggle solver

Boggle solver

Uses a DAWG data structure to quickly enumerate all solutions given an arbitrary Boggle board

Vector field

Vector field visualizer

Calculates and renders a real-time visualization of a vector field given an arbitrary parametric function

Tessellation

Tessellation

Given an arbitrary shape, various types of tessellations can be realized

Klondike solitaire

Klondike solitaire

My very first endeavor into the world of graphics APIs

Mahjong solitaire

Mahjong solitaire

My take on Mahjong solitaire, complete with a map editor

Procedural jigsaw

Procedural jigsaw

A simple jigsaw game, but with code to dynamically and randomly generate the jigsaw pieces