loadShader method
Loads a shader for the given mode
.
If the shader is already loaded, it returns the cached version.
Otherwise, it asynchronously loads and caches the shader.
Implementation
Future<FragmentShader> loadShader(ShaderMode mode) async {
assert(
isShaderFilterSupported,
'Shader filters are not supported on the current backend.',
);
if (shaders[mode] != null) return shaders[mode]!;
_loadingFuture ??= _loadShader(mode);
await _loadingFuture;
return shaders[mode]!;
}