bind method

  1. @override
void bind(
  1. RenderPass pass,
  2. TransientWriter transientsBuffer,
  3. EnvironmentMap environment
)
override

Binds the fragment's uniform blocks, textures, and (when useEnvironment) the environment IBL samplers. Called by the engine during the background draw; not part of the app-facing API.

Implementation

@override
void bind(
  gpu.RenderPass pass,
  TransientWriter transientsBuffer,
  EnvironmentMap environment,
) {
  final info = _info;
  _put3(info, 0, zenithColor, 1.0);
  _put3(info, 4, horizonColor, 1.0);
  _put3(info, 8, groundColor, 1.0);
  _put3(info, 12, sunDirection, sunSharpness);
  _put3(info, 16, sunColor, 1.0);
  setUniformBlock('GradientSkyInfo', _infoBytes);
  super.bind(pass, transientsBuffer, environment);
}