Blender
V3.3
|
#include "DNA_node_types.h"
#include "node_shader_util.hh"
#include "NOD_socket_search_link.hh"
#include "node_exec.h"
Go to the source code of this file.
|
static |
Definition at line 157 of file node_shader_util.cc.
References LISTBASE_FOREACH_INDEX, and node_data_from_gpu_stack().
Referenced by ntreeExecGPUNodes().
void get_XYZ_to_RGB_for_gpu | ( | XYZ_to_RGB * | data | ) |
Definition at line 330 of file node_shader_util.cc.
References data, IMB_colormanagement_get_xyz_to_scene_linear(), and xyz_to_rgb().
Referenced by blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky().
|
static |
Definition at line 147 of file node_shader_util.cc.
References GPUNodeStack::end, LISTBASE_FOREACH_INDEX, node_gpu_stack_from_data(), and GPUNodeStack::type.
Referenced by ntreeExecGPUNodes().
void node_data_from_gpu_stack | ( | bNodeStack * | ns, |
GPUNodeStack * | gs | ||
) |
Definition at line 140 of file node_shader_util.cc.
References copy_v4_v4(), bNodeStack::data, GPUNodeStack::link, GPUNodeStack::sockettype, bNodeStack::sockettype, GPUNodeStack::vec, and bNodeStack::vec.
Referenced by data_from_gpu_stack_list(), and group_gpu_copy_inputs().
Definition at line 177 of file node_shader_util.cc.
References BLI_assert, ELEM, bNode::flag, LISTBASE_FOREACH, node, NODE_ACTIVE, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, NODE_GROUP, bNodeTree::nodes, nodeSupportsActiveFlag(), and ntree.
Referenced by nodeGetActivePaintCanvas(), and nodeGetActiveTexture().
void node_gpu_stack_from_data | ( | struct GPUNodeStack * | gs, |
int | type, | ||
bNodeStack * | ns | ||
) |
Definition at line 93 of file node_shader_util.cc.
References bNodeStack::data, GPU_CLOSURE, GPU_FLOAT, GPU_NONE, GPU_VEC3, GPU_VEC4, GPUNodeStack::hasinput, bNodeStack::hasinput, GPUNodeStack::hasoutput, bNodeStack::hasoutput, if(), GPUNodeStack::link, nodestack_get_vec(), SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_SHADER, SOCK_VECTOR, GPUNodeStack::sockettype, bNodeStack::sockettype, type, GPUNodeStack::type, GPUNodeStack::vec, and zero_v4().
Referenced by gpu_stack_from_data_list(), and group_gpu_move_outputs().
void node_shader_gpu_bump_tex_coord | ( | GPUMaterial * | mat, |
bNode * | UNUSEDnode, | ||
GPUNodeLink ** | link | ||
) |
Definition at line 287 of file node_shader_util.cc.
References GPU_link().
Referenced by blender::nodes::node_shader_attribute_cc::node_shader_gpu_attribute(), node_shader_gpu_default_tex_coord(), blender::nodes::node_shader_geometry_cc::node_shader_gpu_geometry(), blender::nodes::node_shader_tex_coord_cc::node_shader_gpu_tex_coord(), blender::nodes::node_shader_tex_environment_cc::node_shader_gpu_tex_environment(), blender::nodes::node_shader_tex_image_cc::node_shader_gpu_tex_image(), and blender::nodes::node_shader_uvmap_cc::node_shader_gpu_uvmap().
void node_shader_gpu_default_tex_coord | ( | GPUMaterial * | mat, |
bNode * | node, | ||
GPUNodeLink ** | link | ||
) |
Definition at line 292 of file node_shader_util.cc.
References CD_ORCO, GPU_attribute(), node, and node_shader_gpu_bump_tex_coord().
Referenced by blender::nodes::node_shader_tex_brick_cc::node_shader_gpu_tex_brick(), blender::nodes::node_shader_tex_checker_cc::node_shader_gpu_tex_checker(), blender::nodes::node_shader_tex_gradient_cc::node_shader_gpu_tex_gradient(), blender::nodes::node_shader_tex_magic_cc::node_shader_gpu_tex_magic(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_gpu_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_gpu_tex_noise(), blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_gpu_tex_voronoi(), and blender::nodes::node_shader_tex_wave_cc::node_shader_gpu_tex_wave().
void node_shader_gpu_tex_mapping | ( | GPUMaterial * | mat, |
bNode * | node, | ||
GPUNodeStack * | in, | ||
GPUNodeStack * | UNUSEDout | ||
) |
Definition at line 300 of file node_shader_util.cc.
References GPU_link(), GPU_uniform(), max, min, node, NodeTexBase::tex_mapping, TEXMAP_CLIP_MAX, TEXMAP_CLIP_MIN, TEXMAP_TYPE_NORMAL, and TEXMAP_UNIT_MATRIX.
Referenced by blender::nodes::node_shader_tex_brick_cc::node_shader_gpu_tex_brick(), blender::nodes::node_shader_tex_checker_cc::node_shader_gpu_tex_checker(), blender::nodes::node_shader_tex_environment_cc::node_shader_gpu_tex_environment(), blender::nodes::node_shader_tex_gradient_cc::node_shader_gpu_tex_gradient(), blender::nodes::node_shader_tex_image_cc::node_shader_gpu_tex_image(), blender::nodes::node_shader_tex_magic_cc::node_shader_gpu_tex_magic(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_gpu_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_gpu_tex_noise(), blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_gpu_tex_voronoi(), and blender::nodes::node_shader_tex_wave_cc::node_shader_gpu_tex_wave().
Definition at line 242 of file node_shader_util.cc.
References NODE_ACTIVE_PAINT_CANVAS, node_get_active(), and ntree.
Referenced by BKE_texpaint_slot_refresh_cache().
Two active flags, ID nodes have special flag for buttons display.
Definition at line 237 of file node_shader_util.cc.
References NODE_ACTIVE_TEXTURE, node_get_active(), and ntree.
Referenced by ED_object_assign_active_image(), and ED_object_get_active_image().
|
static |
Definition at line 54 of file node_shader_util.cc.
References copy_v3_v3(), copy_v4_v4(), from, SOCK_FLOAT, SOCK_RGBA, SOCK_VECTOR, bNodeStack::sockettype, and bNodeStack::vec.
Referenced by node_gpu_stack_from_data().
Definition at line 165 of file node_shader_util.cc.
References BLI_assert, ELEM, node, NODE_ACTIVE_PAINT_CANVAS, NODE_ACTIVE_TEXTURE, NODE_CLASS_TEXTURE, SH_NODE_ATTRIBUTE, and SH_NODE_TEX_IMAGE.
Referenced by node_get_active().
void ntreeExecGPUNodes | ( | bNodeTreeExec * | exec, |
GPUMaterial * | mat, | ||
bNode * | output_node | ||
) |
Definition at line 247 of file node_shader_util.cc.
References bNodeExec::data, data_from_gpu_stack_list(), exec(), gpu_stack_from_data_list(), MAX_SOCKET, node, bNodeExec::node, NODE_CLASS_OUTPUT, and node_get_stack().
Referenced by gpu_group_execute(), and ntreeGPUMaterialNodes().
Definition at line 45 of file node_shader_util.cc.
References bNodeType::gather_link_search_ops, bNodeType::poll, blender::nodes::search_link_ops_for_basic_node(), sh_fn_poll_default(), sh_node_type_base(), and type.
Referenced by register_node_type_sh_clamp(), 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_map_range(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_seprgb(), register_node_type_sh_sepxyz(), register_node_type_sh_tex_brick(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_tex_white_noise(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), and register_node_type_sh_vector_rotate().
|
static |
Definition at line 25 of file node_shader_util.cc.
References bNodeTree::idname, ntree, STR_ELEM, and TIP_.
Referenced by sh_fn_node_type_base().
bool sh_node_poll_default | ( | bNodeType * | UNUSEDntype, |
bNodeTree * | ntree, | ||
const char ** | r_disabled_hint | ||
) |
Definition at line 16 of file node_shader_util.cc.
References bNodeTree::idname, ntree, STREQ, and TIP_.
Referenced by register_node_type_sh_custom_group(), register_node_type_sh_group(), and sh_node_type_base().
Definition at line 36 of file node_shader_util.cc.
References bNodeType::gather_link_search_ops, bNodeType::insert_link, node_insert_link_default(), node_type_base(), bNodeType::poll, blender::nodes::search_link_ops_for_basic_node(), sh_node_poll_default(), and type.
Referenced by 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(), register_node_type_sh_bsdf_hair_principled(), 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_combcolor(), register_node_type_sh_combhsv(), 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_mapping(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_normal_map(), register_node_type_sh_object_info(), register_node_type_sh_output_aov(), register_node_type_sh_output_light(), register_node_type_sh_output_linestyle(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_particle_info(), register_node_type_sh_point_info(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_script(), register_node_type_sh_sepcolor(), register_node_type_sh_sephsv(), register_node_type_sh_shadertorgb(), register_node_type_sh_squeeze(), register_node_type_sh_subsurface_scattering(), register_node_type_sh_tangent(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_ies(), register_node_type_sh_tex_image(), register_node_type_sh_tex_pointdensity(), register_node_type_sh_tex_sky(), register_node_type_sh_uvalongstroke(), register_node_type_sh_uvmap(), register_node_type_sh_vect_transform(), register_node_type_sh_vector_displacement(), 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(), and sh_fn_node_type_base().