23 if (
out[0].hasoutput) {
27 if (
out[1].hasoutput) {
29 GPU_link(mat,
"node_attribute_density",
out[1].link, &
out[1].link);
31 if (
out[2].hasoutput) {
35 if (
out[3].hasoutput) {
37 GPU_link(mat,
"node_attribute_temperature",
out[3].link, &
out[3].link);
53 ntype.
ui_description =
"Read volume data attributes from volume grids";
56 ntype.
declare = file_ns::node_declare;
57 ntype.
gpu_fn = file_ns::node_shader_gpu_volume_info;
#define SH_NODE_VOLUME_INFO
GPUNodeLink * GPU_attribute(GPUMaterial *mat, eCustomDataType type, const char *name)
bool GPU_link(GPUMaterial *mat, const char *name,...)
void node_register_type(bNodeType &ntype)
static void node_declare(NodeDeclarationBuilder &b)
static int node_shader_gpu_volume_info(GPUMaterial *mat, bNode *, bNodeExecData *, GPUNodeStack *, GPUNodeStack *out)
void sh_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
void register_node_type_sh_volume_info()
std::string ui_description
NodeGPUExecFunction gpu_fn
const char * enum_name_legacy
NodeDeclareFunction declare