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, sunDirection, sunAngularRadius);
  _put3(info, 4, rayleighColor, rayleighCoefficient);
  _put3(info, 8, mieColor, mieCoefficient);
  info[12] = turbidity;
  info[13] = mieEccentricity;
  info[14] = energy;
  info[15] = 0.0;
  _put3(info, 16, groundColor, 1.0);
  setUniformBlock('PhysicalSkyInfo', _infoBytes);
  super.bind(pass, transientsBuffer, environment);
}