Implemented a dependency-free rasterized renderer, which was originally done to understand how the graphics API works.
- Bresenham's algorithm is used to draw line segments for efficiency;
- The center of gravity coordinates are used to determine whether the point is inside the triangle to color the triangle;
- Implemented perspective projection function;
- Implemented texture mapping;
- Implemented a basic rendering pipeline flow, including Vertex Shader, Rasterizer, Fragment Shader, Z-test.