aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-02-02 10:16:56 +0000
committers-ol <s-ol@users.noreply.github.com>2020-02-02 10:16:56 +0000
commitdde1561c83b908b324faa649a6e300731969ad1d (patch)
treedecea2ef6122a506cbda6cb545e1245d1fbf569a /src
parentbetter config (diff)
downloadglsl-view-dde1561c83b908b324faa649a6e300731969ad1d.tar.gz
glsl-view-dde1561c83b908b324faa649a6e300731969ad1d.zip
support arrays and bare-lists for vectors
Diffstat (limited to 'src')
-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 {