shader_bundle library

The shader bundle container on its own, for a tool that runs on plain Dart.

flutter3d_hardware.dart reaches package:flutter through GraphicsDevice, and a program that packs a bundle — flutter3d_webgl's tool/pack_shaders.dart — is a dart run script that has no dart:ui to give it. The container names no graphics API and no Flutter, so it is exported alone here, the way testing.dart is a second entry point for a second kind of consumer. An application loading a bundle wants the whole library and the device with it; this is for the thing that writes one.

Classes

ShaderBundle
A loadable shader bundle: a name, the SDK it was compiled on, the stages it claims, and a compiled section per backend that needs one.
ShaderBundleStage
One entry point a bundle claims to hold.

Exceptions / Errors

ShaderBundleRefused
Raised when a device will not load a bundle, and says which and why.