diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2020-02-02 10:16:56 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2020-02-02 10:16:56 +0000 |
| commit | dde1561c83b908b324faa649a6e300731969ad1d (patch) | |
| tree | decea2ef6122a506cbda6cb545e1245d1fbf569a /src | |
| parent | better config (diff) | |
| download | glsl-view-dde1561c83b908b324faa649a6e300731969ad1d.tar.gz glsl-view-dde1561c83b908b324faa649a6e300731969ad1d.zip | |
support arrays and bare-lists for vectors
Diffstat (limited to 'src')
| -rw-r--r-- | src/control.zig | 18 |
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 { |
