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:
parent
8d269a2488
commit
86ade3df56
|
@ -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;
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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();
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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();
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "node_composite_register.hh"
|
||||
#include "node_util.h"
|
||||
|
||||
#include "NOD_composite.h"
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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();
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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();
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#include "RNA_access.h"
|
||||
|
||||
#include "node_geometry_register.hh"
|
||||
#include "node_util.h"
|
||||
|
||||
struct BVHTreeFromMesh;
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "MEM_guardedalloc.h"
|
||||
|
||||
#include "NOD_common.h"
|
||||
#include "NOD_register.hh"
|
||||
#include "node_common.h"
|
||||
#include "node_util.h"
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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();
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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();
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue