utils/index library

Utility APIs for shader parsing, conversion, and asset/network loading.

Exports include:

Classes

ImageLoadResult
Result wrapper for asynchronous image loading.
ShaderConversionIssue
Conversion warning or error emitted while transforming source GLSL.
ShaderConversionOutput
Result object for one shader conversion run.
ShaderConverter
Converts Shadertoy-style GLSL into Flutter runtime effect shader source.
ShaderFloatProperty
Float uniform property descriptor generated by ShaderConverter.
ShaderProgramCache
Cache for compiled ui.FragmentProgram instances keyed by asset path.

Functions

loadFragmentProgram(String shaderPath) Future<FragmentProgram>
Loads a fragment program from an asset (cached).
loadImageAsset(String assetPath) Future<ImageLoadResult>
Loads and decodes an image asset for sampler uniforms.
loadImageNetwork(String url) Future<ImageLoadResult>
Loads and decodes an image from url for sampler uniforms.
loadJsonAsset(String path) Future<Map<String, dynamic>>
Loads a JSON object from bundled assets.
loadJsonNetwork(String url) Future<Map<String, dynamic>>
Loads a JSON object from an HTTP endpoint.
parseShaderUniforms(String shaderSource, {Map<String, dynamic>? propertiesJson}) ShaderUniformBindings
Parses all uniform declarations from a GLSL shader source string.
readShaderUniformsFromAsset(String filePath) Future<ShaderUniformBindings>
Reads a shader asset and returns all uniform declarations.
readShaderUniformsFromFile(String filePath) Future<ShaderUniformBindings>
Reads a shader file and returns all uniform declarations.