software library
The software device's half of the material language: the stages that run
a material written as source on CpuDevice.
import 'package:flutter3d_app/software.dart';
A second entry point rather than more exports on the main barrel, for
the reason native.dart is one. MaterialProgramStage,
MaterialVertexStage and MaterialFullscreenStage are stages of the
software rasterizer, and naming them from the main barrel made its stage
interface (CpuFragmentShader, ShaderBindings, FragmentContext) part
of every application's import, so a change to how that rasterizer runs a
fragment would be a major release of this package. openDevice builds
them for a material on its own; a test or a tool that puts one into a
CpuShaderLibrary by hand imports this, and flutter3d_cpu beside it.
Classes
- MaterialFullscreenStage
-
A full-screen stage written in the language — version 2 — as the
software backend's fragment stage, behind its
FullscreenVertex. - MaterialProgramStage
- One compiled material, as a stage the software backend can be given.
- MaterialVertexStage
-
A material's
vertexblock as the software backend's vertex stage — version 2: the engine's mesh stage, or its skinned one, and then the block, as the emitted<name>Vertexand<name>VertexSkinnedrun it.
Functions
-
materialLanguageCompiler(
String stage, String source) → CpuStage -
A
CpuMaterialCompilerfor the engine's material language —P8: the source parsed and specialised at its declared defaults, as the build does for the GPU sections beside it, and run by MaterialProgramStage.