Projects
Projects are filtered by tag C++. Clear all filters.
This page lists some of my most interesting programming projects. Some of them are improved versions of class assignments and some are just personal projects. Many projects have full source included and it is usually published under Public Domain or MIT licenses on GitHub.
Mamex - Marek's Mandelbrot explorer
Mandelbrot explorer is written in C# and supports arbitrary precision arithmetic that allows to zoom indefinitely. Arbitrary precision support is provided by GMP library that was compiled using standard C++ compiler and C++/CLI was used to create simple wrapper for C#. The explorer can visualize Mandelbrot and Julia sets and has many additional features such as interactive color gradient editor, projections support, and batch rendering. Custom anti-aliasing algorithm, sharpening, and color dithering algorithms yields beautiful results. Some of the results can be seen in the Gallery on this website. Read on ...
Personal project
This project demonstrates visualization techniques like glyphs, stream lines, stream tubes, and stream surfaces — all in real time. The key is RK4 integrator implemented in CUDA that is using very fast texture lookup functions to access a vector field. The vector field itself is stored as a 3D texture which enables to use hardware accelerated trilinear interpolation lookup functions. This article contains more than 100 images and figures, commented code snippets, and source code available for download. Read on ...
School project (CS 530 -- Introduction to Scientific Visualization)
Conway's Game of Life on GPU using CUDA
This project compares performance of CPU and GPU in evaluation of famous Conway's Game of Life. The performance was tested on three different implementations. The most sophisticated version of the algorithm on GPU stores data in one bit-per-cell array and leads to speed-up of 480x compared to serial CPU algorithm. The best implementation for CPU turned out to be lookup-table approach leading to 60x speedups over serial CPU. The report contains detailed explanation of used algorithms, measurements, and code of whole project for download. Read on ...
School project (CGT 620 -- GPU Programming in CUDA)
Comparison of performance of CPU and GPU in computation of Random faults algorithm for random terrain generation. Speedup of GPU over CPU is over 700x. Project uses shared VBO's to avoid CPU-GPU data transfer which makes it interactive experience. Read on ...
School project (CGT 620 -- GPU Programming in CUDA)
Wandering
Wandering is a generic maze generator, solver, and game playable in a console. It supports hexagonal and rectangular mazes and two types of maze generators. Cool thing is that the maze type is independent of the solver. Every solver can solve every type of maze. It is possible to define new maze types, generators, and solvers. Another cool feature is the UI system in a console including menus, text boxes, windows, and screen manager. This was my first larger program written in C++. Read on ...
School project
Tags: C++