loadShader method
Loads and compiles the GLSL shader.
This method should be called before painting. It handles shader compilation and provides error handling for compilation failures.
Implementation
Future<void> loadShader() async {
if (_fragmentShader != null) return;
try {
// Load shader using FragmentProgram (modern approach)
FragmentProgram program = await FragmentProgram.fromAsset(
'packages/flutter_shader_fx/shaders/$shaderPath',
);
_fragmentShader = program.fragmentShader();
} catch (e) {
// Log error but don't crash - fall back to solid color
log('Failed to compile shader $shaderPath: $e');
_fragmentShader = null;
}
}