fragmentShader property

Shader get fragmentShader

The fragment shader used when rendering geometry with this material.

Subclasses assign this in their constructor, either directly with setFragmentShader or, for a shader from baseShaderLibrary, by name with setFragmentShaderName. A name is resolved on first access and cached, so the lookup happens once (at render time) rather than per draw. Throws if accessed before a shader has been assigned, or before the base shader bundle has loaded for a named shader.

Implementation

gpu.Shader get fragmentShader {
  final resolved = _fragmentShader ??= _fragmentShaderName == null
      ? null
      : baseShaderLibrary[_fragmentShaderName!];
  if (resolved == null) {
    throw Exception('Fragment shader has not been set');
  }
  return resolved;
}