GPSnoopy's Development Arena

 

This website contains various projects I made over the past years and that I decided to share with the open source community. This site is primarily targeted at developers; as such you won't always find compiled executables for all projects, nor complete documentation. Most programs here are done for academic purpose and/or just for my own fun. There are a lot of improvements that could be brought to most of these projects, but unfortunately time is a scarce ressource. I hope these projects will prove to be useful to you in any way.

Feel free to email me at softdev@telenet.be.

 

Projects

OpenGL Framework

A framework, based on OpenGL and SDL, I used to create a couple of 3D applications with. It also includes some other projects mentioned on this page.

Tri Stripper Library

A powerful but yet fast triangle stripifier. It can take into consideration the presence of a post T&L vertex cache.

Zip Virtual Filesystem Library

A virtual filesystem inspired by Quake III's pk3 files. It transparently reads zip files through the C++ std::istream interface, which makes it compatible with any function using such an object.

Howto: load DDS (DXTC) files in OpenGL

This article covers some annoying problems that arises when playing with DDS files, DXTC, and OpenGL. It also provide an example program.

SIMD C++ Library

This C++ library allows to efficiently use the Intel SIMD extensions without having to resort to assembly.

 

Small stuff

Genetic Algorithms : TSP

A project we did for the AI course. It's inspired by Mat Buckland's book "AI Techniques for Game Programming". The program solves the Traveling Salesman Problem using a genetic algorithm.

Includes C++ source code, documentation (in French), and a Win32 executable.
Requires GLUT and Boost.
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).

Graftals

A graftal implementation we had to do for school. It splits the projects in two parts: the graftals library and the test application.

Includes C++ source code, documentation, and a Win32 executable.
Requires GLUT.
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).

Formula Analyzer

This program parses a formula, converts it to the conjunctive normal form, and finds out whether it's a tautology (always true), an antilogy (always false), or just a simple formula. Wrongly named Prolog, this program has little to do with the similarly named programming language. The syntax is inspired by C but literals are limited to one letter.

Examples: (not (A and B)) is equivalent to (not A or not B) is written as !(A && B) <-> (!A || !B), and is of course a tautology. (A implies B) is written as (A -> B), and is just a valid formula (neither a tautology, nor an antilogy).

Includes C++ source code.
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).

Huffman

A simple Huffman's codes generator in O(n.log(n)). It doesn't generate the canonical form, though.

Includes C++ source code.
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).

Mastermind AI

Based on a project for school, it implements an AI that can play the famous game Mastermind and guess the hidden key. In theory, it only loses about once every 100,000 games.

Includes C++ source code and documentation (in French).
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).

Prime Finder

A programs that finds every prime numbers between 0 and a given limit. It's based on the sieve of Eratosthenes and focuses on speed and memory usage. When compiled for N bits, it can work up to (2^N / 3).

Includes C++ source code.
Tested on VC 7.1 (Windows Server 2003) and GCC 3.4 (Debian GNU/Linux).