From 8fbf213817675357ef5a47f16589adb95cda1b4f Mon Sep 17 00:00:00 2001 From: gaaclarke <30870216+gaaclarke@users.noreply.github.com> Date: Mon, 18 May 2026 11:15:05 -0700 Subject: [PATCH] Updated fragment shader sample to use uniform-by-name accessor (#2736) Do not land until the following are on stable: - https://github.com/flutter/flutter/pull/176728 - https://github.com/flutter/flutter/pull/176980 If you need help, consider asking for advice on the #hackers-devrel channel on [Discord]. --- simple_shader/lib/main.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/simple_shader/lib/main.dart b/simple_shader/lib/main.dart index dea7caa88..037eb69b4 100644 --- a/simple_shader/lib/main.dart +++ b/simple_shader/lib/main.dart @@ -44,13 +44,15 @@ class MyHomePage extends StatelessWidget { } class ShaderPainter extends CustomPainter { - ShaderPainter({required this.shader}); - ui.FragmentShader shader; + ShaderPainter({required this.shader}) + : _resolution = shader.getUniformVec2('resolution'); + + final ui.FragmentShader shader; + final ui.UniformVec2Slot _resolution; @override void paint(Canvas canvas, Size size) { - shader.setFloat(0, size.width); - shader.setFloat(1, size.height); + _resolution.set(size.width, size.height); final paint = Paint()..shader = shader; canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint);