forked from blender/blender
MaterialX: Implement export of Input nodes #20
@ -77,6 +77,25 @@ static int node_shader_gpu_attribute(GPUMaterial *mat,
|
||||
return 1;
|
||||
}
|
||||
|
||||
NODE_SHADER_MATERIALX_BEGIN
|
||||
{
|
||||
/* TODO: some outputs expected be implemented within the next iteration (see nodedef
|
||||
* <geompropvalue>) */
|
||||
NodeItem res = val(MaterialX::Color4(1.0f, 0.0f, 1.0f, 1.0f));
|
||||
BogdanNagirniak marked this conversation as resolved
|
||||
if (STREQ(socket_out_->name, "Vector")) {
|
||||
res = val(MaterialX::Vector3(1.0f, 1.0f, 1.0f));
|
||||
}
|
||||
if (STREQ(socket_out_->name, "Factor")) {
|
||||
BogdanNagirniak marked this conversation as resolved
Outdated
Bogdan Nagirniak
commented
`else if`
|
||||
res = res.extract(3);
|
||||
}
|
||||
if (STREQ(socket_out_->name, "Alpha")) {
|
||||
res = res.extract(3);
|
||||
}
|
||||
BogdanNagirniak marked this conversation as resolved
Outdated
Bogdan Nagirniak
commented
add
add
```
else {
BLI_assert_unreachable();
}
```
|
||||
|
||||
return res;
|
||||
}
|
||||
NODE_SHADER_MATERIALX_END
|
||||
|
||||
} // namespace blender::nodes::node_shader_attribute_cc
|
||||
|
||||
/* node type definition */
|
||||
@ -93,6 +112,7 @@ void register_node_type_sh_attribute()
|
||||
node_type_storage(
|
||||
&ntype, "NodeShaderAttribute", node_free_standard_storage, node_copy_standard_storage);
|
||||
ntype.gpu_fn = file_ns::node_shader_gpu_attribute;
|
||||
ntype.materialx_fn = file_ns::node_shader_materialx;
|
||||
|
||||
nodeRegisterType(&ntype);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user
Start with
NodeItem res = empty();
add checkif (STREQ(socket_out_->name, "Color"))