Blender V4.3
NOD_register.hh File Reference

Go to the source code of this file.

Macros

#define NOD_REGISTER_NODE(REGISTER_FUNC)
 

Functions

void register_nodes ()
 
void register_node_type_frame ()
 
void register_node_type_reroute ()
 
void register_node_type_group_input ()
 
void register_node_type_group_output ()
 
void register_composite_nodes ()
 
void register_function_nodes ()
 
void register_geometry_nodes ()
 
void register_shader_nodes ()
 
void register_texture_nodes ()
 

Macro Definition Documentation

◆ NOD_REGISTER_NODE

#define NOD_REGISTER_NODE ( REGISTER_FUNC)
Value:
void REGISTER_FUNC##_discover(); \
void REGISTER_FUNC##_discover() \
{ \
REGISTER_FUNC(); \
}

This macro has three purposes:

  • It serves as marker in source code that discover_nodes.py can search for to find nodes that need to be registered. This script generates code that calls the register functions of all nodes.
  • It creates a non-static wrapper function for the registration function that is then called by the generated code. This wrapper is necessary because the normal registration is static and can't be called from somewhere else. It could be made non-static, but then it would require a declaration to avoid warnings.
  • It reduces the amount of "magic" with how node registration works. The script could also search for node_register functions directly, but then it would not be apparent in the code that anything unusual is going on.

Definition at line 34 of file NOD_register.hh.

Function Documentation

◆ register_composite_nodes()

void register_composite_nodes ( )

Definition at line 9 of file node_composite_register.cc.

References register_node_tree_type_cmp(), register_node_type_cmp_alphaover(), register_node_type_cmp_antialiasing(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_bokehblur(), register_node_type_cmp_bokehimage(), register_node_type_cmp_boxmask(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_colorcorrection(), register_node_type_cmp_combhsva(), register_node_type_cmp_combine_color(), register_node_type_cmp_combine_xyz(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_convert_color_space(), register_node_type_cmp_cornerpin(), register_node_type_cmp_crop(), register_node_type_cmp_cryptomatte(), register_node_type_cmp_cryptomatte_legacy(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_denoise(), register_node_type_cmp_despeckle(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_ellipsemask(), register_node_type_cmp_exposure(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_inpaint(), register_node_type_cmp_invert(), register_node_type_cmp_keying(), register_node_type_cmp_keyingscreen(), register_node_type_cmp_kuwahara(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_range(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_mask(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_pixelate(), register_node_type_cmp_planetrackdeform(), register_node_type_cmp_posterize(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_scene_time(), register_node_type_cmp_separate_color(), register_node_type_cmp_separate_xyz(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_split(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_sunbeams(), register_node_type_cmp_switch(), register_node_type_cmp_switch_view(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_trackpos(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), and register_node_type_cmp_zcombine().

Referenced by register_nodes().

◆ register_function_nodes()

void register_function_nodes ( )

Referenced by register_nodes().

◆ register_geometry_nodes()

void register_geometry_nodes ( )

Referenced by register_nodes().

◆ register_node_type_frame()

◆ register_node_type_group_input()

◆ register_node_type_group_output()

◆ register_node_type_reroute()

◆ register_nodes()

◆ register_shader_nodes()

void register_shader_nodes ( )

Definition at line 9 of file node_shader_register.cc.

References register_node_tree_type_sh(), register_node_type_sh_add_shader(), register_node_type_sh_ambient_occlusion(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bevel(), register_node_type_sh_blackbody(), register_node_type_sh_brightcontrast(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_hair(), register_node_type_sh_bsdf_hair_principled(), register_node_type_sh_bsdf_metallic(), register_node_type_sh_bsdf_principled(), register_node_type_sh_bsdf_ray_portal(), register_node_type_sh_bsdf_refraction(), register_node_type_sh_bsdf_sheen(), register_node_type_sh_bsdf_toon(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bump(), register_node_type_sh_camera(), register_node_type_sh_clamp(), register_node_type_sh_combcolor(), register_node_type_sh_combhsv(), register_node_type_sh_combrgb(), register_node_type_sh_combxyz(), register_node_type_sh_curve_float(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_displacement(), register_node_type_sh_eevee_specular(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_hair_info(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_falloff(), register_node_type_sh_light_path(), register_node_type_sh_map_range(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gabor(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), register_node_type_sh_vector_rotate(), register_node_type_sh_vertex_color(), register_node_type_sh_volume_absorption(), register_node_type_sh_volume_info(), register_node_type_sh_volume_principled(), register_node_type_sh_volume_scatter(), register_node_type_sh_wavelength(), and register_node_type_sh_wireframe().

Referenced by register_nodes().

◆ register_texture_nodes()