`simple_shader`: Utilise `flutter_shaders` (#1673)

pull/1683/head
Brett Morgan 3 years ago committed by GitHub
parent 64d10ca175
commit 5917d3515c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,7 @@
import 'dart:ui' as ui; import 'dart:ui' as ui;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_shaders/flutter_shaders.dart';
void main() { void main() {
runApp(const MyApp()); runApp(const MyApp());
@ -22,44 +23,26 @@ class MyApp extends StatelessWidget {
} }
} }
class MyHomePage extends StatefulWidget { class MyHomePage extends StatelessWidget {
const MyHomePage({super.key}); const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
late Future<ui.FragmentProgram> program;
@override
void initState() {
super.initState();
program = ui.FragmentProgram.fromAsset('shaders/simple.frag');
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: const Text('Simple Shader Demo'), title: const Text('Simple Shader Demo'),
), ),
body: FutureBuilder<ui.FragmentProgram>( body: ShaderBuilder(
future: program, assetKey: 'shaders/simple.frag',
builder: (context, snapshot) { (context, shader, child) => CustomPaint(
if (snapshot.hasData) { size: MediaQuery.of(context).size,
return CustomPaint( painter: ShaderPainter(
size: MediaQuery.of(context).size, shader: shader,
painter: ShaderPainter( ),
shader: snapshot.data!.fragmentShader(), ),
), child: const Center(
); child: CircularProgressIndicator(),
} ),
if (snapshot.hasError) {
return Center(child: Text('${snapshot.error}'));
}
return const Center(child: CircularProgressIndicator());
},
), ),
); );
} }

@ -9,6 +9,7 @@ environment:
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
flutter_shaders: ^0.0.6
dev_dependencies: dev_dependencies:
analysis_defaults: analysis_defaults:

Loading…
Cancel
Save