tinyraytracer icon indicating copy to clipboard operation
tinyraytracer copied to clipboard

Tinyraytracer on ESP32

Open tobozo opened this issue 5 years ago • 13 comments

Hello and thanks for this génialissime project 👍

Just to let you know I tried your code on ESP32 and it worked just fine with very little modification. The ESP32 doesn't have that much ram so I applied a direct TFT rendering approach instead of using the framebuffer.

https://github.com/tobozo/ESP32-Raytracer

tobozo avatar Jan 23 '19 07:01 tobozo

Rad! Pocket RayTracer! How long to render a frame on the TFT?! I would legit love to have a keychain device that raytraces :D

manthrax avatar Jan 23 '19 07:01 manthrax

Wow, that's very cool, thank you!

ssloy avatar Jan 23 '19 08:01 ssloy

I'll add a timer to the code when back from work, but it takes about 20 seconds to render.

It's far from being able to render an amiga boing ball animation in real time, but still impressive for a 240MHz MCU :-)

tobozo avatar Jan 23 '19 08:01 tobozo

ESP + OLED, binary image with simple test if the color is >128.

1.5s for the 64 x 128 screen size.

ssloy avatar Jan 23 '19 10:01 ssloy

looks like a LoRa Heltec build ^_^

interesting how that ssd1306 seems to have burn traces from its usual duty, I always thought this would never happen on OLEDs.

do you have an estimation of its total uptime ? I haven't observed this yet but I guess it's time to add dimming to my own ssd1306 projects

tobozo avatar Jan 23 '19 10:01 tobozo

3 weeks of constant uptime. Now with dithering :)

ssloy avatar Jan 23 '19 12:01 ssloy

I wish this OLED was capable of doing stable grayscales

tobozo avatar Jan 23 '19 14:01 tobozo

*currently testing multiple image rendering to sdcard as jpeg data, I've modified this jpeg library so it uses the psram

the ambition behind this is obviously to play a pre-rendered animation although I'm not sure yet jpeg is the right choice to achieve a fast frame rate when playing later (GIF compression is less efficient but supports transparency+partial writes)

tobozo avatar Jan 26 '19 11:01 tobozo

Dimensions: 128x64 Rendering time: ~3s per frame Frames: 60

bouncing-60 frames 128x64

Youtube link

tobozo avatar Jan 26 '19 16:01 tobozo

Fantastic. Can't wait for my display to arrive :)

ssloy avatar Jan 27 '19 09:01 ssloy

getting closer to the Amiga Boing ball sphere material, playing a 2D animation over it just because ...

https://youtu.be/yg1FgM8eU6U

tobozo avatar Mar 11 '19 18:03 tobozo

Awesome!

ssloy avatar Mar 13 '19 17:03 ssloy

I'll just put this here as it somehow seems relevant :rofl:

image

Source: https://twitter.com/txsector/status/1119280135922827264

tobozo avatar Apr 20 '19 07:04 tobozo