Software
Below are some links to downloads or separate pages for software that I've developed. The source code for some of my software projects can also be found on GitHub.
-
Drome Engine
Drome Engine is a 3D game engine that's written in C++ and uses OpenGL for graphics rendering.
-
DromeAudio
DromeAudio is a small audio manipulation and playback library that's written in C++.
-
DromeXml
DromeXml is a library for parsing simple XML data. It is written in C++ and designed so that it can be easily included with and incorporated into other projects.
-
CocoaOpenGL
A simple example of using Cocoa to create an OpenGL application for Mac OS X, including full screen support on OS X 10.7 (Lion). The application demonstrates normal mapping using the OpenGL 3.2 Core Profile and GLSL 1.50. A screenshot of the application can be seen here.
-
prtunnel
prtunnel is a program that tunnels TCP/IP connections in a variety of ways, including through HTTP and SOCKS5 proxy servers.
-
jsrasterizer
A simple triangle rasterizer implemented with HTML, CSS, and JavaScript.
-
glsl_lighting-1.tar.gz (source tarball; December 30, 2010)
An OpenGL application written in C that demonstrates lighting implemented with GLSL shaders. This demo was written for the Getting Started with the OpenGL Shading Language article.
-
mbox2eml.pl (Perl script; July 14, 2009)
A small Perl script that creates individual .eml files for each email message stored in an mbox file.
-
triangleraster-1.tar.gz (source tarball; January 19, 2009)
A graphics demo written in C++ that demonstrates triangle rasterization. This demo was written for the Introduction to Software-based Rendering: Triangle Rasterization article.
-
linedrawing-1.tar.gz (source tarball; January 3, 2009)
A graphics demo written in C++ that demonstrates a simple line drawing algorithm. This demo was written for the Introduction to Software-based Rendering: Simple Line Drawing article.
-
shadowvolumes-2.tar.gz (source tarball; August 31, 2008)
An OpenGL application written in C that demonstrates stenciled shadow volumes. This demo was written for the Stenciled Shadow Volumes in OpenGL article.
-
jab_normalmap-1.tar.gz (source tarball; December 27, 2006)
A small OpenGL application that demonstrates normal mapping, a lighting technique that can cause flat surfaces appear to have depth. The normal mapping is accomplished with a fragment program written in Cg and compiled into the ARB_fragment_program shader language. The application is written in C and also requires SDL. It has been tested on Slackware Linux. A screenshot can be seen here.
-
cglighting-1.tar.gz (source tarball; July 2, 2004)
An OpenGL application written in C that demonstrates the use of pixel shaders written in Cg. This demo was written for the Cg Pixel Shaders in OpenGL article.
-
dynamiclightmaps.tar.gz (source tarball; November 17, 2003)
An OpenGL application written in C that demonstrates dynamic lightmaps. This demo was written for the Dynamic Lightmaps in OpenGL article.
-
jab_lighting-0.1.tar.gz (source tarball; June 7, 2003)
An OpenGL demo featuring dynamic lighting and shadows. The lighting is achieved by multitexturing surfaces with dynamic lightmaps. The shadows are created with stenciled shadow volumes, projected from a model in the middle of the scene. Models can be loaded from md2 files, which are used by Quake II (this demo doesn't include any md2 files, but it can run without any and will just display dynamic lighting). This program requires GLUT. It has been tested on Slackware Linux and OpenBSD. A screenshot with one of the standard Quake II models can be seen here.
-
jabheightmap-0.1.tar.gz (source tarball; January 27, 2003)
A small OpenGL demo featuring a world created with a PNG heightmap. Requires X11/GLX, libGLU, and libpng in addition to OpenGL. A screenshot can be seen here.