top of page
Lex Steffens
Lex Steffens
No Collections Here
Sort your projects into collections. Click on "Manage Collections" to get started
Programming portfolio
Here you can see a selection of my work as a programmer. For all of these projects, I either fully or largely programmed them.


Ray Tracer
A self-developed Ray Tracer in OpenGL, supporting various reflective materials. The calculated rays incorporate a variety of realistic effects, including: light reflection, light refraction, light diffusion, and soft shadows. A Bounding Volume Hierarchy (BVH) was implemented as well for increased performance.


Game Physics
Several realistic physics are simulated for 3D models based on gravity, collision and friction. Individual hard-body collision is calculated using impact angles, regular velocity, and angular velocity. Clothlike movement constraints are implemented as well, having multiple models behave as if connected by a thread. Finally, soft-body simulation enables models to squish and bounce on impact with hard surfaces.


Voxel Reconstruction
A 'voxel model' is a model created through the use of 3D spatial data points. Four camera's recorded a single person from four seperate viewpoints, and from this data, I reconstructed a voxel model of said person. The process involves the calibration of the camera's, obtaining the saturation values in the recording, subtracting the background imagery, and finally constructing the voxel model.


Computer Animation
A framework for converting 3D animation data onto rigged character models was implemented. A hierarchy based on various nodes and joints makes up the skeleton, which animates through keyframes and inbetweening code. Skinning was implemented as well, which allows models to rotate and bend directly with their joints.


Ice Rink
A complex algorithm problem on creating an optimal ice rink on natural ice with inconsistent thickness. The natural ice is displayed on a grid with thickness values ranging from 0 to 32, and penalties are associated with including thin ice or excluding thick ice for the ice rink. The program implements the Edmonds-Karp algorithm by assigning nodes to the grid, and provides the optimal solution using max flow theory.


AI Agent
Several custom AI agents were created to play an expanded version of Tic-Tac-Toe. The Bandit Agent learns a policy by combining explorative and exploitative behaviour. The Monte Carlo Tree Search (MCTS) Agent gathers data by building a decision tree that keeps track of several game states. Both agents significantly outperformed random agents, with the MCTS Agent providing the best overall score.


SimCity Enhanced
I recreated the classic SimCity game for PC. Using grid-based tile generation, I was able to successfully load large randomly generated cities, as well as have them develop overtime through tile behavior. Player control is included as well for building and demolishing various zones, so players can manage their city's statistics in real-time.


Vastgoed Demo
'Vastgoed' concerns the real estate business. To propose an online study guide for new recruits in this business, a companion demo version of a digital test was created. It was developed using the Windows Forms library to enable flexible visual design for each question, as well as to allow for low performance requirements.
bottom of page