This outrageously useless project is part of a Demoscene Wild demo project. Enjoy a 3D-engine that loads .obj files and outputs powerpoint shapes to a powerpoint slide. As the Office VBA shape drawing algo is very very slow, this doesn't have the highest framerate.
Techniques:
.obj importer - Reads Vertex and polygon data. Including vertex color. Meshes have to be triangulated before importing to the engine. Creates triangle objects.
Flat shading - Calculates the angle between the polygons normal and the lights normal and shades the triangle with that.
Occlusion Culling - Removes faces that are facing away from the camera, greatly improving framerate and efficiency. Also helps with Z-sorting a lot.
Z-sorting is done by calculating the middle point of every drawed polygon and ordering the faces every frame. Not very efficient, and has some z-fighting when long triangles are used. Which can be seen at the video.
Learning points:
Even if I'm not an engine coder, this helped me understand the underlying challenges in 3D-graphics a little closer to the hardware. Also very small optimizing in this engine have drastic changes to the framerate of the image, which is also cool to see. I would recommend to every artist that also dabbles in coding to write a simple spinning cube engine.
It also has possibly the funniest feature in any engine, you can pause it and move the shapes in Powerpoint. This actually helps to see when z-sorting is working and when it isn't.