Note: This project is ongoing. It is just recently imported here from my local machine. Additional updates are coming!
A C++ application that draws 3D polyhedra from vertex input data, can read multiple file formats, and lets the user rotate, scale, and move the shapes while adjusting the camera view. The renderer performs vector math operations like dot and cross products, as well as normalization, and all steps of converting 3D data into a 2D image are written from scratch, with OpenGL used only to display the final image.
Tech Stack:
- Language: C++
- Tools: OpenGL (display), Docker (development environment)
- Concepts: Vector math, computational geometry, step-by-step rendering process
Skills:
- Writing graphics code from the ground up
- Computational geometry and linear algebra
- Organizing code for clarity and maintenance
- Setting up reproducible builds and cross-platform testing
Future Work:
- Add lighting and shading effects
- Support texture mapping
- Make the renderer faster for larger models
- Allow real-time interaction with scenes