A rewrite of the dimensional_graphics project in C/C++ for embedded systems (ESP32 or Arduino)
- Transformations (rotation, etc)
- Textures
- Tools for importing files (obj2h, tex2h)
- Support for both desktop and embeded systems (Arduino, ESP32)
- Supports many output methods with a simple buffer (Adafruit GFX, MiniFB)
https://github.com/simplyrohan/dimensional_embedded/blob/main/assets/embedded_cobblestone.mp4
https://github.com/simplyrohan/dimensional_embedded/blob/main/assets/embedded_cube.mp4
To test this on a desktop enviroment, use MiniFB. Just run
make setup
to install it.
Then use
make build
To build with MiniFB
To run this on an ESP32 (or any Arduino device really, but I haven't tested) make an Arduino project. Then copy the contents of the renderer directory into the project (Arduino is unable to find C++ files if they are in a sub directory). You can do this with
make setup-arduino
Look at main.ino for how to set it up with a TFT.
A tool to convert Wavefront OBJ files into headers compatible with this project.
python obj2h.py path/to/model.obj
A tool to convert images into textures for models
python tex2h.py path/to/image.png
(This is mainly a task list for myself)
- Rename transformations (translation->position, consolidating things into a struct, vertex->vector3, etc)
- Scene system
- Fix broken rotation system (maybe use quanternions, euler sucks rn (idek if it is euler, everything is so messed up))
