From 49b5a23d4720127611623cd1e29142ca9aa63731 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Mon, 13 Oct 2025 16:37:54 -0700 Subject: [PATCH 1/2] Updated fragment shader sample to use uniform-by-name accessor --- simple_shader/lib/main.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/simple_shader/lib/main.dart b/simple_shader/lib/main.dart index e314f91bfe0..e12f4ef5a93 100644 --- a/simple_shader/lib/main.dart +++ b/simple_shader/lib/main.dart @@ -40,13 +40,18 @@ class MyHomePage extends StatelessWidget { } class ShaderPainter extends CustomPainter { - ShaderPainter({required this.shader}); - ui.FragmentShader shader; + ShaderPainter({required this.shader}) + : _width = shader.getUniformFloat('resolution', 0), + _height = shader.getUniformFloat('resolution', 1); + + final ui.FragmentShader shader; + final ui.UniformFloatSlot _width; + final ui.UniformFloatSlot _height; @override void paint(Canvas canvas, Size size) { - shader.setFloat(0, size.width); - shader.setFloat(1, size.height); + _width.set(size.width); + _height.set(size.height); final paint = Paint()..shader = shader; canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint); From 941a0c42d5486dd9a09aad6aafbac921c18cae1e Mon Sep 17 00:00:00 2001 From: Evan Walley Date: Thu, 14 May 2026 14:35:40 -0700 Subject: [PATCH 2/2] use getUniformVec2 --- simple_shader/lib/main.dart | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/simple_shader/lib/main.dart b/simple_shader/lib/main.dart index 38d2b117063..037eb69b4c9 100644 --- a/simple_shader/lib/main.dart +++ b/simple_shader/lib/main.dart @@ -45,17 +45,14 @@ class MyHomePage extends StatelessWidget { class ShaderPainter extends CustomPainter { ShaderPainter({required this.shader}) - : _width = shader.getUniformFloat('resolution', 0), - _height = shader.getUniformFloat('resolution', 1); + : _resolution = shader.getUniformVec2('resolution'); final ui.FragmentShader shader; - final ui.UniformFloatSlot _width; - final ui.UniformFloatSlot _height; + final ui.UniformVec2Slot _resolution; @override void paint(Canvas canvas, Size size) { - _width.set(size.width); - _height.set(size.height); + _resolution.set(size.width, size.height); final paint = Paint()..shader = shader; canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint);