Sign in

Brandon DeRosier

@bdero.bsky.social
49 followers 105 following 62 posts

Building Flutter GPU and fscene.dev. Expanding what you can create using Flutter & Dart. Prev Lead Eng @ Shorebird Prev Built Impeller @ Flutter / Google

PostsRepliesMedia
Brandon DeRosier @bdero.bsky.social · 11h
Bistro is full of glass. Transmissive materials are expensive since they sample the scene behind them, so Bistro tests often swap the windows for something opaque or invisible. Here they render as actual transmissive glass. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 11h
A clip from when I was working on culling and transmissive material performance. Just dragging the sun around the Amazon Lumberyard Bistro scene in Flutter Scene. :D
110
Brandon DeRosier @bdero.bsky.social · 07/10/2026
The full talk covers materials, lighting, the editor, and agent skills, with timestamps. fscene.dev/videos
000
Brandon DeRosier @bdero.bsky.social · 07/10/2026
It runs on macOS, Linux, Windows, iOS, Android, web, and custom embedders. It scales down to a single model in a widget and up to full games, and dozens of contributors landed work in it this year. A scene is a widget, and hot reload works on it. Change a light in Dart, it updates in place.
100
Brandon DeRosier @bdero.bsky.social · 07/10/2026
No platform views, no native textures piped in from another engine, no custom fork. It runs on Impeller and Flutter GPU. Graphics, physics, audio, networking, an editor, and tools for AI coding agents, in one open source project.
100
Brandon DeRosier @bdero.bsky.social · 07/10/2026
Flutter is a 3D engine now. 99 seconds from my Flutter & Friends talk. Everything in the cut is rendered by Flutter on the stable channel. The engine is Flutter Scene, a complete 3D game engine for Flutter. fscene.dev
130
Brandon DeRosier @bdero.bsky.social · 06/10/2026
The lighting isn't as moody as the original yet, with way too much light spilling in from the environment map... but a pretty decent port! Credit to the Godot project for a great demo to throw at a young engine. fscene.dev
030
Brandon DeRosier @bdero.bsky.social · 06/10/2026
617 MiB of cooked content. 1,795,763 unique vertices, 659,079 unique triangles, 320 collision meshes, 23 punctual lights. All converted to Scene's own scene description format for AOT baking.
130
Brandon DeRosier @bdero.bsky.social · 06/10/2026
Godot's Third Person Shooter demo, ported to Flutter Scene as a fun stress test. Running on Flutter GPU and Impeller, Flutter's built-in graphics stack.
181
Brandon DeRosier @bdero.bsky.social · 06/10/2026
Was a fun surprise finding this in my yt feed today. :)
020
Brandon DeRosier @bdero.bsky.social · 01/10/2026
Author the materials in Blender, export the glTF, and Scene renders it. Load it at runtime, or bake it ahead of time for faster loading. fscene.dev
020
Brandon DeRosier @bdero.bsky.social · 01/10/2026
Clearcoat, refraction, volume, rough transmission, chromatic dispersion, iridescence, sheen, anisotropy, specular, and much more. Every ratified glTF material extension.
120
Brandon DeRosier @bdero.bsky.social · 01/10/2026
Build something real with Flutter 3.47. Scene is powered by Flutter's own graphics stack, Flutter GPU and Impeller. No forks, no platform views, no secondary rendering context. macOS, Linux, Windows, iOS, Android, web, and custom embedders.
140
Brandon DeRosier @bdero.bsky.social · 30/09/2026
141,000 instances in 42 draw calls, caustics from 217,818 rays through the waves. It pushed lighting hooks for custom materials, planar mirrors, and debug view wipes into the engine, all landing in Flutter Scene 0.24. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 30/09/2026
I had an agent port the original web demo, then built the rest on top. The camera moves, the controller, the flake food, the dust, day to night lighting, and a surface that mirrors the tank from under water.
100
Brandon DeRosier @bdero.bsky.social · 30/09/2026
A little cinematic I made with Flutter Scene, based on Alix Ollivier's Amano Nature Aquarium. :) Rendered in real time and recorded live at 60 fps on my MacBook. The control panel on the cabinet is a Flutter widget running inside the 3D scene.
172
Brandon DeRosier @bdero.bsky.social · 29/09/2026
It's the materialize example in the repo. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 29/09/2026
The effect is three passes over one glTF model. A wireframe, then flying glass shards, then the finished PBR surface behind a glowing seam. Each pass is a custom material over geometry derived from the mesh at load time, so it works on any model.
101
Brandon DeRosier @bdero.bsky.social · 29/09/2026
This is rendered by Flutter 3.47 stable, using Flutter GPU through Flutter Scene. No forks, no platform views, no external renderers, no secondary graphics context. It's vanilla Flutter. :)
131
Brandon DeRosier @bdero.bsky.social · 24/09/2026
The shadow catcher material ships in flutter_scene 0.23 on pub.dev today. This version of the example, with the count-up, the glass, and the breaking cards, lands with the next release. Source at github.com/bdero/flutter_scene
000
Brandon DeRosier @bdero.bsky.social · 24/09/2026
No image assets anywhere. The stripes, the cards, the pips, and the wood and marble textures are painted or baked at startup. Recorded in debug mode.
110
Brandon DeRosier @bdero.bsky.social · 24/09/2026
Land a die hard enough on a card and it cracks. The shards are the card's own pixels, captured and thrown as physics bodies, and they cast shadows on the widgets like everything else.
100
Brandon DeRosier @bdero.bsky.social · 24/09/2026
The dice are Rapier physics bodies drawn by the engine in a transparent layer on top. An invisible shadow catcher material stands in for the screen, so the only thing the 3D layer draws is the dice and the shadows they leave on the UI.
100
Brandon DeRosier @bdero.bsky.social · 24/09/2026
Dice rolling across a Flutter widget tree. The cards, the button, and the score are plain widgets, and the dice cast shadows on them. :) Built with Flutter Scene, a complete 3D game engine for Flutter. fscene.dev
150
Brandon DeRosier @bdero.bsky.social · 24/09/2026
Profiling it surfaced some neat engine optimizations. Retained instance buffers, better batch culling, and tighter shadow cascades, which have since shipped in Flutter Scene itself! fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 24/09/2026
Rendering at 4K 120 Hz on my Mac (the capture tops out at 60 fps). Runs natively on macOS, Windows, Linux, iOS, Android, and web. The port is open source. github.com/bdero/sakura-crossing
100
Brandon DeRosier @bdero.bsky.social · 24/09/2026
I loved the aesthetic of Sakura Crossing, a cel-shaded explorable Japanese town from GMI Cloud, and kept thinking about it... so I had an agent port it to Flutter Scene for fun. :) All runtime procedural generation. Just vanilla Flutter, AOT-compiled Dart, no external renderers.
130
Brandon DeRosier @bdero.bsky.social · 22/09/2026
It's the Particles example in the repo, and it runs on macOS, Windows, Linux, iOS, Android, web, and custom embedders. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 22/09/2026
The fire is an interpolated flipbook baked at startup from domain-warped fbm noise, run through a blackbody color ramp. The logs, stones, grass, and trees are generated meshes. The same noise drives the light flicker, the embers, and the fireflies.
100
Brandon DeRosier @bdero.bsky.social · 22/09/2026
This campfire is 100% procedurally generated at runtime with Flutter Scene. No model files, no image assets. Recorded in debug mode. A full 3D engine built entirely on Flutter's built-in graphics API, Flutter GPU. No forks, no native renderer integrations.
120
Brandon DeRosier @bdero.bsky.social · 17/09/2026
It ran for most of the conference with strangers hammering on it back to back and nobody restarting it between sessions. No memory leaks. Zero crashes. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 17/09/2026
The gamepad name entry was a bit hard to use, so there are a lot of "A" names in there, plus many hundreds of runs people chose to discard. I should have added a run counter!
100
Brandon DeRosier @bdero.bsky.social · 17/09/2026
Here's the final high score table from the Dashsurfers demo at flutterCon. I was SHOCKED to see people destroying my high score. Thanks for playing. :)
150
Reposted by Brandon DeRosier
Marco Bavagnoli @marcobavagnoli.bsky.social · 16/09/2026
flutter_gpu + flutter_scene + flutter_soloud + flutter_recorder = shader_fun Run & experiment with Shadertoy GLSL shaders, shaders on Widgets, multi-pass buffers & audio/mic visualizers in #Flutter! @bdero.bsky.social marcobavagnoli.com/shader_fun/ pub.dev/packages/sha... 👇👇👇👇
272
Brandon DeRosier @bdero.bsky.social · 15/09/2026
SM64 may have given me big brain plasticity but I spent it all on smoking smarties and playing with yoyo balls.
000
Brandon DeRosier @bdero.bsky.social · 15/09/2026
It started as a stress test for the engine and turned into a playable showcase. Dynamic obstacles, coin pickups, shadowed outdoor lighting, a full gameplay loop, and Dash ragdolling. The capture tops out at 60 fps, the game runs at 120. fscene.dev
010
Brandon DeRosier @bdero.bsky.social · 15/09/2026
This endless runner was playable at flutterCon, and it's a vanilla Flutter app. :) Dashsurfers (...name subject to change) is a little 3D game built with Flutter Scene, running in real time at 120 fps on macOS. The rendering, the particles, the UI, all Flutter.
230
Brandon DeRosier @bdero.bsky.social · 15/09/2026
Still an experiment. Decals and screen distortion ship in Flutter Scene 0.24, and a few engine fixes it surfaced are on the way. fscene.dev
000
Brandon DeRosier @bdero.bsky.social · 15/09/2026
Concept art from Gemini 3.1 Flash Image, rigged 3D characters from Meshy, audio from ElevenLabs (including the cat meow when you get hit). The dojo is all engine primitives, built in code.
100
Brandon DeRosier @bdero.bsky.social · 15/09/2026
The slicing is exact. Your swipe becomes a plane through the camera, animated enemies are posed on the CPU the same way the shader poses them, and the mesh splits right where you drew. The pieces become Rapier physics bodies.
100
Brandon DeRosier @bdero.bsky.social · 15/09/2026
Antigravity built a samurai cat slicing game with Flutter Scene :) Catana Dojo came out of my Bootstrap Forge agent harness, where every piece of the game has to pass its own test or image check before it lands.
241
Brandon DeRosier @bdero.bsky.social · 15/09/2026
It started as a stress test for the engine and turned into a playable showcase. Dynamic obstacles, coin pickups, shadowed outdoor lighting, a full gameplay loop, and Dash ragdolling. The capture tops out at 60 fps, the game runs at 120. fscene.dev
010
Brandon DeRosier @bdero.bsky.social · 15/09/2026
This endless runner was playable at flutterCon, and it's a vanilla Flutter app. :) Dashsurfers (...name subject to change) is a little 3D game built with Flutter Scene, running in real time at 120 fps on macOS. The rendering, the particles, the UI, all Flutter.
140
Brandon DeRosier @bdero.bsky.social · 13/09/2026
Part of ongoing experiments to make Scene better for agents. It ships six skills that work out of the box with the Dart team's new skills package. flutter pub add flutter_scene dart run skills@ get The goal is the easiest way to prototype games for every screen. fscene.dev
010
Brandon DeRosier @bdero.bsky.social · 13/09/2026
Antigravity built the HUD and drove the playtest iteration, where I'd play a build and hand my notes back. Concept art came from Nano Banana 2. A few effects here (the EMP distortion, the wireframe materialize) ship in 0.24.
100
Brandon DeRosier @bdero.bsky.social · 13/09/2026
~33k lines of game code and ~34k lines of tests. Yes, more tests than game. Every piece has to pass its own test or image check before it lands. 154 of the 180 commits are the harness logging a passing gate.
100
Brandon DeRosier @bdero.bsky.social · 13/09/2026
Flutter Scene is great for vibe coding. :) Verdant Protocol is a tower defense game built almost entirely by agents. Six tower types, spreading corruption, an EMP superweapon, rain, music-reactive visuals, and an AI narrator with opinions. "One hostile down. Statistically insignificant."
121
Brandon DeRosier @bdero.bsky.social · 02/09/2026
In Stockholm for Flutter & Friends. :) The Arlanda Express was so liminal (in a good way). See you soon.
1131
Brandon DeRosier @bdero.bsky.social · 27/08/2026
Source at github.com/bdero/flutter_scene
000
Brandon DeRosier @bdero.bsky.social · 27/08/2026
The physics playground uses Rapier through flutter_scene_rapier. The cloth demo code and every scene shown are in the example app. Learn more at fscene.dev.
100