This is a 3D rendering engine made from scratch using Java. This means that it is able to take in 3D object files (perhaps created using softwares such as Blender), along with texture image files (the texture is optional, but it makes the objects look a lot more decorated), and render them together on your screen. The program allows you to move and look around in the 3D simulated environment so that you can see the objects from any angle and any distance. All Blender objects are compatible such that they are only made from triangles.
The features of this project include:
- full projection matrix (i.e. FOV, perspective projection, near and far planes, etc.)
- directional lighting
- textures (as previously mentioned)
- rudimentary texture mipmapping
- culling and clipping
- the ability to import .obj files
My first prototype of this project actually initially started on Desmos, the graphing calculator. I was experimenting with projecting 3D points onto a 2D screen, and the graphing calculator was the easiest way that I could play around with things. You can find my initial desmos prototype here: https://www.desmos.com/calculator/v5mwlcvbec.