Projects

here lies some of my dirty code that classifies as 'project', i decided to make public. click to project name to see more or to get sources / binaries.

SLAM++

High-performance nonlinear least-squares solver with focus on incremental processing.

status: functional, under development
language: C++
os: win32 / linux / osx



GLES_Emu

OpenGL ES 2.0 emulator.

status: functional, under development
language: C++
os: win32 / linux



GLEH

OpenGL extension handler.

status: functional, under development
language: C++
os: win32 / linux



Tree generator

This is a really simple tree generator. It's input is set of parameters and random generator seed and output is nice tree mesh. It's using special OpenGL gui and is therefore platform independent (uses GLUT). There are still some features left to be implemented so it's not available to download. Once it's finished, there will be free limited demo and complete generator, along with sdk. Since i'm ecologically engaged, full version will be traded in exchange for some symbolic donation to some 'green' organization.

status: under development
language: C++
os: win32 / linux (msvc / g++)



GPU AdaBoost

This demo shows how simple AdaBoost engine can be implemented to run efficiently on GPU.
Requires at least shader model 2a compliant graphics card. Can efficiently run on dual-GPU systems using AFR.

status: under development
language: C++
os: win32 / linux (msvc / g++)



DigiLib GPU extension

Digilib is graphics library written in C, developed by Adam Herout and Pavel Zemèík. Aim of this project is to create set of functions, running on GPU to accelerate image processing. It should be almost transparent to program, using digilib (almost means there is possibility of some additional optimalizations and of course a few initialization functions)

status: under development
language: C / C++
os: win32 / linux (msvc / gcc, g++)



GP-OpenGL

i always wanted to write set of shaders for general purpose computations, such as matrix operations, FFT, sorting, searching, ... whatever you imagine. i'd even want to try to implement BSP trees as shader. No online content available at the moment.

status: beginning development
language: glslang
os: independent



TinyJpeg

TinyJpeg are two classes for jpeg encoder and decoder. Aim was to write decoder with minimal code size which was to a certain extent acheived (decoder can be compiled to approx. 3kB of code) Special features - lossless jpeg compression, which was even further extended allowing for better compression ratios. There is also nice huffman coder template and couple of DCT classes (one is enhanced with MMX, but the asm is not very nice)

status: made part of ÜberLame
language: C++
os: win32 / linux (msvc / g++)



CGeometry

CGeometry is class, containing some polygonal geometry, it features platonic primitives, texture mapping generators, vertex conversion functions, geometry indices generators, boolean operations, extrude and some more modelling functions. It is now part of ÜberLame, but due to quite large not-so-well-structured code (about 6500 lines) i decided to rewrite it and create layered hierarchy. also old CGeometry doesn't work very well with std::vector (not using std::vector::reserve, std::for_each, std::find, std::find_if, ...)

status: functional, made part of ÜberLame, suspended
language: C++
os: win32 / linux (msvc / g++)



ÜberLame framework

ÜberLame was supposed to be 3D engine, currently it's rather C++ framework with lots of useful OpenGL wrappers. it's still under development, now there are classes for OpenGL state caching, shaders, extensions, buffer objects (vertex / pixel / frame) and propably more. Then there are some geometry tools, 3ds importer, scripting engine, unicode file class, call stack guard, os independent socket class and so on.

status: functional, under development
language: C++
os: win32 / linux (except for win32-only lame dialogs)