rlSetUniform method
void
rlSetUniform(
- num locIndex,
- TypedDataList value,
- RlShaderUniformDataType uniformType,
- num count,
Set shader value uniform
Implementation
void rlSetUniform(
num locIndex,
TypedDataList value,
RlShaderUniformDataType uniformType,
num count,
) => run(
() => _debugLabels.rlSetUniform(locIndex, value, uniformType, count),
() {
final MemoryPointer ptr;
switch (uniformType) {
case .RL_SHADER_UNIFORM_FLOAT:
case .RL_SHADER_UNIFORM_VEC2:
case .RL_SHADER_UNIFORM_VEC3:
case .RL_SHADER_UNIFORM_VEC4:
ptr = $.Float32$.FromTypedData(value);
case .RL_SHADER_UNIFORM_INT:
case .RL_SHADER_UNIFORM_IVEC2:
case .RL_SHADER_UNIFORM_IVEC3:
case .RL_SHADER_UNIFORM_IVEC4:
case .RL_SHADER_UNIFORM_SAMPLER2D:
ptr = $.Int32$.FromTypedData(value);
case .RL_SHADER_UNIFORM_UINT:
case .RL_SHADER_UNIFORM_UIVEC2:
case .RL_SHADER_UNIFORM_UIVEC3:
case .RL_SHADER_UNIFORM_UIVEC4:
ptr = $.Uint32$.FromTypedData(value);
}
_flat.rlSetUniform(
locIndex.toInt(),
ptr.cast(),
uniformType.value,
count.toInt(),
);
},
);