fragmentShaderForLighting method
Selects this material's fragment shader for the frame lighting state.
Implementation
@override
gpu.Shader fragmentShaderForLighting(Lighting lighting) {
final shadow = lighting.shadowMap != null;
// The layout variant wins over the shadow one: a shadow variant in the
// wrong layout would be handed a texture its sampler cannot read, while
// dropping the shadow variant only loses the shadow term.
if (usesRadianceCubeVariant(lighting)) {
return shadow
? (_cubeShadowFragmentShader ?? _cubeFragmentShader!)
: _cubeFragmentShader!;
}
return shadow ? (_shadowFragmentShader ?? fragmentShader) : fragmentShader;
}