rlSetUniform method
void
rlSetUniform(
- num locIndex,
- TypedDataList value,
- RlShaderUniformDataType uniformType,
- num count,
override
Implementation
@override
void rlSetUniform(
num locIndex,
TypedDataList value,
RlShaderUniformDataType uniformType,
num count,
) => run(
() => RaylibDebugLabels.rlSetUniform(locIndex, value, uniformType, count),
() {
final Pointer<Void> ptr;
switch (uniformType) {
case .RL_SHADER_UNIFORM_FLOAT:
case .RL_SHADER_UNIFORM_VEC2:
case .RL_SHADER_UNIFORM_VEC3:
case .RL_SHADER_UNIFORM_VEC4:
ptr = rl.Temp.Float32$.FromTypedData(value).cast();
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 = rl.Temp.Int32$.FromTypedData(value).cast();
case .RL_SHADER_UNIFORM_UINT:
case .RL_SHADER_UNIFORM_UIVEC2:
case .RL_SHADER_UNIFORM_UIVEC3:
case .RL_SHADER_UNIFORM_UIVEC4:
ptr = rl.Temp.Uint32$.FromTypedData(value).cast();
}
rl.Rlgl.rlSetUniform(
locIndex.toInt(),
ptr,
uniformType.value,
count.toInt(),
);
},
);