getUniformFloat method
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 _UniformFloatInfo info = _program._getUniformFloatInfo(name);
IndexError.check(index, info.size, message: 'Index `$index` out of bounds for `$name`.');
final result = UniformFloatSlot._(this, name, index, info.index + index);
_slots.removeWhere((WeakReference<UniformFloatSlot> ref) => ref.target == null);
_slots.add(WeakReference<UniformFloatSlot>(result));
return result;
}