SkinCut
Simulation and Visualization of Cutting Wounds
Master thesis project at Utrecht University.
Researched surgery simulations, digital injury visualization, and theoretical foundations of skin rendering.
Developed a novel cutting simulation and visualization algorithm that generates skin injuries interactively.
Modified screen-space subsurface-scattering shading to simulate skin discoloration around the cut.
Implemented prototype that supports mesh subdivision, geometry generation, and rendering capabilities.
Written in C++ with DirectX 11 and HLSL shaders, using WinAPI and Dear ImGui for the user interface.
Photron
Photon Transport in Multi-Layered Mediums
Experimentation project at Utrecht University.
Improved and extended a research prototype for simulating photon transport in multi-layered tissues.
Enhanced MCML implementation with support for arbitrary surface geometries and voxelization thereof.
Combines photon simulation with visualization of photon paths and energy deposition.
Intuitive tissue layer configuration, simulation controls, and statistical convergence monitoring.
Written in C++20 with OpenGL 4.5 rendering pipeline and acceleration structures.
MiNNi
Mini Neural Network Implementation
Based on the fundamental neural network concepts presented in "Neural Networks from Scratch".
Tiny neural network library that implements a simple feedforward neural network with backpropagation.
Supports regression and classification tasks.
Includes several core components: layers, activators, loss functions, optimizers, and accuracy metrics.
An example showcases how the library can be used to train and predict on the MNIST dataset.
Written in pure Python 3 and the NumPy library.
Projects on GitHub
Castalyst
Interactive Mesh Simplification
Winged-edge mesh construction for efficient adjacency queries.
Mesh simplification via Average Edge Contraction and Quadric Error Metrics.
PLY mesh import/export.
Real-time rendering: solid, wireframe, and point cloud modes.
Interactive GUI and camera controls for all operations.
Mesh statistics and reduction tracking.
VolRec
Volumetric Reconstruction and Visualization
Camera calibration and volumetric object reconstruction from photographic material.
Configure camera views, chessboard configurations, and image resources via JSON files.
Switch between calibrated static camera views and a freeform orbit camera for intuitive 3D exploration.
Mesh-based and volumetric visualization.
Interactive GUI for project loading, camera switching, and visualization toggles.
Monogram
Real-Time 3D Model and Scene Renderer
Showcase of advanced rendering techniques, lighting models, and post-processing effects
Modular scene management with various 3D models and textures.
Various shading, lighting and post-processing effects.
Orbit, zoom, and reset camera with smooth mouse controls.
Scene selection dropdown box, FPS counter and per-scene overlay text.
Splinter
Interactive Spline Curve Editor
Create and manipulate spline curves, including B-splines, NURBS, Bezier curves, and Catmull-Rom.
Add, move, and delete control points with mouse interaction.
Adjust curve parameters such as degree in real-time (where applicable).
Responsive GUI and distinct colors for each spline type.
Artichoke
Articulated Chain Viewer
2D and 3D articulated (kinematic) chains.
Interactive joint and point manipulation. Added points attach to the nearest segment and move with it.
View the chain from multiple perspectives: three orthographic 2D projections and one freeform 3D perspective.
ImGui-based menu and grid overlay.
Efficient, batched rendering for all geometry.