From 626c50477c4cd83fdd0358844246e88c4f267e81 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 4 Apr 2020 19:28:38 +1100 Subject: [PATCH] renderer: set null value on shader if no value was found in the table --- app/render/backend/opengl/openglproxy.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/render/backend/opengl/openglproxy.cpp b/app/render/backend/opengl/openglproxy.cpp index 3653a14bb..bf5151453 100644 --- a/app/render/backend/opengl/openglproxy.cpp +++ b/app/render/backend/opengl/openglproxy.cpp @@ -245,7 +245,17 @@ void OpenGLProxy::RunNodeAccelerated(const Node *node, const TimeRange &range, c NodeValue meta_value = node->InputValueFromTable(input, input_params); const QVariant& value = meta_value.data(); - switch (meta_value.type()) { + NodeParam::DataType data_type; + + if (meta_value.type() != NodeParam::kNone) { + // Use value's data type + data_type = meta_value.type(); + } else { + // Fallback on null value, send the null to the parameter + data_type = input->data_type(); + } + + switch (data_type) { case NodeInput::kInt: shader->setUniformValue(variable_location, value.toInt()); break;