Nodes: move node registration to nodes module

The main goal here is to move towards more self contained node
definitions. Previously, one would have to change `blenkernel` to
add a new node which is not necessary anymore. There is no need
for all these register functions to "leak out" of the nodes module.

Differential Revision: https://developer.blender.org/D16612
This commit is contained in:
Jacques Lucke 2022-11-26 13:20:18 +01:00
parent 8d269a2488
commit 86ade3df56
32 changed files with 1003 additions and 964 deletions

View File

@ -1568,6 +1568,7 @@ struct TexResult;
void BKE_node_system_init(void);
void BKE_node_system_exit(void);
extern bNodeTreeType NodeTreeTypeUndefined;
extern struct bNodeType NodeTypeUndefined;
extern struct bNodeSocketType NodeSocketTypeUndefined;

View File

@ -71,10 +71,10 @@
#include "NOD_common.h"
#include "NOD_composite.h"
#include "NOD_function.h"
#include "NOD_geometry.h"
#include "NOD_geometry_nodes_lazy_function.hh"
#include "NOD_node_declaration.hh"
#include "NOD_register.hh"
#include "NOD_shader.h"
#include "NOD_socket.h"
#include "NOD_texture.h"
@ -106,7 +106,7 @@ using blender::nodes::OutputSocketFieldType;
using blender::nodes::SocketDeclaration;
/* Fallback types for undefined tree, nodes, sockets */
static bNodeTreeType NodeTreeTypeUndefined;
bNodeTreeType NodeTreeTypeUndefined;
bNodeType NodeTypeUndefined;
bNodeSocketType NodeSocketTypeUndefined;
@ -4194,510 +4194,13 @@ void node_type_storage(bNodeType *ntype,
ntype->freefunc = freefunc;
}
/* callbacks for undefined types */
static bool node_undefined_poll(bNodeType * /*ntype*/,
bNodeTree * /*nodetree*/,
const char ** /*r_disabled_hint*/)
{
/* this type can not be added deliberately, it's just a placeholder */
return false;
}
/* register fallback types used for undefined tree, nodes, sockets */
static void register_undefined_types()
{
/* NOTE: these types are not registered in the type hashes,
* they are just used as placeholders in case the actual types are not registered.
*/
NodeTreeTypeUndefined.type = NTREE_UNDEFINED;
strcpy(NodeTreeTypeUndefined.idname, "NodeTreeUndefined");
strcpy(NodeTreeTypeUndefined.ui_name, N_("Undefined"));
strcpy(NodeTreeTypeUndefined.ui_description, N_("Undefined Node Tree Type"));
node_type_base_custom(&NodeTypeUndefined, "NodeUndefined", "Undefined", 0);
NodeTypeUndefined.poll = node_undefined_poll;
BLI_strncpy(NodeSocketTypeUndefined.idname,
"NodeSocketUndefined",
sizeof(NodeSocketTypeUndefined.idname));
/* extra type info for standard socket types */
NodeSocketTypeUndefined.type = SOCK_CUSTOM;
NodeSocketTypeUndefined.subtype = PROP_NONE;
NodeSocketTypeUndefined.use_link_limits_of_type = true;
NodeSocketTypeUndefined.input_link_limit = 0xFFF;
NodeSocketTypeUndefined.output_link_limit = 0xFFF;
}
static void registerCompositNodes()
{
register_node_type_cmp_group();
register_node_type_cmp_rlayers();
register_node_type_cmp_image();
register_node_type_cmp_texture();
register_node_type_cmp_value();
register_node_type_cmp_rgb();
register_node_type_cmp_curve_time();
register_node_type_cmp_scene_time();
register_node_type_cmp_movieclip();
register_node_type_cmp_composite();
register_node_type_cmp_viewer();
register_node_type_cmp_splitviewer();
register_node_type_cmp_output_file();
register_node_type_cmp_view_levels();
register_node_type_cmp_curve_rgb();
register_node_type_cmp_mix_rgb();
register_node_type_cmp_hue_sat();
register_node_type_cmp_brightcontrast();
register_node_type_cmp_gamma();
register_node_type_cmp_exposure();
register_node_type_cmp_invert();
register_node_type_cmp_alphaover();
register_node_type_cmp_zcombine();
register_node_type_cmp_colorbalance();
register_node_type_cmp_huecorrect();
register_node_type_cmp_normal();
register_node_type_cmp_curve_vec();
register_node_type_cmp_map_value();
register_node_type_cmp_map_range();
register_node_type_cmp_normalize();
register_node_type_cmp_filter();
register_node_type_cmp_blur();
register_node_type_cmp_dblur();
register_node_type_cmp_bilateralblur();
register_node_type_cmp_vecblur();
register_node_type_cmp_dilateerode();
register_node_type_cmp_inpaint();
register_node_type_cmp_despeckle();
register_node_type_cmp_defocus();
register_node_type_cmp_posterize();
register_node_type_cmp_sunbeams();
register_node_type_cmp_denoise();
register_node_type_cmp_antialiasing();
register_node_type_cmp_convert_color_space();
register_node_type_cmp_valtorgb();
register_node_type_cmp_rgbtobw();
register_node_type_cmp_setalpha();
register_node_type_cmp_idmask();
register_node_type_cmp_math();
register_node_type_cmp_seprgba();
register_node_type_cmp_combrgba();
register_node_type_cmp_sephsva();
register_node_type_cmp_combhsva();
register_node_type_cmp_sepyuva();
register_node_type_cmp_combyuva();
register_node_type_cmp_sepycca();
register_node_type_cmp_combycca();
register_node_type_cmp_premulkey();
register_node_type_cmp_separate_xyz();
register_node_type_cmp_combine_xyz();
register_node_type_cmp_separate_color();
register_node_type_cmp_combine_color();
register_node_type_cmp_diff_matte();
register_node_type_cmp_distance_matte();
register_node_type_cmp_chroma_matte();
register_node_type_cmp_color_matte();
register_node_type_cmp_channel_matte();
register_node_type_cmp_color_spill();
register_node_type_cmp_luma_matte();
register_node_type_cmp_doubleedgemask();
register_node_type_cmp_keyingscreen();
register_node_type_cmp_keying();
register_node_type_cmp_cryptomatte();
register_node_type_cmp_cryptomatte_legacy();
register_node_type_cmp_translate();
register_node_type_cmp_rotate();
register_node_type_cmp_scale();
register_node_type_cmp_flip();
register_node_type_cmp_crop();
register_node_type_cmp_displace();
register_node_type_cmp_mapuv();
register_node_type_cmp_glare();
register_node_type_cmp_tonemap();
register_node_type_cmp_lensdist();
register_node_type_cmp_transform();
register_node_type_cmp_stabilize2d();
register_node_type_cmp_moviedistortion();
register_node_type_cmp_colorcorrection();
register_node_type_cmp_boxmask();
register_node_type_cmp_ellipsemask();
register_node_type_cmp_bokehimage();
register_node_type_cmp_bokehblur();
register_node_type_cmp_switch();
register_node_type_cmp_switch_view();
register_node_type_cmp_pixelate();
register_node_type_cmp_mask();
register_node_type_cmp_trackpos();
register_node_type_cmp_planetrackdeform();
register_node_type_cmp_cornerpin();
}
static void registerShaderNodes()
{
register_node_type_sh_group();
register_node_type_sh_camera();
register_node_type_sh_gamma();
register_node_type_sh_brightcontrast();
register_node_type_sh_value();
register_node_type_sh_rgb();
register_node_type_sh_wireframe();
register_node_type_sh_wavelength();
register_node_type_sh_blackbody();
register_node_type_sh_mix_rgb();
register_node_type_sh_mix();
register_node_type_sh_valtorgb();
register_node_type_sh_rgbtobw();
register_node_type_sh_shadertorgb();
register_node_type_sh_normal();
register_node_type_sh_mapping();
register_node_type_sh_curve_float();
register_node_type_sh_curve_vec();
register_node_type_sh_curve_rgb();
register_node_type_sh_map_range();
register_node_type_sh_clamp();
register_node_type_sh_math();
register_node_type_sh_vect_math();
register_node_type_sh_vector_rotate();
register_node_type_sh_vect_transform();
register_node_type_sh_squeeze();
register_node_type_sh_invert();
register_node_type_sh_sepcolor();
register_node_type_sh_combcolor();
register_node_type_sh_seprgb();
register_node_type_sh_combrgb();
register_node_type_sh_sephsv();
register_node_type_sh_combhsv();
register_node_type_sh_sepxyz();
register_node_type_sh_combxyz();
register_node_type_sh_hue_sat();
register_node_type_sh_attribute();
register_node_type_sh_bevel();
register_node_type_sh_displacement();
register_node_type_sh_vector_displacement();
register_node_type_sh_geometry();
register_node_type_sh_light_path();
register_node_type_sh_light_falloff();
register_node_type_sh_object_info();
register_node_type_sh_fresnel();
register_node_type_sh_layer_weight();
register_node_type_sh_tex_coord();
register_node_type_sh_particle_info();
register_node_type_sh_bump();
register_node_type_sh_vertex_color();
register_node_type_sh_background();
register_node_type_sh_bsdf_anisotropic();
register_node_type_sh_bsdf_diffuse();
register_node_type_sh_bsdf_principled();
register_node_type_sh_bsdf_glossy();
register_node_type_sh_bsdf_glass();
register_node_type_sh_bsdf_translucent();
register_node_type_sh_bsdf_transparent();
register_node_type_sh_bsdf_velvet();
register_node_type_sh_bsdf_toon();
register_node_type_sh_bsdf_hair();
register_node_type_sh_bsdf_hair_principled();
register_node_type_sh_emission();
register_node_type_sh_holdout();
register_node_type_sh_volume_absorption();
register_node_type_sh_volume_scatter();
register_node_type_sh_volume_principled();
register_node_type_sh_subsurface_scattering();
register_node_type_sh_mix_shader();
register_node_type_sh_add_shader();
register_node_type_sh_uvmap();
register_node_type_sh_uvalongstroke();
register_node_type_sh_eevee_specular();
register_node_type_sh_output_light();
register_node_type_sh_output_material();
register_node_type_sh_output_world();
register_node_type_sh_output_linestyle();
register_node_type_sh_output_aov();
register_node_type_sh_tex_image();
register_node_type_sh_tex_environment();
register_node_type_sh_tex_sky();
register_node_type_sh_tex_noise();
register_node_type_sh_tex_wave();
register_node_type_sh_tex_voronoi();
register_node_type_sh_tex_musgrave();
register_node_type_sh_tex_gradient();
register_node_type_sh_tex_magic();
register_node_type_sh_tex_checker();
register_node_type_sh_tex_brick();
register_node_type_sh_tex_pointdensity();
register_node_type_sh_tex_ies();
register_node_type_sh_tex_white_noise();
}
static void registerTextureNodes()
{
register_node_type_tex_group();
register_node_type_tex_math();
register_node_type_tex_mix_rgb();
register_node_type_tex_valtorgb();
register_node_type_tex_rgbtobw();
register_node_type_tex_valtonor();
register_node_type_tex_curve_rgb();
register_node_type_tex_curve_time();
register_node_type_tex_invert();
register_node_type_tex_hue_sat();
register_node_type_tex_coord();
register_node_type_tex_distance();
register_node_type_tex_compose();
register_node_type_tex_decompose();
register_node_type_tex_combine_color();
register_node_type_tex_separate_color();
register_node_type_tex_output();
register_node_type_tex_viewer();
register_node_type_sh_script();
register_node_type_sh_tangent();
register_node_type_sh_normal_map();
register_node_type_sh_hair_info();
register_node_type_sh_point_info();
register_node_type_sh_volume_info();
register_node_type_tex_checker();
register_node_type_tex_texture();
register_node_type_tex_bricks();
register_node_type_tex_image();
register_node_type_sh_bsdf_refraction();
register_node_type_sh_ambient_occlusion();
register_node_type_tex_rotate();
register_node_type_tex_translate();
register_node_type_tex_scale();
register_node_type_tex_at();
register_node_type_tex_proc_voronoi();
register_node_type_tex_proc_blend();
register_node_type_tex_proc_magic();
register_node_type_tex_proc_marble();
register_node_type_tex_proc_clouds();
register_node_type_tex_proc_wood();
register_node_type_tex_proc_musgrave();
register_node_type_tex_proc_noise();
register_node_type_tex_proc_stucci();
register_node_type_tex_proc_distnoise();
}
static void registerGeometryNodes()
{
register_node_type_geo_group();
register_node_type_geo_accumulate_field();
register_node_type_geo_attribute_capture();
register_node_type_geo_attribute_domain_size();
register_node_type_geo_attribute_statistic();
register_node_type_geo_boolean();
register_node_type_geo_bounding_box();
register_node_type_geo_collection_info();
register_node_type_geo_convex_hull();
register_node_type_geo_curve_endpoint_selection();
register_node_type_geo_curve_fill();
register_node_type_geo_curve_fillet();
register_node_type_geo_curve_handle_type_selection();
register_node_type_geo_curve_length();
register_node_type_geo_curve_primitive_arc();
register_node_type_geo_curve_primitive_bezier_segment();
register_node_type_geo_curve_primitive_circle();
register_node_type_geo_curve_primitive_line();
register_node_type_geo_curve_primitive_quadratic_bezier();
register_node_type_geo_curve_primitive_quadrilateral();
register_node_type_geo_curve_primitive_spiral();
register_node_type_geo_curve_primitive_star();
register_node_type_geo_curve_resample();
register_node_type_geo_curve_reverse();
register_node_type_geo_curve_sample();
register_node_type_geo_curve_set_handle_type();
register_node_type_geo_curve_spline_parameter();
register_node_type_geo_curve_spline_type();
register_node_type_geo_curve_subdivide();
register_node_type_geo_curve_to_mesh();
register_node_type_geo_curve_to_points();
register_node_type_geo_curve_topology_curve_of_point();
register_node_type_geo_curve_topology_points_of_curve();
register_node_type_geo_curve_trim();
register_node_type_geo_deform_curves_on_surface();
register_node_type_geo_delete_geometry();
register_node_type_geo_distribute_points_in_volume();
register_node_type_geo_distribute_points_on_faces();
register_node_type_geo_dual_mesh();
register_node_type_geo_duplicate_elements();
register_node_type_geo_edge_paths_to_curves();
register_node_type_geo_edge_paths_to_selection();
register_node_type_geo_edge_split();
register_node_type_geo_extrude_mesh();
register_node_type_geo_field_at_index();
register_node_type_geo_flip_faces();
register_node_type_geo_geometry_to_instance();
register_node_type_geo_image_info();
register_node_type_geo_image_texture();
register_node_type_geo_input_curve_handles();
register_node_type_geo_input_curve_tilt();
register_node_type_geo_input_id();
register_node_type_geo_input_index();
register_node_type_geo_input_instance_rotation();
register_node_type_geo_input_instance_scale();
register_node_type_geo_input_material_index();
register_node_type_geo_input_material();
register_node_type_geo_input_mesh_edge_angle();
register_node_type_geo_input_mesh_edge_neighbors();
register_node_type_geo_input_mesh_edge_vertices();
register_node_type_geo_input_mesh_face_area();
register_node_type_geo_input_mesh_face_is_planar();
register_node_type_geo_input_mesh_face_neighbors();
register_node_type_geo_input_mesh_island();
register_node_type_geo_input_mesh_vertex_neighbors();
register_node_type_geo_input_named_attribute();
register_node_type_geo_input_normal();
register_node_type_geo_input_position();
register_node_type_geo_input_radius();
register_node_type_geo_input_scene_time();
register_node_type_geo_input_shade_smooth();
register_node_type_geo_input_shortest_edge_paths();
register_node_type_geo_input_spline_cyclic();
register_node_type_geo_input_spline_length();
register_node_type_geo_input_spline_resolution();
register_node_type_geo_input_tangent();
register_node_type_geo_instance_on_points();
register_node_type_geo_instances_to_points();
register_node_type_geo_interpolate_domain();
register_node_type_geo_is_viewport();
register_node_type_geo_join_geometry();
register_node_type_geo_material_replace();
register_node_type_geo_material_selection();
register_node_type_geo_merge_by_distance();
register_node_type_geo_mesh_face_set_boundaries();
register_node_type_geo_mesh_primitive_circle();
register_node_type_geo_mesh_primitive_cone();
register_node_type_geo_mesh_primitive_cube();
register_node_type_geo_mesh_primitive_cylinder();
register_node_type_geo_mesh_primitive_grid();
register_node_type_geo_mesh_primitive_ico_sphere();
register_node_type_geo_mesh_primitive_line();
register_node_type_geo_mesh_primitive_uv_sphere();
register_node_type_geo_mesh_subdivide();
register_node_type_geo_mesh_to_curve();
register_node_type_geo_mesh_to_points();
register_node_type_geo_mesh_to_volume();
register_node_type_geo_mesh_topology_offset_corner_in_face();
register_node_type_geo_mesh_topology_corners_of_face();
register_node_type_geo_mesh_topology_corners_of_vertex();
register_node_type_geo_mesh_topology_edges_of_corner();
register_node_type_geo_mesh_topology_edges_of_vertex();
register_node_type_geo_mesh_topology_face_of_corner();
register_node_type_geo_mesh_topology_vertex_of_corner();
register_node_type_geo_object_info();
register_node_type_geo_offset_point_in_curve();
register_node_type_geo_points_to_vertices();
register_node_type_geo_points_to_volume();
register_node_type_geo_points();
register_node_type_geo_proximity();
register_node_type_geo_raycast();
register_node_type_geo_realize_instances();
register_node_type_geo_remove_attribute();
register_node_type_geo_rotate_instances();
register_node_type_geo_sample_index();
register_node_type_geo_sample_nearest_surface();
register_node_type_geo_sample_nearest();
register_node_type_geo_sample_uv_surface();
register_node_type_geo_scale_elements();
register_node_type_geo_scale_instances();
register_node_type_geo_separate_components();
register_node_type_geo_separate_geometry();
register_node_type_geo_self_object();
register_node_type_geo_set_curve_handles();
register_node_type_geo_set_curve_normal();
register_node_type_geo_set_curve_radius();
register_node_type_geo_set_curve_tilt();
register_node_type_geo_set_id();
register_node_type_geo_set_material_index();
register_node_type_geo_set_material();
register_node_type_geo_set_point_radius();
register_node_type_geo_set_position();
register_node_type_geo_set_shade_smooth();
register_node_type_geo_set_spline_cyclic();
register_node_type_geo_set_spline_resolution();
register_node_type_geo_store_named_attribute();
register_node_type_geo_string_join();
register_node_type_geo_string_to_curves();
register_node_type_geo_subdivision_surface();
register_node_type_geo_switch();
register_node_type_geo_transform();
register_node_type_geo_translate_instances();
register_node_type_geo_triangulate();
register_node_type_geo_uv_pack_islands();
register_node_type_geo_uv_unwrap();
register_node_type_geo_viewer();
register_node_type_geo_volume_cube();
register_node_type_geo_volume_to_mesh();
}
static void registerFunctionNodes()
{
register_node_type_fn_align_euler_to_vector();
register_node_type_fn_boolean_math();
register_node_type_fn_combine_color();
register_node_type_fn_compare();
register_node_type_fn_float_to_int();
register_node_type_fn_input_bool();
register_node_type_fn_input_color();
register_node_type_fn_input_int();
register_node_type_fn_input_special_characters();
register_node_type_fn_input_string();
register_node_type_fn_input_vector();
register_node_type_fn_random_value();
register_node_type_fn_replace_string();
register_node_type_fn_rotate_euler();
register_node_type_fn_separate_color();
register_node_type_fn_slice_string();
register_node_type_fn_string_length();
register_node_type_fn_value_to_string();
}
void BKE_node_system_init()
{
nodetreetypes_hash = BLI_ghash_str_new("nodetreetypes_hash gh");
nodetypes_hash = BLI_ghash_str_new("nodetypes_hash gh");
nodesockettypes_hash = BLI_ghash_str_new("nodesockettypes_hash gh");
register_undefined_types();
register_standard_node_socket_types();
register_node_tree_type_cmp();
register_node_tree_type_sh();
register_node_tree_type_tex();
register_node_tree_type_geo();
register_node_type_frame();
register_node_type_reroute();
register_node_type_group_input();
register_node_type_group_output();
registerCompositNodes();
registerShaderNodes();
registerTextureNodes();
registerGeometryNodes();
registerFunctionNodes();
register_nodes();
}
void BKE_node_system_exit()

View File

@ -48,6 +48,7 @@ set(SRC
intern/node_exec.cc
intern/node_geometry_exec.cc
intern/node_multi_function.cc
intern/node_register.cc
intern/node_socket.cc
intern/node_socket_declarations.cc
intern/node_util.cc
@ -56,7 +57,6 @@ set(SRC
NOD_common.h
NOD_composite.h
NOD_derived_node_tree.hh
NOD_function.h
NOD_geometry.h
NOD_geometry_exec.hh
NOD_geometry_nodes_lazy_function.hh
@ -65,6 +65,7 @@ set(SRC
NOD_multi_function.hh
NOD_node_declaration.hh
NOD_shader.h
NOD_register.hh
NOD_socket.h
NOD_socket_declarations.hh
NOD_socket_declarations_geometry.hh

View File

@ -13,12 +13,6 @@
extern "C" {
#endif
void register_node_type_frame(void);
void register_node_type_reroute(void);
void register_node_type_group_input(void);
void register_node_type_group_output(void);
/* Internal functions for editor. */
struct bNodeSocket *node_group_find_input_socket(struct bNode *groupnode, const char *identifier);

View File

@ -15,120 +15,6 @@ extern "C" {
extern struct bNodeTreeType *ntreeType_Composite;
/* ****************** types array for all composite nodes ****************** */
void register_node_tree_type_cmp(void);
void register_node_type_cmp_group(void);
void register_node_type_cmp_rlayers(void);
void register_node_type_cmp_image(void);
void register_node_type_cmp_texture(void);
void register_node_type_cmp_value(void);
void register_node_type_cmp_rgb(void);
void register_node_type_cmp_curve_time(void);
void register_node_type_cmp_scene_time(void);
void register_node_type_cmp_movieclip(void);
void register_node_type_cmp_composite(void);
void register_node_type_cmp_viewer(void);
void register_node_type_cmp_splitviewer(void);
void register_node_type_cmp_output_file(void);
void register_node_type_cmp_view_levels(void);
void register_node_type_cmp_curve_rgb(void);
void register_node_type_cmp_mix_rgb(void);
void register_node_type_cmp_hue_sat(void);
void register_node_type_cmp_brightcontrast(void);
void register_node_type_cmp_gamma(void);
void register_node_type_cmp_exposure(void);
void register_node_type_cmp_invert(void);
void register_node_type_cmp_alphaover(void);
void register_node_type_cmp_zcombine(void);
void register_node_type_cmp_colorbalance(void);
void register_node_type_cmp_huecorrect(void);
void register_node_type_cmp_convert_color_space(void);
void register_node_type_cmp_normal(void);
void register_node_type_cmp_curve_vec(void);
void register_node_type_cmp_map_value(void);
void register_node_type_cmp_map_range(void);
void register_node_type_cmp_normalize(void);
void register_node_type_cmp_filter(void);
void register_node_type_cmp_blur(void);
void register_node_type_cmp_dblur(void);
void register_node_type_cmp_bilateralblur(void);
void register_node_type_cmp_vecblur(void);
void register_node_type_cmp_dilateerode(void);
void register_node_type_cmp_inpaint(void);
void register_node_type_cmp_despeckle(void);
void register_node_type_cmp_defocus(void);
void register_node_type_cmp_denoise(void);
void register_node_type_cmp_antialiasing(void);
void register_node_type_cmp_posterize(void);
void register_node_type_cmp_valtorgb(void);
void register_node_type_cmp_rgbtobw(void);
void register_node_type_cmp_setalpha(void);
void register_node_type_cmp_idmask(void);
void register_node_type_cmp_math(void);
void register_node_type_cmp_seprgba(void);
void register_node_type_cmp_combrgba(void);
void register_node_type_cmp_sephsva(void);
void register_node_type_cmp_combhsva(void);
void register_node_type_cmp_sepyuva(void);
void register_node_type_cmp_combyuva(void);
void register_node_type_cmp_sepycca(void);
void register_node_type_cmp_combycca(void);
void register_node_type_cmp_premulkey(void);
void register_node_type_cmp_diff_matte(void);
void register_node_type_cmp_distance_matte(void);
void register_node_type_cmp_chroma_matte(void);
void register_node_type_cmp_color_matte(void);
void register_node_type_cmp_channel_matte(void);
void register_node_type_cmp_color_spill(void);
void register_node_type_cmp_luma_matte(void);
void register_node_type_cmp_doubleedgemask(void);
void register_node_type_cmp_keyingscreen(void);
void register_node_type_cmp_keying(void);
void register_node_type_cmp_cryptomatte(void);
void register_node_type_cmp_cryptomatte_legacy(void);
void register_node_type_cmp_translate(void);
void register_node_type_cmp_rotate(void);
void register_node_type_cmp_scale(void);
void register_node_type_cmp_flip(void);
void register_node_type_cmp_crop(void);
void register_node_type_cmp_displace(void);
void register_node_type_cmp_mapuv(void);
void register_node_type_cmp_transform(void);
void register_node_type_cmp_stabilize2d(void);
void register_node_type_cmp_moviedistortion(void);
void register_node_type_cmp_mask(void);
void register_node_type_cmp_glare(void);
void register_node_type_cmp_tonemap(void);
void register_node_type_cmp_lensdist(void);
void register_node_type_cmp_sunbeams(void);
void register_node_type_cmp_colorcorrection(void);
void register_node_type_cmp_boxmask(void);
void register_node_type_cmp_ellipsemask(void);
void register_node_type_cmp_bokehimage(void);
void register_node_type_cmp_bokehblur(void);
void register_node_type_cmp_switch(void);
void register_node_type_cmp_switch_view(void);
void register_node_type_cmp_pixelate(void);
void register_node_type_cmp_trackpos(void);
void register_node_type_cmp_planetrackdeform(void);
void register_node_type_cmp_cornerpin(void);
void register_node_type_cmp_separate_xyz(void);
void register_node_type_cmp_combine_xyz(void);
void register_node_type_cmp_separate_color(void);
void register_node_type_cmp_combine_color(void);
void node_cmp_rlayers_outputs(struct bNodeTree *ntree, struct bNode *node);
void node_cmp_rlayers_register_pass(struct bNodeTree *ntree,
struct bNode *node,

View File

@ -1,30 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
void register_node_type_fn_align_euler_to_vector(void);
void register_node_type_fn_boolean_math(void);
void register_node_type_fn_combine_color(void);
void register_node_type_fn_compare(void);
void register_node_type_fn_float_to_int(void);
void register_node_type_fn_input_bool(void);
void register_node_type_fn_input_color(void);
void register_node_type_fn_input_int(void);
void register_node_type_fn_input_special_characters(void);
void register_node_type_fn_input_string(void);
void register_node_type_fn_input_vector(void);
void register_node_type_fn_random_value(void);
void register_node_type_fn_replace_string(void);
void register_node_type_fn_rotate_euler(void);
void register_node_type_fn_separate_color(void);
void register_node_type_fn_slice_string(void);
void register_node_type_fn_string_length(void);
void register_node_type_fn_value_to_string(void);
#ifdef __cplusplus
}
#endif

View File

@ -10,161 +10,8 @@ extern "C" {
extern struct bNodeTreeType *ntreeType_Geometry;
void register_node_tree_type_geo(void);
void register_node_type_geo_group(void);
void register_node_type_geo_custom_group(bNodeType *ntype);
void register_node_type_geo_accumulate_field(void);
void register_node_type_geo_attribute_capture(void);
void register_node_type_geo_attribute_domain_size(void);
void register_node_type_geo_attribute_separate_xyz(void);
void register_node_type_geo_attribute_statistic(void);
void register_node_type_geo_boolean(void);
void register_node_type_geo_bounding_box(void);
void register_node_type_geo_collection_info(void);
void register_node_type_geo_convex_hull(void);
void register_node_type_geo_curve_endpoint_selection(void);
void register_node_type_geo_curve_fill(void);
void register_node_type_geo_curve_fillet(void);
void register_node_type_geo_curve_handle_type_selection(void);
void register_node_type_geo_curve_length(void);
void register_node_type_geo_curve_primitive_arc(void);
void register_node_type_geo_curve_primitive_bezier_segment(void);
void register_node_type_geo_curve_primitive_circle(void);
void register_node_type_geo_curve_primitive_line(void);
void register_node_type_geo_curve_primitive_quadratic_bezier(void);
void register_node_type_geo_curve_primitive_quadrilateral(void);
void register_node_type_geo_curve_primitive_spiral(void);
void register_node_type_geo_curve_primitive_star(void);
void register_node_type_geo_curve_resample(void);
void register_node_type_geo_curve_reverse(void);
void register_node_type_geo_curve_sample(void);
void register_node_type_geo_curve_set_handle_type(void);
void register_node_type_geo_curve_spline_parameter(void);
void register_node_type_geo_curve_spline_type(void);
void register_node_type_geo_curve_subdivide(void);
void register_node_type_geo_curve_to_mesh(void);
void register_node_type_geo_curve_to_points(void);
void register_node_type_geo_curve_topology_curve_of_point(void);
void register_node_type_geo_curve_topology_points_of_curve(void);
void register_node_type_geo_curve_trim(void);
void register_node_type_geo_deform_curves_on_surface(void);
void register_node_type_geo_delete_geometry(void);
void register_node_type_geo_distribute_points_in_volume(void);
void register_node_type_geo_distribute_points_on_faces(void);
void register_node_type_geo_dual_mesh(void);
void register_node_type_geo_duplicate_elements(void);
void register_node_type_geo_edge_paths_to_curves(void);
void register_node_type_geo_edge_paths_to_selection(void);
void register_node_type_geo_edge_split(void);
void register_node_type_geo_extrude_mesh(void);
void register_node_type_geo_field_at_index(void);
void register_node_type_geo_flip_faces(void);
void register_node_type_geo_geometry_to_instance(void);
void register_node_type_geo_image_info(void);
void register_node_type_geo_image_texture(void);
void register_node_type_geo_input_curve_handles(void);
void register_node_type_geo_input_curve_tilt(void);
void register_node_type_geo_input_id(void);
void register_node_type_geo_input_index(void);
void register_node_type_geo_input_instance_rotation(void);
void register_node_type_geo_input_instance_scale(void);
void register_node_type_geo_input_material_index(void);
void register_node_type_geo_input_material(void);
void register_node_type_geo_input_mesh_edge_angle(void);
void register_node_type_geo_input_mesh_edge_neighbors(void);
void register_node_type_geo_input_mesh_edge_vertices(void);
void register_node_type_geo_input_mesh_face_area(void);
void register_node_type_geo_input_mesh_face_is_planar(void);
void register_node_type_geo_input_mesh_face_neighbors(void);
void register_node_type_geo_input_mesh_island(void);
void register_node_type_geo_input_mesh_vertex_neighbors(void);
void register_node_type_geo_input_named_attribute(void);
void register_node_type_geo_input_normal(void);
void register_node_type_geo_input_position(void);
void register_node_type_geo_input_radius(void);
void register_node_type_geo_input_scene_time(void);
void register_node_type_geo_input_shade_smooth(void);
void register_node_type_geo_input_shortest_edge_paths(void);
void register_node_type_geo_input_spline_cyclic(void);
void register_node_type_geo_input_spline_length(void);
void register_node_type_geo_input_spline_resolution(void);
void register_node_type_geo_input_tangent(void);
void register_node_type_geo_instance_on_points(void);
void register_node_type_geo_instances_to_points(void);
void register_node_type_geo_interpolate_domain(void);
void register_node_type_geo_is_viewport(void);
void register_node_type_geo_join_geometry(void);
void register_node_type_geo_material_replace(void);
void register_node_type_geo_material_selection(void);
void register_node_type_geo_merge_by_distance(void);
void register_node_type_geo_mesh_face_set_boundaries(void);
void register_node_type_geo_mesh_primitive_circle(void);
void register_node_type_geo_mesh_primitive_cone(void);
void register_node_type_geo_mesh_primitive_cube(void);
void register_node_type_geo_mesh_primitive_cylinder(void);
void register_node_type_geo_mesh_primitive_grid(void);
void register_node_type_geo_mesh_primitive_ico_sphere(void);
void register_node_type_geo_mesh_primitive_line(void);
void register_node_type_geo_mesh_primitive_uv_sphere(void);
void register_node_type_geo_mesh_subdivide(void);
void register_node_type_geo_mesh_to_curve(void);
void register_node_type_geo_mesh_to_points(void);
void register_node_type_geo_mesh_to_volume(void);
void register_node_type_geo_mesh_topology_corners_of_face(void);
void register_node_type_geo_mesh_topology_corners_of_vertex(void);
void register_node_type_geo_mesh_topology_edges_of_corner(void);
void register_node_type_geo_mesh_topology_edges_of_vertex(void);
void register_node_type_geo_mesh_topology_face_of_corner(void);
void register_node_type_geo_mesh_topology_offset_corner_in_face(void);
void register_node_type_geo_mesh_topology_vertex_of_corner(void);
void register_node_type_geo_object_info(void);
void register_node_type_geo_offset_point_in_curve(void);
void register_node_type_geo_points_to_vertices(void);
void register_node_type_geo_points_to_volume(void);
void register_node_type_geo_points(void);
void register_node_type_geo_proximity(void);
void register_node_type_geo_raycast(void);
void register_node_type_geo_realize_instances(void);
void register_node_type_geo_remove_attribute(void);
void register_node_type_geo_rotate_instances(void);
void register_node_type_geo_sample_index(void);
void register_node_type_geo_sample_nearest_surface(void);
void register_node_type_geo_sample_nearest(void);
void register_node_type_geo_sample_uv_surface(void);
void register_node_type_geo_scale_elements(void);
void register_node_type_geo_scale_instances(void);
void register_node_type_geo_select_by_handle_type(void);
void register_node_type_geo_separate_components(void);
void register_node_type_geo_separate_geometry(void);
void register_node_type_geo_self_object(void);
void register_node_type_geo_set_curve_handles(void);
void register_node_type_geo_set_curve_normal(void);
void register_node_type_geo_set_curve_radius(void);
void register_node_type_geo_set_curve_tilt(void);
void register_node_type_geo_set_id(void);
void register_node_type_geo_set_material_index(void);
void register_node_type_geo_set_material(void);
void register_node_type_geo_set_point_radius(void);
void register_node_type_geo_set_position(void);
void register_node_type_geo_set_shade_smooth(void);
void register_node_type_geo_set_spline_cyclic(void);
void register_node_type_geo_set_spline_resolution(void);
void register_node_type_geo_store_named_attribute(void);
void register_node_type_geo_string_join(void);
void register_node_type_geo_string_to_curves(void);
void register_node_type_geo_subdivision_surface(void);
void register_node_type_geo_switch(void);
void register_node_type_geo_transform(void);
void register_node_type_geo_translate_instances(void);
void register_node_type_geo_triangulate(void);
void register_node_type_geo_uv_pack_islands(void);
void register_node_type_geo_uv_unwrap(void);
void register_node_type_geo_viewer(void);
void register_node_type_geo_volume_cube(void);
void register_node_type_geo_volume_to_mesh(void);
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
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();

View File

@ -15,120 +15,6 @@ extern "C" {
extern struct bNodeTreeType *ntreeType_Shader;
/* the type definitions array */
/* ****************** types array for all shaders ****************** */
void register_node_tree_type_sh(void);
void register_node_type_sh_group(void);
void register_node_type_sh_camera(void);
void register_node_type_sh_value(void);
void register_node_type_sh_rgb(void);
void register_node_type_sh_mix_rgb(void);
void register_node_type_sh_mix(void);
void register_node_type_sh_valtorgb(void);
void register_node_type_sh_rgbtobw(void);
void register_node_type_sh_shadertorgb(void);
void register_node_type_sh_normal(void);
void register_node_type_sh_gamma(void);
void register_node_type_sh_brightcontrast(void);
void register_node_type_sh_mapping(void);
void register_node_type_sh_curve_float(void);
void register_node_type_sh_curve_vec(void);
void register_node_type_sh_curve_rgb(void);
void register_node_type_sh_map_range(void);
void register_node_type_sh_clamp(void);
void register_node_type_sh_math(void);
void register_node_type_sh_vect_math(void);
void register_node_type_sh_squeeze(void);
void register_node_type_sh_dynamic(void);
void register_node_type_sh_invert(void);
void register_node_type_sh_sepcolor(void);
void register_node_type_sh_combcolor(void);
void register_node_type_sh_seprgb(void);
void register_node_type_sh_combrgb(void);
void register_node_type_sh_sephsv(void);
void register_node_type_sh_combhsv(void);
void register_node_type_sh_sepxyz(void);
void register_node_type_sh_combxyz(void);
void register_node_type_sh_hue_sat(void);
void register_node_type_sh_tex_brick(void);
void register_node_type_sh_tex_pointdensity(void);
void register_node_type_sh_attribute(void);
void register_node_type_sh_bevel(void);
void register_node_type_sh_displacement(void);
void register_node_type_sh_vector_displacement(void);
void register_node_type_sh_geometry(void);
void register_node_type_sh_light_path(void);
void register_node_type_sh_light_falloff(void);
void register_node_type_sh_object_info(void);
void register_node_type_sh_fresnel(void);
void register_node_type_sh_wireframe(void);
void register_node_type_sh_wavelength(void);
void register_node_type_sh_blackbody(void);
void register_node_type_sh_layer_weight(void);
void register_node_type_sh_tex_coord(void);
void register_node_type_sh_particle_info(void);
void register_node_type_sh_hair_info(void);
void register_node_type_sh_point_info(void);
void register_node_type_sh_volume_info(void);
void register_node_type_sh_script(void);
void register_node_type_sh_normal_map(void);
void register_node_type_sh_tangent(void);
void register_node_type_sh_vector_rotate(void);
void register_node_type_sh_vect_transform(void);
void register_node_type_sh_vertex_color(void);
void register_node_type_sh_ambient_occlusion(void);
void register_node_type_sh_background(void);
void register_node_type_sh_bsdf_diffuse(void);
void register_node_type_sh_bsdf_glossy(void);
void register_node_type_sh_bsdf_glass(void);
void register_node_type_sh_bsdf_refraction(void);
void register_node_type_sh_bsdf_translucent(void);
void register_node_type_sh_bsdf_transparent(void);
void register_node_type_sh_bsdf_velvet(void);
void register_node_type_sh_bsdf_toon(void);
void register_node_type_sh_bsdf_anisotropic(void);
void register_node_type_sh_bsdf_principled(void);
void register_node_type_sh_emission(void);
void register_node_type_sh_holdout(void);
void register_node_type_sh_volume_absorption(void);
void register_node_type_sh_volume_scatter(void);
void register_node_type_sh_volume_principled(void);
void register_node_type_sh_bsdf_hair(void);
void register_node_type_sh_bsdf_hair_principled(void);
void register_node_type_sh_subsurface_scattering(void);
void register_node_type_sh_mix_shader(void);
void register_node_type_sh_add_shader(void);
void register_node_type_sh_uvmap(void);
void register_node_type_sh_uvalongstroke(void);
void register_node_type_sh_eevee_metallic(void);
void register_node_type_sh_eevee_specular(void);
void register_node_type_sh_output_light(void);
void register_node_type_sh_output_material(void);
void register_node_type_sh_output_eevee_material(void);
void register_node_type_sh_output_world(void);
void register_node_type_sh_output_linestyle(void);
void register_node_type_sh_output_aov(void);
void register_node_type_sh_tex_image(void);
void register_node_type_sh_tex_environment(void);
void register_node_type_sh_tex_sky(void);
void register_node_type_sh_tex_voronoi(void);
void register_node_type_sh_tex_gradient(void);
void register_node_type_sh_tex_magic(void);
void register_node_type_sh_tex_wave(void);
void register_node_type_sh_tex_musgrave(void);
void register_node_type_sh_tex_noise(void);
void register_node_type_sh_tex_checker(void);
void register_node_type_sh_bump(void);
void register_node_type_sh_tex_ies(void);
void register_node_type_sh_tex_white_noise(void);
void register_node_type_sh_custom_group(bNodeType *ntype);
struct bNodeTreeExec *ntreeShaderBeginExecTree(struct bNodeTree *ntree);

View File

@ -15,51 +15,6 @@ extern "C" {
extern struct bNodeTreeType *ntreeType_Texture;
/* ****************** types array for all texture nodes ****************** */
void register_node_tree_type_tex(void);
void register_node_type_tex_group(void);
void register_node_type_tex_math(void);
void register_node_type_tex_mix_rgb(void);
void register_node_type_tex_valtorgb(void);
void register_node_type_tex_valtonor(void);
void register_node_type_tex_rgbtobw(void);
void register_node_type_tex_output(void);
void register_node_type_tex_viewer(void);
void register_node_type_tex_checker(void);
void register_node_type_tex_texture(void);
void register_node_type_tex_bricks(void);
void register_node_type_tex_image(void);
void register_node_type_tex_curve_rgb(void);
void register_node_type_tex_curve_time(void);
void register_node_type_tex_invert(void);
void register_node_type_tex_hue_sat(void);
void register_node_type_tex_coord(void);
void register_node_type_tex_distance(void);
void register_node_type_tex_rotate(void);
void register_node_type_tex_translate(void);
void register_node_type_tex_scale(void);
void register_node_type_tex_at(void);
void register_node_type_tex_compose(void);
void register_node_type_tex_decompose(void);
void register_node_type_tex_combine_color(void);
void register_node_type_tex_separate_color(void);
void register_node_type_tex_proc_voronoi(void);
void register_node_type_tex_proc_blend(void);
void register_node_type_tex_proc_magic(void);
void register_node_type_tex_proc_marble(void);
void register_node_type_tex_proc_clouds(void);
void register_node_type_tex_proc_wood(void);
void register_node_type_tex_proc_musgrave(void);
void register_node_type_tex_proc_noise(void);
void register_node_type_tex_proc_stucci(void);
void register_node_type_tex_proc_distnoise(void);
void ntreeTexCheckCyclics(struct bNodeTree *ntree);
struct bNodeTreeExec *ntreeTexBeginExecTree(struct bNodeTree *ntree);
void ntreeTexEndExecTree(struct bNodeTreeExec *exec);

View File

@ -119,9 +119,11 @@ set(SRC
nodes/node_composite_viewer.cc
nodes/node_composite_zcombine.cc
node_composite_register.cc
node_composite_tree.cc
node_composite_util.cc
node_composite_register.hh
node_composite_util.hh
)

View File

@ -0,0 +1,111 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "node_composite_register.hh"
void register_composite_nodes()
{
register_node_tree_type_cmp();
register_node_type_cmp_group();
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_legacy();
register_node_type_cmp_cryptomatte();
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_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_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_splitviewer();
register_node_type_cmp_stabilize2d();
register_node_type_cmp_sunbeams();
register_node_type_cmp_switch_view();
register_node_type_cmp_switch();
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();
register_node_type_cmp_zcombine();
}

View File

@ -0,0 +1,106 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
void register_node_tree_type_cmp();
void register_node_type_cmp_group();
void register_node_type_cmp_alphaover();
void register_node_type_cmp_antialiasing();
void register_node_type_cmp_bilateralblur();
void register_node_type_cmp_blur();
void register_node_type_cmp_bokehblur();
void register_node_type_cmp_bokehimage();
void register_node_type_cmp_boxmask();
void register_node_type_cmp_brightcontrast();
void register_node_type_cmp_channel_matte();
void register_node_type_cmp_chroma_matte();
void register_node_type_cmp_color_matte();
void register_node_type_cmp_color_spill();
void register_node_type_cmp_colorbalance();
void register_node_type_cmp_colorcorrection();
void register_node_type_cmp_combhsva();
void register_node_type_cmp_combine_color();
void register_node_type_cmp_combine_xyz();
void register_node_type_cmp_combrgba();
void register_node_type_cmp_combycca();
void register_node_type_cmp_combyuva();
void register_node_type_cmp_composite();
void register_node_type_cmp_convert_color_space();
void register_node_type_cmp_cornerpin();
void register_node_type_cmp_crop();
void register_node_type_cmp_cryptomatte_legacy();
void register_node_type_cmp_cryptomatte();
void register_node_type_cmp_curve_rgb();
void register_node_type_cmp_curve_time();
void register_node_type_cmp_curve_vec();
void register_node_type_cmp_dblur();
void register_node_type_cmp_defocus();
void register_node_type_cmp_denoise();
void register_node_type_cmp_despeckle();
void register_node_type_cmp_diff_matte();
void register_node_type_cmp_dilateerode();
void register_node_type_cmp_displace();
void register_node_type_cmp_distance_matte();
void register_node_type_cmp_doubleedgemask();
void register_node_type_cmp_ellipsemask();
void register_node_type_cmp_exposure();
void register_node_type_cmp_filter();
void register_node_type_cmp_flip();
void register_node_type_cmp_gamma();
void register_node_type_cmp_glare();
void register_node_type_cmp_hue_sat();
void register_node_type_cmp_huecorrect();
void register_node_type_cmp_idmask();
void register_node_type_cmp_image();
void register_node_type_cmp_inpaint();
void register_node_type_cmp_invert();
void register_node_type_cmp_keying();
void register_node_type_cmp_keyingscreen();
void register_node_type_cmp_lensdist();
void register_node_type_cmp_luma_matte();
void register_node_type_cmp_map_range();
void register_node_type_cmp_map_value();
void register_node_type_cmp_mapuv();
void register_node_type_cmp_mask();
void register_node_type_cmp_math();
void register_node_type_cmp_mix_rgb();
void register_node_type_cmp_movieclip();
void register_node_type_cmp_moviedistortion();
void register_node_type_cmp_normal();
void register_node_type_cmp_normalize();
void register_node_type_cmp_output_file();
void register_node_type_cmp_pixelate();
void register_node_type_cmp_planetrackdeform();
void register_node_type_cmp_posterize();
void register_node_type_cmp_premulkey();
void register_node_type_cmp_rgb();
void register_node_type_cmp_rgbtobw();
void register_node_type_cmp_rlayers();
void register_node_type_cmp_rotate();
void register_node_type_cmp_scale();
void register_node_type_cmp_scene_time();
void register_node_type_cmp_separate_color();
void register_node_type_cmp_separate_xyz();
void register_node_type_cmp_sephsva();
void register_node_type_cmp_seprgba();
void register_node_type_cmp_sepycca();
void register_node_type_cmp_sepyuva();
void register_node_type_cmp_setalpha();
void register_node_type_cmp_splitviewer();
void register_node_type_cmp_stabilize2d();
void register_node_type_cmp_sunbeams();
void register_node_type_cmp_switch_view();
void register_node_type_cmp_switch();
void register_node_type_cmp_texture();
void register_node_type_cmp_tonemap();
void register_node_type_cmp_trackpos();
void register_node_type_cmp_transform();
void register_node_type_cmp_translate();
void register_node_type_cmp_valtorgb();
void register_node_type_cmp_value();
void register_node_type_cmp_vecblur();
void register_node_type_cmp_view_levels();
void register_node_type_cmp_viewer();
void register_node_type_cmp_zcombine();

View File

@ -12,6 +12,7 @@
#include "BLT_translation.h"
#include "node_composite_register.hh"
#include "node_util.h"
#include "NOD_composite.h"

View File

@ -37,8 +37,10 @@ set(SRC
nodes/node_fn_string_length.cc
nodes/node_fn_value_to_string.cc
node_function_register.cc
node_function_util.cc
node_function_register.hh
node_function_util.hh
)

View File

@ -0,0 +1,27 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "node_function_register.hh"
void register_function_nodes()
{
register_node_type_fn_align_euler_to_vector();
register_node_type_fn_boolean_math();
register_node_type_fn_combine_color();
register_node_type_fn_compare();
register_node_type_fn_float_to_int();
register_node_type_fn_input_bool();
register_node_type_fn_input_color();
register_node_type_fn_input_int();
register_node_type_fn_input_special_characters();
register_node_type_fn_input_string();
register_node_type_fn_input_vector();
register_node_type_fn_random_value();
register_node_type_fn_replace_string();
register_node_type_fn_rotate_euler();
register_node_type_fn_separate_color();
register_node_type_fn_slice_string();
register_node_type_fn_string_length();
register_node_type_fn_value_to_string();
}

View File

@ -0,0 +1,22 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
void register_node_type_fn_align_euler_to_vector();
void register_node_type_fn_boolean_math();
void register_node_type_fn_combine_color();
void register_node_type_fn_compare();
void register_node_type_fn_float_to_int();
void register_node_type_fn_input_bool();
void register_node_type_fn_input_color();
void register_node_type_fn_input_int();
void register_node_type_fn_input_special_characters();
void register_node_type_fn_input_string();
void register_node_type_fn_input_vector();
void register_node_type_fn_random_value();
void register_node_type_fn_replace_string();
void register_node_type_fn_rotate_euler();
void register_node_type_fn_separate_color();
void register_node_type_fn_slice_string();
void register_node_type_fn_string_length();
void register_node_type_fn_value_to_string();

View File

@ -15,10 +15,10 @@
#include "BLT_translation.h"
#include "NOD_function.h"
#include "NOD_multi_function.hh"
#include "NOD_socket_declarations.hh"
#include "node_function_register.hh"
#include "node_util.h"
#include "FN_multi_function_builder.hh"

View File

@ -174,9 +174,11 @@ set(SRC
nodes/node_geo_volume_cube.cc
nodes/node_geo_volume_to_mesh.cc
node_geometry_register.cc
node_geometry_tree.cc
node_geometry_util.cc
node_geometry_register.hh
node_geometry_util.hh
)

View File

@ -0,0 +1,160 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "node_geometry_register.hh"
void register_geometry_nodes()
{
register_node_tree_type_geo();
register_node_type_geo_group();
register_node_type_geo_accumulate_field();
register_node_type_geo_attribute_capture();
register_node_type_geo_attribute_domain_size();
register_node_type_geo_attribute_statistic();
register_node_type_geo_boolean();
register_node_type_geo_bounding_box();
register_node_type_geo_collection_info();
register_node_type_geo_convex_hull();
register_node_type_geo_curve_endpoint_selection();
register_node_type_geo_curve_fill();
register_node_type_geo_curve_fillet();
register_node_type_geo_curve_handle_type_selection();
register_node_type_geo_curve_length();
register_node_type_geo_curve_primitive_arc();
register_node_type_geo_curve_primitive_bezier_segment();
register_node_type_geo_curve_primitive_circle();
register_node_type_geo_curve_primitive_line();
register_node_type_geo_curve_primitive_quadratic_bezier();
register_node_type_geo_curve_primitive_quadrilateral();
register_node_type_geo_curve_primitive_spiral();
register_node_type_geo_curve_primitive_star();
register_node_type_geo_curve_resample();
register_node_type_geo_curve_reverse();
register_node_type_geo_curve_sample();
register_node_type_geo_curve_set_handle_type();
register_node_type_geo_curve_spline_parameter();
register_node_type_geo_curve_spline_type();
register_node_type_geo_curve_subdivide();
register_node_type_geo_curve_to_mesh();
register_node_type_geo_curve_to_points();
register_node_type_geo_curve_topology_curve_of_point();
register_node_type_geo_curve_topology_points_of_curve();
register_node_type_geo_curve_trim();
register_node_type_geo_deform_curves_on_surface();
register_node_type_geo_delete_geometry();
register_node_type_geo_distribute_points_in_volume();
register_node_type_geo_distribute_points_on_faces();
register_node_type_geo_dual_mesh();
register_node_type_geo_duplicate_elements();
register_node_type_geo_edge_paths_to_curves();
register_node_type_geo_edge_paths_to_selection();
register_node_type_geo_edge_split();
register_node_type_geo_extrude_mesh();
register_node_type_geo_field_at_index();
register_node_type_geo_flip_faces();
register_node_type_geo_geometry_to_instance();
register_node_type_geo_image_info();
register_node_type_geo_image_texture();
register_node_type_geo_input_curve_handles();
register_node_type_geo_input_curve_tilt();
register_node_type_geo_input_id();
register_node_type_geo_input_index();
register_node_type_geo_input_instance_rotation();
register_node_type_geo_input_instance_scale();
register_node_type_geo_input_material_index();
register_node_type_geo_input_material();
register_node_type_geo_input_mesh_edge_angle();
register_node_type_geo_input_mesh_edge_neighbors();
register_node_type_geo_input_mesh_edge_vertices();
register_node_type_geo_input_mesh_face_area();
register_node_type_geo_input_mesh_face_is_planar();
register_node_type_geo_input_mesh_face_neighbors();
register_node_type_geo_input_mesh_island();
register_node_type_geo_input_mesh_vertex_neighbors();
register_node_type_geo_input_named_attribute();
register_node_type_geo_input_normal();
register_node_type_geo_input_position();
register_node_type_geo_input_radius();
register_node_type_geo_input_scene_time();
register_node_type_geo_input_shade_smooth();
register_node_type_geo_input_shortest_edge_paths();
register_node_type_geo_input_spline_cyclic();
register_node_type_geo_input_spline_length();
register_node_type_geo_input_spline_resolution();
register_node_type_geo_input_tangent();
register_node_type_geo_instance_on_points();
register_node_type_geo_instances_to_points();
register_node_type_geo_interpolate_domain();
register_node_type_geo_is_viewport();
register_node_type_geo_join_geometry();
register_node_type_geo_material_replace();
register_node_type_geo_material_selection();
register_node_type_geo_merge_by_distance();
register_node_type_geo_mesh_face_set_boundaries();
register_node_type_geo_mesh_primitive_circle();
register_node_type_geo_mesh_primitive_cone();
register_node_type_geo_mesh_primitive_cube();
register_node_type_geo_mesh_primitive_cylinder();
register_node_type_geo_mesh_primitive_grid();
register_node_type_geo_mesh_primitive_ico_sphere();
register_node_type_geo_mesh_primitive_line();
register_node_type_geo_mesh_primitive_uv_sphere();
register_node_type_geo_mesh_subdivide();
register_node_type_geo_mesh_to_curve();
register_node_type_geo_mesh_to_points();
register_node_type_geo_mesh_to_volume();
register_node_type_geo_mesh_topology_corners_of_face();
register_node_type_geo_mesh_topology_corners_of_vertex();
register_node_type_geo_mesh_topology_edges_of_corner();
register_node_type_geo_mesh_topology_edges_of_vertex();
register_node_type_geo_mesh_topology_face_of_corner();
register_node_type_geo_mesh_topology_offset_corner_in_face();
register_node_type_geo_mesh_topology_vertex_of_corner();
register_node_type_geo_object_info();
register_node_type_geo_offset_point_in_curve();
register_node_type_geo_points_to_vertices();
register_node_type_geo_points_to_volume();
register_node_type_geo_points();
register_node_type_geo_proximity();
register_node_type_geo_raycast();
register_node_type_geo_realize_instances();
register_node_type_geo_remove_attribute();
register_node_type_geo_rotate_instances();
register_node_type_geo_sample_index();
register_node_type_geo_sample_nearest_surface();
register_node_type_geo_sample_nearest();
register_node_type_geo_sample_uv_surface();
register_node_type_geo_scale_elements();
register_node_type_geo_scale_instances();
register_node_type_geo_self_object();
register_node_type_geo_separate_components();
register_node_type_geo_separate_geometry();
register_node_type_geo_set_curve_handles();
register_node_type_geo_set_curve_normal();
register_node_type_geo_set_curve_radius();
register_node_type_geo_set_curve_tilt();
register_node_type_geo_set_id();
register_node_type_geo_set_material_index();
register_node_type_geo_set_material();
register_node_type_geo_set_point_radius();
register_node_type_geo_set_position();
register_node_type_geo_set_shade_smooth();
register_node_type_geo_set_spline_cyclic();
register_node_type_geo_set_spline_resolution();
register_node_type_geo_store_named_attribute();
register_node_type_geo_string_join();
register_node_type_geo_string_to_curves();
register_node_type_geo_subdivision_surface();
register_node_type_geo_switch();
register_node_type_geo_transform();
register_node_type_geo_translate_instances();
register_node_type_geo_triangulate();
register_node_type_geo_uv_pack_islands();
register_node_type_geo_uv_unwrap();
register_node_type_geo_viewer();
register_node_type_geo_volume_cube();
register_node_type_geo_volume_to_mesh();
}

View File

@ -0,0 +1,157 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
void register_node_tree_type_geo();
void register_node_type_geo_group();
void register_node_type_geo_accumulate_field();
void register_node_type_geo_attribute_capture();
void register_node_type_geo_attribute_domain_size();
void register_node_type_geo_attribute_separate_xyz();
void register_node_type_geo_attribute_statistic();
void register_node_type_geo_boolean();
void register_node_type_geo_bounding_box();
void register_node_type_geo_collection_info();
void register_node_type_geo_convex_hull();
void register_node_type_geo_curve_endpoint_selection();
void register_node_type_geo_curve_fill();
void register_node_type_geo_curve_fillet();
void register_node_type_geo_curve_handle_type_selection();
void register_node_type_geo_curve_length();
void register_node_type_geo_curve_primitive_arc();
void register_node_type_geo_curve_primitive_bezier_segment();
void register_node_type_geo_curve_primitive_circle();
void register_node_type_geo_curve_primitive_line();
void register_node_type_geo_curve_primitive_quadratic_bezier();
void register_node_type_geo_curve_primitive_quadrilateral();
void register_node_type_geo_curve_primitive_spiral();
void register_node_type_geo_curve_primitive_star();
void register_node_type_geo_curve_resample();
void register_node_type_geo_curve_reverse();
void register_node_type_geo_curve_sample();
void register_node_type_geo_curve_set_handle_type();
void register_node_type_geo_curve_spline_parameter();
void register_node_type_geo_curve_spline_type();
void register_node_type_geo_curve_subdivide();
void register_node_type_geo_curve_to_mesh();
void register_node_type_geo_curve_to_points();
void register_node_type_geo_curve_topology_curve_of_point();
void register_node_type_geo_curve_topology_points_of_curve();
void register_node_type_geo_curve_trim();
void register_node_type_geo_deform_curves_on_surface();
void register_node_type_geo_delete_geometry();
void register_node_type_geo_distribute_points_in_volume();
void register_node_type_geo_distribute_points_on_faces();
void register_node_type_geo_dual_mesh();
void register_node_type_geo_duplicate_elements();
void register_node_type_geo_edge_paths_to_curves();
void register_node_type_geo_edge_paths_to_selection();
void register_node_type_geo_edge_split();
void register_node_type_geo_extrude_mesh();
void register_node_type_geo_field_at_index();
void register_node_type_geo_flip_faces();
void register_node_type_geo_geometry_to_instance();
void register_node_type_geo_image_info();
void register_node_type_geo_image_texture();
void register_node_type_geo_input_curve_handles();
void register_node_type_geo_input_curve_tilt();
void register_node_type_geo_input_id();
void register_node_type_geo_input_index();
void register_node_type_geo_input_instance_rotation();
void register_node_type_geo_input_instance_scale();
void register_node_type_geo_input_material_index();
void register_node_type_geo_input_material();
void register_node_type_geo_input_mesh_edge_angle();
void register_node_type_geo_input_mesh_edge_neighbors();
void register_node_type_geo_input_mesh_edge_vertices();
void register_node_type_geo_input_mesh_face_area();
void register_node_type_geo_input_mesh_face_is_planar();
void register_node_type_geo_input_mesh_face_neighbors();
void register_node_type_geo_input_mesh_island();
void register_node_type_geo_input_mesh_vertex_neighbors();
void register_node_type_geo_input_named_attribute();
void register_node_type_geo_input_normal();
void register_node_type_geo_input_position();
void register_node_type_geo_input_radius();
void register_node_type_geo_input_scene_time();
void register_node_type_geo_input_shade_smooth();
void register_node_type_geo_input_shortest_edge_paths();
void register_node_type_geo_input_spline_cyclic();
void register_node_type_geo_input_spline_length();
void register_node_type_geo_input_spline_resolution();
void register_node_type_geo_input_tangent();
void register_node_type_geo_instance_on_points();
void register_node_type_geo_instances_to_points();
void register_node_type_geo_interpolate_domain();
void register_node_type_geo_is_viewport();
void register_node_type_geo_join_geometry();
void register_node_type_geo_material_replace();
void register_node_type_geo_material_selection();
void register_node_type_geo_merge_by_distance();
void register_node_type_geo_mesh_face_set_boundaries();
void register_node_type_geo_mesh_primitive_circle();
void register_node_type_geo_mesh_primitive_cone();
void register_node_type_geo_mesh_primitive_cube();
void register_node_type_geo_mesh_primitive_cylinder();
void register_node_type_geo_mesh_primitive_grid();
void register_node_type_geo_mesh_primitive_ico_sphere();
void register_node_type_geo_mesh_primitive_line();
void register_node_type_geo_mesh_primitive_uv_sphere();
void register_node_type_geo_mesh_subdivide();
void register_node_type_geo_mesh_to_curve();
void register_node_type_geo_mesh_to_points();
void register_node_type_geo_mesh_to_volume();
void register_node_type_geo_mesh_topology_corners_of_face();
void register_node_type_geo_mesh_topology_corners_of_vertex();
void register_node_type_geo_mesh_topology_edges_of_corner();
void register_node_type_geo_mesh_topology_edges_of_vertex();
void register_node_type_geo_mesh_topology_face_of_corner();
void register_node_type_geo_mesh_topology_offset_corner_in_face();
void register_node_type_geo_mesh_topology_vertex_of_corner();
void register_node_type_geo_object_info();
void register_node_type_geo_offset_point_in_curve();
void register_node_type_geo_points_to_vertices();
void register_node_type_geo_points_to_volume();
void register_node_type_geo_points();
void register_node_type_geo_proximity();
void register_node_type_geo_raycast();
void register_node_type_geo_realize_instances();
void register_node_type_geo_remove_attribute();
void register_node_type_geo_rotate_instances();
void register_node_type_geo_sample_index();
void register_node_type_geo_sample_nearest_surface();
void register_node_type_geo_sample_nearest();
void register_node_type_geo_sample_uv_surface();
void register_node_type_geo_scale_elements();
void register_node_type_geo_scale_instances();
void register_node_type_geo_select_by_handle_type();
void register_node_type_geo_self_object();
void register_node_type_geo_separate_components();
void register_node_type_geo_separate_geometry();
void register_node_type_geo_set_curve_handles();
void register_node_type_geo_set_curve_normal();
void register_node_type_geo_set_curve_radius();
void register_node_type_geo_set_curve_tilt();
void register_node_type_geo_set_id();
void register_node_type_geo_set_material_index();
void register_node_type_geo_set_material();
void register_node_type_geo_set_point_radius();
void register_node_type_geo_set_position();
void register_node_type_geo_set_shade_smooth();
void register_node_type_geo_set_spline_cyclic();
void register_node_type_geo_set_spline_resolution();
void register_node_type_geo_store_named_attribute();
void register_node_type_geo_string_join();
void register_node_type_geo_string_to_curves();
void register_node_type_geo_subdivision_surface();
void register_node_type_geo_switch();
void register_node_type_geo_transform();
void register_node_type_geo_translate_instances();
void register_node_type_geo_triangulate();
void register_node_type_geo_uv_pack_islands();
void register_node_type_geo_uv_unwrap();
void register_node_type_geo_viewer();
void register_node_type_geo_volume_cube();
void register_node_type_geo_volume_to_mesh();

View File

@ -22,6 +22,7 @@
#include "RNA_access.h"
#include "node_geometry_register.hh"
#include "node_util.h"
struct BVHTreeFromMesh;

View File

@ -30,6 +30,7 @@
#include "MEM_guardedalloc.h"
#include "NOD_common.h"
#include "NOD_register.hh"
#include "node_common.h"
#include "node_util.h"

View File

@ -0,0 +1,65 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "NOD_socket.h"
#include "BKE_node.h"
#include "ED_node.hh"
#include "BLT_translation.h"
#include "RNA_access.h"
static bool node_undefined_poll(bNodeType * /*ntype*/,
bNodeTree * /*nodetree*/,
const char ** /*r_disabled_hint*/)
{
/* this type can not be added deliberately, it's just a placeholder */
return false;
}
/* register fallback types used for undefined tree, nodes, sockets */
static void register_undefined_types()
{
/* NOTE: these types are not registered in the type hashes,
* they are just used as placeholders in case the actual types are not registered.
*/
NodeTreeTypeUndefined.type = NTREE_UNDEFINED;
strcpy(NodeTreeTypeUndefined.idname, "NodeTreeUndefined");
strcpy(NodeTreeTypeUndefined.ui_name, N_("Undefined"));
strcpy(NodeTreeTypeUndefined.ui_description, N_("Undefined Node Tree Type"));
node_type_base_custom(&NodeTypeUndefined, "NodeUndefined", "Undefined", 0);
NodeTypeUndefined.poll = node_undefined_poll;
BLI_strncpy(NodeSocketTypeUndefined.idname,
"NodeSocketUndefined",
sizeof(NodeSocketTypeUndefined.idname));
/* extra type info for standard socket types */
NodeSocketTypeUndefined.type = SOCK_CUSTOM;
NodeSocketTypeUndefined.subtype = PROP_NONE;
NodeSocketTypeUndefined.use_link_limits_of_type = true;
NodeSocketTypeUndefined.input_link_limit = 0xFFF;
NodeSocketTypeUndefined.output_link_limit = 0xFFF;
}
void register_nodes()
{
register_undefined_types();
register_standard_node_socket_types();
register_node_type_frame();
register_node_type_reroute();
register_node_type_group_input();
register_node_type_group_output();
register_composite_nodes();
register_shader_nodes();
register_texture_nodes();
register_geometry_nodes();
register_function_nodes();
}

View File

@ -120,9 +120,11 @@ set(SRC
nodes/node_shader_wavelength.cc
nodes/node_shader_wireframe.cc
node_shader_register.cc
node_shader_tree.cc
node_shader_util.cc
node_shader_register.hh
node_shader_util.hh
)

View File

@ -0,0 +1,112 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "node_shader_register.hh"
void register_shader_nodes()
{
register_node_tree_type_sh();
register_node_type_sh_group();
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_anisotropic();
register_node_type_sh_bsdf_diffuse();
register_node_type_sh_bsdf_glass();
register_node_type_sh_bsdf_glossy();
register_node_type_sh_bsdf_hair_principled();
register_node_type_sh_bsdf_hair();
register_node_type_sh_bsdf_principled();
register_node_type_sh_bsdf_refraction();
register_node_type_sh_bsdf_toon();
register_node_type_sh_bsdf_translucent();
register_node_type_sh_bsdf_transparent();
register_node_type_sh_bsdf_velvet();
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_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_rgb();
register_node_type_sh_mix_shader();
register_node_type_sh_mix();
register_node_type_sh_normal_map();
register_node_type_sh_normal();
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_gradient();
register_node_type_sh_tex_ies();
register_node_type_sh_tex_image();
register_node_type_sh_tex_magic();
register_node_type_sh_tex_musgrave();
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();
register_node_type_sh_wireframe();
}

View File

@ -0,0 +1,110 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
void register_node_tree_type_sh();
void register_node_type_sh_group();
void register_node_type_sh_add_shader();
void register_node_type_sh_ambient_occlusion();
void register_node_type_sh_attribute();
void register_node_type_sh_background();
void register_node_type_sh_bevel();
void register_node_type_sh_blackbody();
void register_node_type_sh_brightcontrast();
void register_node_type_sh_bsdf_anisotropic();
void register_node_type_sh_bsdf_diffuse();
void register_node_type_sh_bsdf_glass();
void register_node_type_sh_bsdf_glossy();
void register_node_type_sh_bsdf_hair_principled();
void register_node_type_sh_bsdf_hair();
void register_node_type_sh_bsdf_principled();
void register_node_type_sh_bsdf_refraction();
void register_node_type_sh_bsdf_toon();
void register_node_type_sh_bsdf_translucent();
void register_node_type_sh_bsdf_transparent();
void register_node_type_sh_bsdf_velvet();
void register_node_type_sh_bump();
void register_node_type_sh_camera();
void register_node_type_sh_clamp();
void register_node_type_sh_combcolor();
void register_node_type_sh_combhsv();
void register_node_type_sh_combrgb();
void register_node_type_sh_combxyz();
void register_node_type_sh_curve_float();
void register_node_type_sh_curve_rgb();
void register_node_type_sh_curve_vec();
void register_node_type_sh_displacement();
void register_node_type_sh_dynamic();
void register_node_type_sh_eevee_metallic();
void register_node_type_sh_eevee_specular();
void register_node_type_sh_emission();
void register_node_type_sh_fresnel();
void register_node_type_sh_gamma();
void register_node_type_sh_geometry();
void register_node_type_sh_hair_info();
void register_node_type_sh_holdout();
void register_node_type_sh_hue_sat();
void register_node_type_sh_invert();
void register_node_type_sh_layer_weight();
void register_node_type_sh_light_falloff();
void register_node_type_sh_light_path();
void register_node_type_sh_map_range();
void register_node_type_sh_mapping();
void register_node_type_sh_math();
void register_node_type_sh_mix_rgb();
void register_node_type_sh_mix_shader();
void register_node_type_sh_mix();
void register_node_type_sh_normal_map();
void register_node_type_sh_normal();
void register_node_type_sh_object_info();
void register_node_type_sh_output_aov();
void register_node_type_sh_output_eevee_material();
void register_node_type_sh_output_light();
void register_node_type_sh_output_linestyle();
void register_node_type_sh_output_material();
void register_node_type_sh_output_world();
void register_node_type_sh_particle_info();
void register_node_type_sh_point_info();
void register_node_type_sh_rgb();
void register_node_type_sh_rgbtobw();
void register_node_type_sh_script();
void register_node_type_sh_sepcolor();
void register_node_type_sh_sephsv();
void register_node_type_sh_seprgb();
void register_node_type_sh_sepxyz();
void register_node_type_sh_shadertorgb();
void register_node_type_sh_squeeze();
void register_node_type_sh_subsurface_scattering();
void register_node_type_sh_tangent();
void register_node_type_sh_tex_brick();
void register_node_type_sh_tex_checker();
void register_node_type_sh_tex_coord();
void register_node_type_sh_tex_environment();
void register_node_type_sh_tex_gradient();
void register_node_type_sh_tex_ies();
void register_node_type_sh_tex_image();
void register_node_type_sh_tex_magic();
void register_node_type_sh_tex_musgrave();
void register_node_type_sh_tex_noise();
void register_node_type_sh_tex_pointdensity();
void register_node_type_sh_tex_sky();
void register_node_type_sh_tex_voronoi();
void register_node_type_sh_tex_wave();
void register_node_type_sh_tex_white_noise();
void register_node_type_sh_uvalongstroke();
void register_node_type_sh_uvmap();
void register_node_type_sh_valtorgb();
void register_node_type_sh_value();
void register_node_type_sh_vect_math();
void register_node_type_sh_vect_transform();
void register_node_type_sh_vector_displacement();
void register_node_type_sh_vector_rotate();
void register_node_type_sh_vertex_color();
void register_node_type_sh_volume_absorption();
void register_node_type_sh_volume_info();
void register_node_type_sh_volume_principled();
void register_node_type_sh_volume_scatter();
void register_node_type_sh_wavelength();
void register_node_type_sh_wireframe();

View File

@ -54,6 +54,8 @@
#include "NOD_multi_function.hh"
#include "NOD_shader.h"
#include "NOD_socket_declarations.hh"
#include "node_shader_register.hh"
#include "node_util.h"
#include "RE_pipeline.h"

View File

@ -47,9 +47,12 @@ set(SRC
nodes/node_texture_valToNor.cc
nodes/node_texture_valToRgb.cc
nodes/node_texture_viewer.cc
node_texture_register.cc
node_texture_tree.cc
node_texture_util.cc
node_texture_register.hh
node_texture_util.hh
)

View File

@ -0,0 +1,48 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "NOD_register.hh"
#include "node_texture_register.hh"
void register_texture_nodes()
{
register_node_tree_type_tex();
register_node_type_tex_group();
register_node_type_tex_at();
register_node_type_tex_bricks();
register_node_type_tex_checker();
register_node_type_tex_combine_color();
register_node_type_tex_compose();
register_node_type_tex_coord();
register_node_type_tex_curve_rgb();
register_node_type_tex_curve_time();
register_node_type_tex_decompose();
register_node_type_tex_distance();
register_node_type_tex_hue_sat();
register_node_type_tex_image();
register_node_type_tex_invert();
register_node_type_tex_math();
register_node_type_tex_mix_rgb();
register_node_type_tex_output();
register_node_type_tex_proc_blend();
register_node_type_tex_proc_clouds();
register_node_type_tex_proc_distnoise();
register_node_type_tex_proc_magic();
register_node_type_tex_proc_marble();
register_node_type_tex_proc_musgrave();
register_node_type_tex_proc_noise();
register_node_type_tex_proc_stucci();
register_node_type_tex_proc_voronoi();
register_node_type_tex_proc_wood();
register_node_type_tex_rgbtobw();
register_node_type_tex_rotate();
register_node_type_tex_scale();
register_node_type_tex_separate_color();
register_node_type_tex_texture();
register_node_type_tex_translate();
register_node_type_tex_valtonor();
register_node_type_tex_valtorgb();
register_node_type_tex_viewer();
}

View File

@ -0,0 +1,43 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
void register_node_tree_type_tex();
void register_node_type_tex_group();
void register_node_type_tex_at();
void register_node_type_tex_bricks();
void register_node_type_tex_checker();
void register_node_type_tex_combine_color();
void register_node_type_tex_compose();
void register_node_type_tex_coord();
void register_node_type_tex_curve_rgb();
void register_node_type_tex_curve_time();
void register_node_type_tex_decompose();
void register_node_type_tex_distance();
void register_node_type_tex_hue_sat();
void register_node_type_tex_image();
void register_node_type_tex_invert();
void register_node_type_tex_math();
void register_node_type_tex_mix_rgb();
void register_node_type_tex_output();
void register_node_type_tex_proc_blend();
void register_node_type_tex_proc_clouds();
void register_node_type_tex_proc_distnoise();
void register_node_type_tex_proc_magic();
void register_node_type_tex_proc_marble();
void register_node_type_tex_proc_musgrave();
void register_node_type_tex_proc_noise();
void register_node_type_tex_proc_stucci();
void register_node_type_tex_proc_voronoi();
void register_node_type_tex_proc_wood();
void register_node_type_tex_rgbtobw();
void register_node_type_tex_rotate();
void register_node_type_tex_scale();
void register_node_type_tex_separate_color();
void register_node_type_tex_texture();
void register_node_type_tex_translate();
void register_node_type_tex_valtonor();
void register_node_type_tex_valtorgb();
void register_node_type_tex_viewer();

View File

@ -37,6 +37,8 @@
#include "BKE_texture.h"
#include "NOD_texture.h"
#include "node_texture_register.hh"
#include "node_util.h"
#include "BLT_translation.h"