getUniformFloat method

UniformFloatSlot getUniformFloat(
  1. String name, [
  2. int? index
])

Access the float binding for uniform named name with optional offset index. Example index values: 1 for 'foo.y', 2 for 'foo.b'.

Example:

uniform float uScale;
uniform sampler2D uTexture;
uniform vec2 uMagnitude;
uniform vec4 uColor;
void updateShader(ui.FragmentShader shader) {
  shader.getUniformFloat('uScale');
  shader.getUniformFloat('uMagnitude', 0);
  shader.getUniformFloat('uMagnitude', 1);
  shader.getUniformFloat('uColor', 0);
  shader.getUniformFloat('uColor', 1);
  shader.getUniformFloat('uColor', 2);
  shader.getUniformFloat('uColor', 3);
}

Implementation

UniformFloatSlot getUniformFloat(String name, [int? index]) {
  index ??= 0;
  final int shaderIndex = _program._getUniformFloatIndex(name, index);
  final result = UniformFloatSlot._(this, name, index, shaderIndex);
  _slots.removeWhere((WeakReference<UniformFloatSlot> ref) => ref.target == null);
  _slots.add(WeakReference<UniformFloatSlot>(result));
  return result;
}