aboutsummaryrefslogtreecommitdiffstats
path: root/src/control.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/control.zig')
-rw-r--r--src/control.zig18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/control.zig b/src/control.zig
index b48feab..1f6c4ba 100644
--- a/src/control.zig
+++ b/src/control.zig
@@ -73,24 +73,30 @@ pub const ControlServer = struct {
if (self.cache.get(buffer[0 .. param_name.len + 1]) catch null) |uniform| {
if (std.mem.eql(u8, types, "f")) {
uniform.value.FLOAT = argv[0].*.f;
- } else if (std.mem.eql(u8, types, "ff")) {
+ } else if (std.mem.eql(u8, types, "[ff]")
+ or std.mem.eql(u8, types, "ff")) {
for (uniform.value.FLOAT_VEC2) |*dest, i|
dest.* = argv[i].*.f;
- } else if (std.mem.eql(u8, types, "fff")) {
+ } else if (std.mem.eql(u8, types, "[fff]")
+ or std.mem.eql(u8, types, "fff")) {
for (uniform.value.FLOAT_VEC3) |*dest, i|
dest.* = argv[i].*.f;
- } else if (std.mem.eql(u8, types, "ffff")) {
+ } else if (std.mem.eql(u8, types, "[ffff]")
+ or std.mem.eql(u8, types, "ffff")) {
for (uniform.value.FLOAT_VEC4) |*dest, i|
dest.* = argv[i].*.f;
} else if (std.mem.eql(u8, types, "i")) {
uniform.value.INT = argv[0].*.i;
- } else if (std.mem.eql(u8, types, "ii")) {
+ } else if (std.mem.eql(u8, types, "[ii]")
+ or std.mem.eql(u8, types, "ii")) {
for (uniform.value.INT_VEC2) |*dest, i|
dest.* = argv[i].*.i;
- } else if (std.mem.eql(u8, types, "iii")) {
+ } else if (std.mem.eql(u8, types, "[iii]")
+ or std.mem.eql(u8, types, "iii")) {
for (uniform.value.INT_VEC3) |*dest, i|
dest.* = argv[i].*.i;
- } else if (std.mem.eql(u8, types, "iiii")) {
+ } else if (std.mem.eql(u8, types, "[iiii]")
+ or std.mem.eql(u8, types, "iiii")) {
for (uniform.value.INT_VEC4) |*dest, i|
dest.* = argv[i].*.i;
} else {