Blender
V3.3
|
#include "scene/shader.h"
#include "scene/background.h"
#include "scene/colorspace.h"
#include "scene/integrator.h"
#include "scene/light.h"
#include "scene/osl.h"
#include "scene/scene.h"
#include "scene/shader_graph.h"
#include "scene/shader_nodes.h"
#include "blender/image.h"
#include "blender/sync.h"
#include "blender/texture.h"
#include "blender/util.h"
#include "util/debug.h"
#include "util/foreach.h"
#include "util/set.h"
#include "util/string.h"
#include "util/task.h"
Go to the source code of this file.
Typedefs | |
typedef map< void *, ShaderOutput * > | PtrOutputMap |
typedef map< string, ConvertNode * > | ProxyMap |
Functions | |
static VolumeSampling | get_volume_sampling (PointerRNA &ptr) |
static VolumeInterpolation | get_volume_interpolation (PointerRNA &ptr) |
static DisplacementMethod | get_displacement_method (PointerRNA &ptr) |
static int | validate_enum_value (int value, int num_values, int default_value) |
template<typename NodeType > | |
static InterpolationType | get_image_interpolation (NodeType &b_node) |
template<typename NodeType > | |
static ExtensionType | get_image_extension (NodeType &b_node) |
static ImageAlphaType | get_image_alpha_type (BL::Image &b_image) |
static const string_view | object_attr_prefix ("\x01object:") |
static const string_view | instancer_attr_prefix ("\x01instancer:") |
static ustring | blender_attribute_name_add_type (const string &name, BlenderAttributeType type) |
BlenderAttributeType | blender_attribute_name_split_type (ustring name, string *r_real_name) |
static BL::NodeSocket | get_node_output (BL::Node &b_node, const string &name) |
static float3 | get_node_output_rgba (BL::Node &b_node, const string &name) |
static float | get_node_output_value (BL::Node &b_node, const string &name) |
static float3 | get_node_output_vector (BL::Node &b_node, const string &name) |
static SocketType::Type | convert_socket_type (BL::NodeSocket &b_socket) |
static void | set_default_value (ShaderInput *input, BL::NodeSocket &b_sock, BL::BlendData &b_data, BL::ID &b_id) |
static void | get_tex_mapping (TextureNode *mapping, BL::TexMapping &b_mapping) |
static bool | is_image_animated (BL::Image::source_enum b_image_source, BL::ImageUser &b_image_user) |
static ShaderNode * | add_node (Scene *scene, BL::RenderEngine &b_engine, BL::BlendData &b_data, BL::Depsgraph &b_depsgraph, BL::Scene &b_scene, ShaderGraph *graph, BL::ShaderNodeTree &b_ntree, BL::ShaderNode &b_node) |
static bool | node_use_modified_socket_name (ShaderNode *node) |
static ShaderInput * | node_find_input_by_name (ShaderNode *node, BL::NodeSocket &b_socket) |
static ShaderOutput * | node_find_output_by_name (ShaderNode *node, BL::NodeSocket &b_socket) |
static void | add_nodes (Scene *scene, BL::RenderEngine &b_engine, BL::BlendData &b_data, BL::Depsgraph &b_depsgraph, BL::Scene &b_scene, ShaderGraph *graph, BL::ShaderNodeTree &b_ntree, const ProxyMap &proxy_input_map, const ProxyMap &proxy_output_map) |
static void | add_nodes (Scene *scene, BL::RenderEngine &b_engine, BL::BlendData &b_data, BL::Depsgraph &b_depsgraph, BL::Scene &b_scene, ShaderGraph *graph, BL::ShaderNodeTree &b_ntree) |
Variables | |
CCL_NAMESPACE_BEGIN typedef map< void *, ShaderInput * > | PtrInputMap |
typedef map<string, ConvertNode *> ProxyMap |
Definition at line 29 of file blender/shader.cpp.
typedef map<void *, ShaderOutput *> PtrOutputMap |
Definition at line 28 of file blender/shader.cpp.
|
static |
Definition at line 260 of file blender/shader.cpp.
References ImageManager::add_image(), blender_absolute_path(), blender_attribute_name_add_type(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_SHARP_GLASS_ID, CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, color, colorramp_to_array(), copysignf, curve, curvemapping_color_to_array(), curvemapping_float_to_array(), curvemapping_minmax(), curves, fabsf, fmodf, get_enum(), get_enum_identifier(), get_float3(), get_image_alpha_type(), get_image_extension(), get_image_interpolation(), get_node_output_rgba(), get_node_output_value(), get_node_output_vector(), get_tex_mapping(), get_text_datablock_content(), get_transform(), graph, ImageSlotTextureNode::handle, PointDensityTextureNode::handle, image(), Scene::image_manager, EnvironmentTextureNode::image_params(), PointDensityTextureNode::image_params(), image_user_file_path(), image_user_frame_number(), blender::bke::attribute_accessor_functions::is_builtin(), is_image_animated(), M_2PI_F, M_PI_2_F, M_PI_F, magic(), mix, node, NODE_PRINCIPLED_HAIR_NUM, NODE_PRINCIPLED_HAIR_REFLECTANCE, noise(), norm(), blender::math::normalize(), NULL, ShaderNode::outputs, point_density_texture_space(), principled_hair(), RAMP_TABLE_SIZE, scene, Node::set_value(), Scene::shader_manager, size(), tex_coord, tiles, transform_inverse(), transform_scale(), transform_translate(), ShaderManager::use_osl(), and void.
Referenced by add_nodes().
|
static |
Definition at line 1322 of file blender/shader.cpp.
References add_nodes(), graph, and scene.
|
static |
Definition at line 1132 of file blender/shader.cpp.
References add_node(), convert_socket_type(), graph, input, ShaderNode::inputs, node, node_find_input_by_name(), node_find_output_by_name(), NULL, output, ShaderNode::outputs, PointerRNA_NULL, PtrInputMap, scene, set_default_value(), and SocketType::UNDEFINED.
Referenced by add_nodes().
|
static |
Definition at line 107 of file blender/shader.cpp.
References instancer_attr_prefix(), object_attr_prefix(), and type.
Referenced by add_node().
BlenderAttributeType blender_attribute_name_split_type | ( | ustring | name, |
string * | r_real_name | ||
) |
Definition at line 119 of file blender/shader.cpp.
References instancer_attr_prefix(), and object_attr_prefix().
|
static |
Definition at line 171 of file blender/shader.cpp.
References SocketType::CLOSURE, SocketType::COLOR, SocketType::FLOAT, SocketType::INT, SocketType::STRING, SocketType::UNDEFINED, and SocketType::VECTOR.
Referenced by add_nodes().
|
static |
Definition at line 56 of file blender/shader.cpp.
References DISPLACE_BUMP, DISPLACE_NUM_METHODS, get_enum(), and ptr.
|
static |
Definition at line 83 of file blender/shader.cpp.
References IMAGE_ALPHA_AUTO, IMAGE_ALPHA_NUM_TYPES, and validate_enum_value().
Referenced by add_node().
|
static |
Definition at line 77 of file blender/shader.cpp.
References EXTENSION_NUM_TYPES, EXTENSION_REPEAT, and validate_enum_value().
Referenced by add_node().
|
static |
Definition at line 70 of file blender/shader.cpp.
References INTERPOLATION_LINEAR, INTERPOLATION_NUM_TYPES, and validate_enum_value().
Referenced by add_node().
|
static |
Definition at line 138 of file blender/shader.cpp.
Referenced by get_node_output_rgba(), get_node_output_value(), and get_node_output_vector().
|
static |
Definition at line 149 of file blender/shader.cpp.
References get_node_output(), make_float3, and RNA_float_get_array().
Referenced by add_node().
|
static |
Definition at line 157 of file blender/shader.cpp.
References get_node_output(), and RNA_float_get().
Referenced by add_node().
|
static |
Definition at line 163 of file blender/shader.cpp.
References get_node_output(), make_float3, and RNA_float_get_array().
Referenced by add_node().
|
static |
Definition at line 238 of file blender/shader.cpp.
References get_float3().
Referenced by add_node().
|
static |
Definition at line 50 of file blender/shader.cpp.
References get_enum(), ptr, VOLUME_INTERPOLATION_LINEAR, and VOLUME_NUM_INTERPOLATION.
|
static |
Definition at line 44 of file blender/shader.cpp.
References get_enum(), ptr, VOLUME_NUM_SAMPLING, and VOLUME_SAMPLING_DISTANCE.
|
static |
Referenced by blender_attribute_name_add_type(), and blender_attribute_name_split_type().
|
static |
Definition at line 253 of file blender/shader.cpp.
Referenced by add_node().
|
static |
Definition at line 1077 of file blender/shader.cpp.
References input, node, node_use_modified_socket_name(), string_endswith(), string_replace(), and string_startswith().
Referenced by add_nodes().
|
static |
Definition at line 1116 of file blender/shader.cpp.
References node, node_use_modified_socket_name(), and output.
Referenced by add_nodes().
|
static |
Definition at line 1069 of file blender/shader.cpp.
References node, and SHADER_SPECIAL_TYPE_OSL.
Referenced by node_find_input_by_name(), and node_find_output_by_name().
|
static |
Referenced by blender_attribute_name_add_type(), and blender_attribute_name_split_type().
|
static |
Definition at line 192 of file blender/shader.cpp.
References blender_absolute_path(), SocketType::COLOR, SocketType::FLOAT, float4_to_float3(), get_boolean(), get_float(), get_float3(), get_float4(), get_int(), get_string(), input, SocketType::INT, node, SocketType::NORMAL, SocketType::POINT, SocketType::STRING, and SocketType::VECTOR.
Referenced by add_nodes().
|
static |
Definition at line 62 of file blender/shader.cpp.
References num_values.
Referenced by get_image_alpha_type(), get_image_extension(), and get_image_interpolation().
CCL_NAMESPACE_BEGIN typedef map<void *, ShaderInput *> PtrInputMap |
Definition at line 27 of file blender/shader.cpp.
Referenced by add_nodes().