CPU Graphics Engine
A simple CPU-based graphics engine written in C++.
|
A simple CPU-based graphics engine written in C++.
The following features are planned for the graphics engine. The status of each feature is indicated by a checkmark (✓) for completed features and an empty space for those not yet implemented.
Functionality | Status |
---|---|
1. 2D L-systems | ✓ |
With brackets | ✓ |
Stochastic | |
2. Transformations | |
Eye-point | |
Projection | |
3. Platonic Solids | |
Cone and cylinder | |
Sphere | |
Torus | |
3D L-systems | |
4. Z-buffering (lines) | |
5. Triangulation | |
Z-buffering (triangles) | |
6. 3D fractals | |
BuckyBall | |
Menger sponge | |
View frustum | |
7. Ambient light | |
Diffuse light (infinite) | |
Diffuse light (point) | |
Specular light | |
8. Shadow | |
Texture mapping | |
9. Spheres and cylinders | |
UV coordinates | |
Cube mapping |
To quickly get started:
This project uses GoogleTest for unit testing. All core components should be covered by automated tests to ensure correctness and reliability. The aim is to achieve high test coverage across the codebase, helping to catch regressions early and maintain code quality as the project evolves.
To run the tests after building:
Documentation is generated using Doxygen. To build the documentation, run:
Contributions are welcome! Please open issues or pull requests. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GPL-3.0 license - see the LICENSE file for details.
For questions or support, please open an issue on GitHub or email me at kyanvde@gmail.com.