Real-time mesh slicing
I needed a real-time mesh slicing effect for a project a friend was working on so I put together this test application to demonstrate the technique.
It works by first dividing the list of triangles in a mesh into two, one set for each side of the plane. For triangles that intersect the plane, it divides them and adds them to one side or the other.
This implementation is implemented on the CPU as a test but it should be heavily parallelisable.
Written in C++/OpenGL
3D Software renderer
I wrote this 3D software renderer when I was in university. I spent a lot of time optimizing it and adding features, and it was by far the fastest one in the class.
It supports hierarchical scenes and animations, and performs well for a software renderer, having been optimised to make use of SSE vector instructions using intrinsics. The code is a bit old and crazy now but I was proud of it at the time.
Written in C++