Materials: support true float4 attributes in the Attribute node.

Add a new Alpha socket to the Attribute node that outputs the
fourth component of the attribute. Currently the only such
attribute is vertex color, but there may be more in the future.
If the attribute has no alpha channel, the expected value is 1.

The Cycles code is already refactored and committed by Brecht.

Ref D2057
This commit is contained in:
2020-08-04 17:56:39 +03:00
parent da93da45ee
commit 9bc177d8de
4 changed files with 15 additions and 6 deletions

View File

@@ -478,7 +478,7 @@ static void codegen_call_functions(DynStr *ds, GPUNodeGraph *graph, GPUOutput *f
BLI_dynstr_appendf(ds, "cons%d", input->id);
}
else if (input->source == GPU_SOURCE_ATTR) {
BLI_dynstr_appendf(ds, "var%d", input->attr->id);
codegen_convert_datatype(ds, input->attr->gputype, input->type, "var", input->attr->id);
}
BLI_dynstr_append(ds, ", ");