Strolle: 💡pretty lightning, 🌈 global illumination, 📈 progress report!

208 points Patryk27

Strolle is a rendering engine written entirely in Rust (including the GPU shaders) whose goal is to experiment with modern real-time dynamic-lightning techniques - i.e. Strolle generates this image:

https://preview.redd.it/b5yo32bnca1c1.png?width=786&format=png&auto=webp&s=6f7b47c53b960f89c317cabfa19bdb41ccd62fe0

... in about 9 ms on my Mac M1, without using ray-tracing cores and without using pre-computed or pre-baked light information:

https://preview.redd.it/zqdjxo3oca1c1.png?width=780&format=png&auto=webp&s=60d2d0c377c1971dc1a067426f2d2501f98fafb9

https://preview.redd.it/b6xbhd4pca1c1.png?width=789&format=png&auto=webp&s=aaf8dbdc546325cd73b53347770c9942caf1ff25

https://preview.redd.it/n3k6ud8sca1c1.png?width=796&format=png&auto=webp&s=9b3b8cd8eed40c9a4e1a0bb12acbe1d08b2432be

Recently I've been working on improving the direct lightning so that it's able to handle dynamic geometry and finally, after weeks of hitting walls, I've been able to find some satisfying trade-offs - since I'm not sure how I can post videos in here, I've created a Twitter thread with more details:

https://shorturl.at/pvDIU
(can't post direct link unfortunately due to the automoderator and archive.org says it'll take 1.5h to archive it, so...)

https://github.com/Patryk27/strolle