[{"name":"TiDAL 3D","slug":"tidal_3d","min_firmware":null,"max_firmware":null,"published_at":"2022-09-24T11:00:58.000000Z","download_counter":29,"revision":"2","size_of_zip":12033,"size_of_content":34444,"category":"graphics","description":"# TiDAL 3D\r\n\r\nA 3D renderer for the EMF 2022 badge.\r\n\r\nIt can render objects from Wavefront OBJ/MTL files, such as you might export from Blender, and crudely supports features like back-face culling, frustum culling, directional lighting, material colours, and flat shading.\r\n\r\nHere's a quick demo showing the obligatory Cube (a platonic solid) and Utah Teapot (a plate-onic solid):\r\n\r\n[https://user-images.githubusercontent.com/597661/182123844-fca92232-0b1e-4d91-830c-54877b67a679.mp4](https://user-images.githubusercontent.com/597661/182123844-fca92232-0b1e-4d91-830c-54877b67a679.mp4)\r\n\r\n## Trying It Out\r\n\r\nThe app is in the hatchery/app store, but \u26a0\ufe0f  PLEASE NOTE \u26a0\ufe0f  that it does require a custom build of the firmware to function.\r\n\r\nThe customisations to the firmware include some additional framebuffer routines for drawing polygons and a native module containing some commonly used 3D maths functions. Only with these fast native implementations can we acheive such high framerate in the renderer app.\r\n\r\nYou can build the customised firmware from my branch of the TiDAL-Firmware repo using the instructions below.\r\n\r\n**Step 1:**\r\n\r\nGet and setup the Espressif ESP32 toolchain:\r\n\r\n    $ git clone -b release/v4.4 --recurse-submodules https://github.com/espressif/esp-idf\r\n    $ ./esp-idf/install.sh\r\n\r\n**Step 2:**\r\n\r\nGet and build the firmware:\r\n\r\n    $ git clone -b mbooth-tidal3d --recurse-submodules https://github.com/mbooth101/TiDAL-Firmware\r\n    $ ./TiDAL-Firmware/firmware_build.sh\r\n\r\n**Step 3:**\r\n\r\nForce the badge into download mode by holding down the **bootloader** button whilst pressing the **reset** button. The screen will be go blank. Now you can deploy the firmware:\r\n\r\n    $ ./TiDAL-Firmware/firmware_deploy.sh\r\n\r\nPress the **reset** button once again to boot the badge back into the main menu.\r\n\r\n**Step 4:**\r\n\r\nInstall the app from the hatchery/app store as normal. [Click to view the app in the hatchery](https://2022.badge.emfcamp.org/projects/tidal_3d/).\r\n\r\nAlternatively, clone this repository and use the upload script to install the app over USB serial:\r\n\r\n    $ sudo dnf install minicom python3-pyserial # Fedora only command\r\n    $ sudo apt install minicom python3-serial   # Ubuntu only command\r\n    $ git clone https://github.com/mbooth101/tidal3d\r\n    $ cd tidal3d\r\n    $ ./upload.sh","status":"in_progress","author":"Mat Booth"}]