June, 2024
Using a more physically accurate spectral representation of light to model phenomenon like dispersion.
January, 2024
Simulating the behavior of light to generate physically accurate(ish) rendering of static 3D environments.
November, 2023
Simulating water as a collection of particles. Also, learning to utilize compute shaders for general purpose computing.
September, 2023
Rendering 3D models using PBR; an approach to rendering that attempts to model how light would behave in the real world.
July, 2023
Generating realistic(ish) mountainous terrain via hydraulic erosion simulation.
March, 2023
An overview on the math and physics to make a basic 2D rigid body physics engine that can support circles and convex polygons.
February, 2023
Clones of various discord nitro server voice channel games.
November, 2022
Generation of procedural planets using 3D noise functions and post processing effects.
October, 2022
My first game made using LWJGL.
May, 2022
Another incomplete game, working with the lessons learned from the previous one.
November, 2021
A rather incomplete game that I spent maybe 2 months on and off making. Although there is much room for improvement, especially in the performance department, I'm pretty happy with how this one turned out.
October, 2021
A redone version of my first 3D engine. Framerates have been drastically improved upon, and support for texturing has been added. A file explorer option has also been added so you can load your own 3D meshes. If textures are desired, then you must place the .mtl and .png files in the same directory as the .obj file. There is no support for n-gons, so that means that all polygons in your .obj must be triangles.
September, 2021
An homage to one of the greatest spinoffs of all time: Space Balls! Control the Eagle 5, and observe the magnificent space balls! The balls come with physics based collision and gravity as well. In reality, this is just a 3D graphics test. The application is just a simple rasterizer, but unlike the previous one, camera controls have finally been added.
August, 2021
My first foray into the world of machine learning! For this project, I used the MNIST dataset of handwritten digits. A fully connected neural network was used, and I managed to train an example network up to 90% accuracy on the testing data. I also included settings so you can generate your own neural network and train it. PSA: You will see a blank screen when you launch, don't worry, it's just loading all the test cases.
August, 2021
Not a ray marcher, but a full fledged ray tracer with proper lighting and shadows. The engine can handle spheres - hence the name - and triangle meshes, although as the object count grows, the program will become much slower.
July, 2021
A simple clone of tetris. The mechanics are as faithful to the original as I could get it, some fancy spin maneuvers might not be possible though. The program will make a new file to save your highscore, but it won't break the program to delete the file ... or edit your highscore.
June, 2021
Either make your own maze, or let an algorithm make it for you, and then compare the two pathfinding algorithms, bfs search or astar, to see the pros and cons of each. Path cost is measured as the amount of cells travelled through to get to the destination, and as the pathfinding algorithm only checks in the four cardinal directions, it's pretty much manhattan distance.
June, 2021
A small sandbox game based on the one over at DAN-BALL, minus the realistic physics. Place down different types of powder particles, and watch them interact with each other.
June, 2021
A 2D simulation of birds flocking. Could also be applied to shoaling fish, or any other group animal. The math can also very easily be transferred to the third dimension, but I lack the knowledge to render it, and i'm too lazy to figure it out. This is also my first sketch in p5js!
May, 2021
A small 3D engine with fixed lighting. Credit to Javidx86 for carrying me through this one with his excellent video tutorials.
March, 2021
A raycaster that improves on the previous one I built. The warping due to projection issues is gone, and wall textures have been added.
February, 2021
A simple gravity simulator with circle to circle collision mechanics. You can generate new balls of different sizes by adjusting the sliders at the top.
December, 2020
My first 3D renderer! Only renders a cube though. Drag and click with the mouse to rotate the cube around.
November, 2020
A small raycaster demo. Fog effects were added in order to help see the walls more clearly. There are a lot of projection issues though, might fix that later.
September, 2020
A number crunching simulator that approximates how a pandemic would go. You can adjust the specifics of the pandemic through sliders at the top of the screen.
July, 2020
Place down nodes, and the app will calculate the shortest euclidean distance path to visit all nodes.