Skip to content

Commit 8fbf213

Browse files
authored
Updated fragment shader sample to use uniform-by-name accessor (#2736)
Do not land until the following are on stable: - flutter/flutter#176728 - flutter/flutter#176980 If you need help, consider asking for advice on the #hackers-devrel channel on [Discord].
1 parent 7f2fc70 commit 8fbf213

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

simple_shader/lib/main.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,15 @@ class MyHomePage extends StatelessWidget {
4444
}
4545

4646
class ShaderPainter extends CustomPainter {
47-
ShaderPainter({required this.shader});
48-
ui.FragmentShader shader;
47+
ShaderPainter({required this.shader})
48+
: _resolution = shader.getUniformVec2('resolution');
49+
50+
final ui.FragmentShader shader;
51+
final ui.UniformVec2Slot _resolution;
4952

5053
@override
5154
void paint(Canvas canvas, Size size) {
52-
shader.setFloat(0, size.width);
53-
shader.setFloat(1, size.height);
55+
_resolution.set(size.width, size.height);
5456

5557
final paint = Paint()..shader = shader;
5658
canvas.drawRect(Rect.fromLTWH(0, 0, size.width, size.height), paint);

0 commit comments

Comments
 (0)