Skip to content

simplyrohan/dimensional_embedded

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dimensional_embedded

A rewrite of the dimensional_graphics project in C/C++ for embedded systems (ESP32 or Arduino)

Features

  • 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

Desktop Setup

To test this on a desktop enviroment, use MiniFB. Just run

make setup

to install it.

Then use

make build

To build with MiniFB

Embedded Setup

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.

obj2h

A tool to convert Wavefront OBJ files into headers compatible with this project.

python obj2h.py path/to/model.obj

tex2h

A tool to convert images into textures for models

python tex2h.py path/to/image.png

TODO

(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))

About

A rewrite of the "dimensional_graphics" project in C/C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published