Loading video...

Video Failed to Load

Go Home

This is rendered by Flutter 3.47 Stable using Flutter GPU via the flutter_scene package. macOS, Linux, Windows, iOS, Android, Web, and custom embedders. Today. :) No forks, no platform views, no external renderers, no secondary graphics context. It's vanilla Flutter. Each pass is a custom material over geometry derived...

29,831 views • 1 month ago •via X (Twitter)

26 Comments

Brandon DeRosier's profile picture
Brandon DeRosier1 month ago

This is the "materialize" example in the repository.

Clément's profile picture
Clément1 month ago

Long time ago, I wanted to render 3d charts. Would it be possible to render a 3d scatter plot?

Brandon DeRosier's profile picture
Brandon DeRosier1 month ago

Definitely. You can render arbitrary things with Flutter GPU

MemoriasIT 💙's profile picture
MemoriasIT 💙1 month ago

Finally some competition for @jezell's demos 😄

AI Mastery Guide's profile picture
AI Mastery Guide1 month ago

Vanilla Flutter pulling this off with no forks is impressive

Allan - App Developer's profile picture
Allan - App Developer1 month ago

would be cool to see how far you could take realistic lighting effects

Paul Thomas 💙's profile picture
Paul Thomas 💙1 month ago

Looks great! Amazed at the level of support for all kinds of stuff, it's a proper AAA framework. Do you think we will be able to use custom vertex and fragment shaders at this level, or should we be looking at Flutter GPU for that?

Brandon DeRosier's profile picture
Brandon DeRosier1 month ago

Yes, Flutter Scene's material system supports custom vertex and fragment shaders. And you can arbitrarily extend a model's vertex data with new attributes. That's how the glass shards work in this demo. :) This is the managed material format: There's also a fully "unmanaged" material type that lets you write raw engine shaders directly without any codegen, but it's much harder to use and almost no one should ever need it, as the managed material system is already quite flexible.

Paul Thomas 💙's profile picture
Paul Thomas 💙1 month ago

Agree the managed material is really nice. Anything to keep things at a high level, but was just wondering how to get the effect of glPolygonOffset, adjust a transformed z coordinate to be slightly closer without changing x and y? Is gl_FragDepth supported in a custom material?

Brandon DeRosier's profile picture
Brandon DeRosier1 month ago

What kind of effect are you trying to achieve? You do have access to gl_FragDepth yes. But in the vertex stage you also have access to camera properties and could e.g. interpolate vertices towards the camera if that's what you're trying to do.

Paul Thomas 💙's profile picture
Paul Thomas 💙1 month ago

I'd like to port my line renderer from cpu to gpu, at the moment it clips lines against every face on a 2D canvas. I could draw faces on the gpu in the bg colour and draw lines on top with z offset, using the z buffer in the usual way to sort depth...

Paul Thomas 💙's profile picture
Paul Thomas 💙1 month ago

...which from what you are saying should be already possible with fscene. Very much looking forward to giving it a try 👍

Emmanuel Onyeji🧑‍💻🫰🔥's profile picture
Emmanuel Onyeji🧑‍💻🫰🔥1 month ago

Now to just recreate the body like halo and create a crazy kick ass shooter platformer game Well done btw 🔥🔥🔥

FlutterFlow's profile picture
FlutterFlow1 month ago

LETS GOOO FLUTTER

Jason Holt's profile picture
Jason Holt1 month ago

3.47 stable you say?!

Brandon DeRosier's profile picture
Brandon DeRosier1 month ago

Yes!

Marcus ₿urelius's profile picture
Marcus ₿urelius1 month ago

That's sick. Great work.

Abraham 🖥️☕'s profile picture
Abraham 🖥️☕1 month ago

Cool

wordfreak's profile picture
wordfreak1 month ago

would have been much easier using this gpu to make this?

Simon 🦊💙's profile picture
Simon 🦊💙1 month ago

Have you tried with Impeller on Asahi Linux (running on Apple Silicon)? I'd love to see if it's running well there.

Lars Vogel's profile picture
Lars Vogel1 month ago

Your docs say otherwise: "Rendering is built on Flutter GPU, which hasn't shipped to the stable channel yet, so Flutter Scene requires the Flutter master channel."

sofie s's profile picture
sofie s1 month ago

"Vanilla Flutter" but it depends on flutter_scene and experimental GPU APIs? How does it handle WebGL-only browsers or older devices?

Vitaliy Podolskiy's profile picture
Vitaliy Podolskiy1 month ago

The portability test is not “does it render once?” It’s: same scene graph, golden output per backend, input-latency budget, and a deliberate escape hatch for platform-specific rendering when the abstraction starts lying.

Luis Gamas's profile picture
Luis Gamas1 month ago

Seeing the same rendering path across desktop, mobile, web, and custom embedders is genuinely exciting. Flutter GPU is starting to unlock some very different kinds of apps

Tom Vogel's profile picture
Tom Vogel1 month ago

Feels unreal that this is Flutter for me

Sivaram SS's profile picture
Sivaram SS1 month ago

Looks great. Are the glows HDR ?

Related Videos