Implementation
const Map<String, ({Set<String> blocks, Set<String> samplers})>
stageBindings = <String, ({Set<String> blocks, Set<String> samplers})>{
'BlinnPhong': (
blocks: <String>{
'FogInfo',
'FragInfo',
'IrradianceInfo',
'LightListInfo',
'PointShadow',
},
samplers: <String>{
'base_color_texture',
'emissive_texture',
'irradiance_texture',
'light_list_texture',
'lightmap_texture',
'metallic_roughness_texture',
'normal_texture',
'occlusion_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
},
),
'BloomDownsample': (
blocks: <String>{'BloomInfo'},
samplers: <String>{'source_texture'},
),
'BloomThreshold': (
blocks: <String>{'BloomInfo'},
samplers: <String>{'source_texture'},
),
'BloomUpsample': (
blocks: <String>{'BloomInfo'},
samplers: <String>{'source_texture'},
),
'CameraVelocity': (
blocks: <String>{'CameraVelocityInfo'},
samplers: <String>{'surface_texture'},
),
'Composite': (
blocks: <String>{'CompositeInfo', 'FragCoordInfo'},
samplers: <String>{
'ao_texture',
'bloom_texture',
'contact_shadow_texture',
'display_texture',
'local_exposure_texture',
'lut_texture',
'scene_texture',
},
),
'ContactShadow': (
blocks: <String>{'ContactShadowInfo', 'FragCoordInfo', 'NoiseInfo'},
samplers: <String>{'blue_noise_texture', 'surface_texture'},
),
'ContactShadowResolve': (
blocks: <String>{'ContactShadowResolveInfo'},
samplers: <String>{'contact_shadow_texture', 'surface_texture'},
),
'DebugLine': (blocks: <String>{}, samplers: <String>{}),
'DebugLineVertex': (blocks: <String>{'LineInfo'}, samplers: <String>{}),
'DepthOfField': (
blocks: <String>{'DofInfo', 'FragCoordInfo'},
samplers: <String>{'coc_tile_texture', 'scene_texture', 'surface_texture'},
),
'DepthPyramid': (
blocks: <String>{'DepthPyramidInfo'},
samplers: <String>{'surface_texture'},
),
'DofTileMax': (
blocks: <String>{'DofTileInfo'},
samplers: <String>{'surface_texture'},
),
'Easu': (
blocks: <String>{'EasuInfo', 'FragCoordInfo'},
samplers: <String>{'source_texture'},
),
'EvsmFilter': (
blocks: <String>{'EvsmFilterInfo'},
samplers: <String>{'evsm_source'},
),
'FieldDecay': (
blocks: <String>{'FieldDecayInfo'},
samplers: <String>{'field_texture'},
),
'FullscreenVertex': (blocks: <String>{}, samplers: <String>{}),
'Fxaa': (blocks: <String>{'FxaaInfo'}, samplers: <String>{'source_texture'}),
'Impostor': (
blocks: <String>{'FogInfo', 'FragInfo', 'LightListInfo', 'PointShadow'},
samplers: <String>{
'base_color_texture',
'light_list_texture',
'normal_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
},
),
'ImpostorVertex': (blocks: <String>{'FrameInfo'}, samplers: <String>{}),
'IrradianceConvolve': (
blocks: <String>{'ConvolveInfo'},
samplers: <String>{
'field_texture',
'radiance_texture',
'seed_texture',
'surface_texture',
},
),
'Lambert': (
blocks: <String>{
'FogInfo',
'FragInfo',
'IrradianceInfo',
'LightListInfo',
'PointShadow',
},
samplers: <String>{
'base_color_texture',
'emissive_texture',
'irradiance_texture',
'light_list_texture',
'lightmap_texture',
'normal_texture',
'occlusion_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
},
),
'LightShafts': (
blocks: <String>{'FragCoordInfo', 'NoiseInfo', 'ShaftInfo'},
samplers: <String>{
'blue_noise_texture',
'scene_texture',
'shadow_texture',
'surface_texture',
},
),
'LocalExposure': (
blocks: <String>{'LocalExposureInfo'},
samplers: <String>{'scene_texture'},
),
'LocalExposureBlur': (
blocks: <String>{'LocalExposureBlurInfo'},
samplers: <String>{'weight_texture'},
),
'Luminance': (
blocks: <String>{'LuminanceInfo'},
samplers: <String>{'scene_texture'},
),
'MeshInstancedVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo', 'MorphInstanceInfo'},
samplers: <String>{'morph_instance_weights', 'morph_texture'},
),
'MeshLightmappedVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo'},
samplers: <String>{'morph_texture'},
),
'MeshSkinnedVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo', 'SkinInfo'},
samplers: <String>{'morph_texture'},
),
'MeshVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo'},
samplers: <String>{'morph_texture'},
),
'MotionBlur': (
blocks: <String>{'FragCoordInfo', 'MotionBlurInfo', 'NoiseInfo'},
samplers: <String>{
'blue_noise_texture',
'neighbor_texture',
'scene_texture',
'surface_texture',
'velocity_texture',
},
),
'MrtProbe': (blocks: <String>{}, samplers: <String>{}),
'Normals': (blocks: <String>{'FogInfo'}, samplers: <String>{}),
'ObjectId': (
blocks: <String>{'IdInfo'},
samplers: <String>{'base_color_texture'},
),
'Particle': (blocks: <String>{'FogInfo'}, samplers: <String>{}),
'ParticleMesh': (blocks: <String>{'FogInfo'}, samplers: <String>{}),
'ParticleMeshVertex': (
blocks: <String>{'ParticleMeshInfo'},
samplers: <String>{},
),
'ParticleSixWay': (
blocks: <String>{
'ContributorLightInfo',
'FogInfo',
'LightListInfo',
'SixWayInfo',
},
samplers: <String>{
'light_list_texture',
'six_way_negative',
'six_way_positive',
},
),
'ParticleSixWaySoft': (
blocks: <String>{
'ContributorLightInfo',
'FogInfo',
'LightListInfo',
'SixWayInfo',
'SoftParticleInfo',
},
samplers: <String>{
'light_list_texture',
'scene_depth_texture',
'six_way_negative',
'six_way_positive',
},
),
'ParticleSoft': (
blocks: <String>{'FogInfo', 'SoftParticleInfo'},
samplers: <String>{'scene_depth_texture'},
),
'ParticleTextured': (
blocks: <String>{'FogInfo'},
samplers: <String>{'particle_texture'},
),
'ParticleTexturedSoft': (
blocks: <String>{'FogInfo', 'SoftParticleInfo'},
samplers: <String>{'particle_texture', 'scene_depth_texture'},
),
'ParticleVertex': (blocks: <String>{'ParticleInfo'}, samplers: <String>{}),
'Pbr': (
blocks: <String>{
'FogInfo',
'FragInfo',
'IrradianceInfo',
'LightListInfo',
'PointShadow',
},
samplers: <String>{
'base_color_texture',
'emissive_texture',
'environment_texture',
'irradiance_texture',
'light_list_texture',
'lightmap_texture',
'ltc_texture',
'metallic_roughness_texture',
'normal_texture',
'occlusion_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
},
),
'PbrLayered': (
blocks: <String>{
'FogInfo',
'FragInfo',
'IrradianceInfo',
'LayerInfo',
'LightListInfo',
'PointShadow',
},
samplers: <String>{
'base_color_texture',
'coat_texture',
'emissive_texture',
'environment_texture',
'irradiance_texture',
'light_list_texture',
'lightmap_texture',
'ltc_texture',
'metallic_roughness_texture',
'normal_texture',
'occlusion_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'scene_colour_texture',
'shadow_texture',
'sheen_texture',
},
),
'PolylineVertex': (
blocks: <String>{'FrameInfo', 'MaterialParams'},
samplers: <String>{},
),
'ProbePrefilter': (
blocks: <String>{'ProbeInfo'},
samplers: <String>{'capture_texture'},
),
'Reactive': (
blocks: <String>{'ReactiveInfo'},
samplers: <String>{'surface_texture'},
),
'ReactiveSprite': (
blocks: <String>{'ReactiveInfo'},
samplers: <String>{'sprite_texture', 'surface_texture'},
),
'Reflections': (
blocks: <String>{'FragCoordInfo', 'NoiseInfo', 'ReflectionInfo'},
samplers: <String>{
'blue_noise_texture',
'environment_texture',
'scene_texture',
'surface_texture',
},
),
'SceneColourCopy': (
blocks: <String>{'SceneCopyInfo'},
samplers: <String>{'source_texture'},
),
'ShadowCopy': (
blocks: <String>{'ShadowCopyInfo'},
samplers: <String>{'static_shadow_texture'},
),
'ShadowDepth': (blocks: <String>{}, samplers: <String>{}),
'ShadowDepthMasked': (
blocks: <String>{'MaskInfo'},
samplers: <String>{'base_color_texture'},
),
'ShadowDistance': (blocks: <String>{'ShadowLight'}, samplers: <String>{}),
'ShadowDistanceMasked': (
blocks: <String>{'MaskInfo', 'ShadowLight'},
samplers: <String>{'base_color_texture'},
),
'ShadowTileReset': (blocks: <String>{}, samplers: <String>{}),
'ShadowTileResetVertex': (blocks: <String>{}, samplers: <String>{}),
'Sky': (blocks: <String>{}, samplers: <String>{}),
'SkyCube': (blocks: <String>{}, samplers: <String>{'sky_texture'}),
'SkyCubeVertex': (blocks: <String>{}, samplers: <String>{}),
'SkyVertex': (blocks: <String>{}, samplers: <String>{}),
'Splat': (blocks: <String>{'FogInfo'}, samplers: <String>{}),
'SplatHashed': (
blocks: <String>{'FogInfo', 'SplatHashInfo'},
samplers: <String>{'blue_noise_texture'},
),
'Ssao': (
blocks: <String>{'NoiseInfo', 'SsaoInfo'},
samplers: <String>{
'albedo_texture',
'blue_noise_texture',
'scene_texture',
'surface_texture',
},
),
'SsaoBlur': (
blocks: <String>{'SsaoBlurInfo'},
samplers: <String>{'ao_texture', 'surface_texture'},
),
'TemporalAccumulate': (
blocks: <String>{'AccumulateInfo'},
samplers: <String>{
'current_texture',
'history_texture',
'velocity_texture',
},
),
'TemporalResolve': (
blocks: <String>{'TemporalInfo'},
samplers: <String>{
'history_texture',
'scene_texture',
'surface_texture',
'velocity_texture',
},
),
'Toon': (
blocks: <String>{
'FogInfo',
'FragInfo',
'IrradianceInfo',
'LightListInfo',
'PointShadow',
},
samplers: <String>{
'base_color_texture',
'emissive_texture',
'irradiance_texture',
'light_list_texture',
'lightmap_texture',
'metallic_roughness_texture',
'normal_texture',
'occlusion_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
},
),
'Unlit': (
blocks: <String>{'FogInfo', 'FragInfo'},
samplers: <String>{'base_color_texture'},
),
'Velocity': (
blocks: <String>{'VelocityInfo'},
samplers: <String>{'surface_texture'},
),
'VelocityInstancedVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo', 'PrevFrameInfo'},
samplers: <String>{'morph_texture'},
),
'VelocityNeighborMax': (
blocks: <String>{'NeighborMaxInfo'},
samplers: <String>{'tile_texture'},
),
'VelocitySkinnedVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo', 'PrevFrameInfo', 'SkinInfo'},
samplers: <String>{'morph_texture', 'prev_joint_texture'},
),
'VelocityTileMax': (
blocks: <String>{'TileMaxInfo'},
samplers: <String>{'velocity_texture'},
),
'VelocityVertex': (
blocks: <String>{'FrameInfo', 'MorphInfo', 'PrevFrameInfo'},
samplers: <String>{'morph_texture'},
),
'VertexTextureProbe': (blocks: <String>{}, samplers: <String>{}),
'VertexTextureProbeVertex': (
blocks: <String>{'ProbeInfo'},
samplers: <String>{'probe_texture'},
),
'ViewportShade': (
blocks: <String>{'ShadeInfo'},
samplers: <String>{'scene_texture', 'surface_texture'},
),
'VolumetricFog': (
blocks: <String>{
'FragCoordInfo',
'NoiseInfo',
'PointShadow',
'VolumeFogInfo',
},
samplers: <String>{
'blue_noise_texture',
'light_list_texture',
'point_shadow_static_texture',
'point_shadow_texture',
'shadow_texture',
'surface_texture',
},
),
'VolumetricFogUpsample': (
blocks: <String>{'FogUpsampleInfo'},
samplers: <String>{
'ao_texture',
'contact_shadow_texture',
'fog_texture',
'scene_texture',
'surface_texture',
},
),
'WboitResolve': (
blocks: <String>{},
samplers: <String>{'accumulation_texture', 'revealage_texture'},
),
'Xray': (
blocks: <String>{'FogInfo', 'FragInfo'},
samplers: <String>{'base_color_texture'},
),
};