SetShaderValueV method
void
SetShaderValueV()
Set shader uniform value vector
Implementation
void SetShaderValueV(
ShaderD shader,
num locIndex,
List<num> value,
ShaderUniformDataType uniformType,
num count,
) => run(
() => _debugLabels.SetShaderValueV(shader, locIndex, value, uniformType, count),
() {
final ptr = switch (uniformType) {
.SHADER_UNIFORM_FLOAT ||
.SHADER_UNIFORM_VEC2 ||
.SHADER_UNIFORM_VEC3 ||
.SHADER_UNIFORM_VEC4 => $.Float32$.Array(value),
.SHADER_UNIFORM_INT ||
.SHADER_UNIFORM_IVEC2 ||
.SHADER_UNIFORM_IVEC3 ||
.SHADER_UNIFORM_IVEC4 => $.Int$.Array(value),
.SHADER_UNIFORM_UINT ||
.SHADER_UNIFORM_UIVEC2 ||
.SHADER_UNIFORM_UIVEC3 ||
.SHADER_UNIFORM_UIVEC4 => $.UnsignedInt$.Array(value),
.SHADER_UNIFORM_SAMPLER2D => $.Int$.Array(value),
};
_flat.SetShaderValueV(
shader,
locIndex.toInt(),
ptr.cast(),
uniformType.value,
count.toInt(),
);
},
);