|
Blender V5.0
|
#include "usd_reader_material.hh"#include "usd_asset_utils.hh"#include "usd_hash_types.hh"#include "usd_reader_utils.hh"#include "usd_utils.hh"#include "BKE_image.hh"#include "BKE_lib_id.hh"#include "BKE_library.hh"#include "BKE_main.hh"#include "BKE_material.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_node_tree_update.hh"#include "BKE_report.hh"#include "BLI_fileops.h"#include "BLI_listbase.h"#include "BLI_map.hh"#include "BLI_math_vector.h"#include "BLI_math_vector_types.hh"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "BLI_string_utf8.h"#include "BLI_vector.hh"#include "DNA_material_types.h"#include "IMB_colormanagement.hh"#include <pxr/base/gf/vec3f.h>#include <pxr/usd/ar/packageUtils.h>#include <pxr/usd/usdShade/material.h>#include <pxr/usd/usdShade/shader.h>#include "CLG_log.h"Go to the source code of this file.
Classes | |
| struct | blender::io::usd::IntermediateNode |
Namespaces | |
| namespace | usdtokens |
| namespace | blender |
| namespace | blender::io |
| namespace | blender::io::usd |
Typedefs | |
| using | ShaderToNodeMap |
Functions | |
| static const pxr::TfToken | usdtokens::a ("a", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::b ("b", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::bias ("bias", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::clearcoat ("clearcoat", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::clearcoatRoughness ("clearcoatRoughness", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::diffuseColor ("diffuseColor", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::displacement ("displacement", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::emissiveColor ("emissiveColor", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::file ("file", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::g ("g", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::ior ("ior", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::in ("in", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::metallic ("metallic", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::normal ("normal", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::occlusion ("occlusion", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::opacity ("opacity", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::opacityThreshold ("opacityThreshold", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::r ("r", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::rgb ("rgb", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::rgba ("rgba", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::roughness ("roughness", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::scale ("scale", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::sourceColorSpace ("sourceColorSpace", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::specularColor ("specularColor", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::st ("st", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::varname ("varname", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::auto_ ("auto", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::sRGB ("sRGB", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::raw ("raw", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::RAW ("RAW", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::black ("black", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::clamp ("clamp", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::repeat ("repeat", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::mirror ("mirror", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::wrapS ("wrapS", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::wrapT ("wrapT", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::rotation ("rotation", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::translation ("translation", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::UsdPreviewSurface ("UsdPreviewSurface", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::UsdPrimvarReader_float2 ("UsdPrimvarReader_float2", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::UsdUVTexture ("UsdUVTexture", pxr::TfToken::Immortal) |
| static const pxr::TfToken | usdtokens::UsdTransform2d ("UsdTransform2d", pxr::TfToken::Immortal) |
| static bNode * | add_node (bNodeTree *ntree, const int type, const blender::float2 loc) |
| static void | link_nodes (bNodeTree *ntree, bNode *source, const blender::StringRefNull sock_out, bNode *dest, const blender::StringRefNull sock_in) |
| static pxr::SdfLayerHandle | get_layer_handle (const pxr::UsdAttribute &attribute) |
| static blender::Vector< int > | get_udim_tiles (const std::string &file_path) |
| static void | add_udim_tiles (Image *image, const blender::Vector< int > &indices) |
| static bool | needs_blend (const pxr::UsdShadeShader &usd_shader) |
| static float | get_opacity_threshold (const pxr::UsdShadeShader &usd_shader, float default_value=0.0f) |
| static pxr::TfToken | get_source_color_space (const pxr::UsdShadeShader &usd_shader) |
| static int | get_image_extension (const pxr::UsdShadeShader &usd_shader, const int default_value) |
| static bool | get_usd_preview_surface (const pxr::UsdShadeMaterial &usd_material, pxr::UsdShadeShader &r_preview_surface) |
| static void | set_viewport_material_props (Material *mtl, const pxr::UsdShadeShader &usd_preview) |
| static pxr::UsdShadeInput | get_input (const pxr::UsdShadeShader &usd_shader, const pxr::TfToken &input_name) |
| static bNodeSocket * | get_input_socket (bNode *node, const blender::StringRefNull identifier, ReportList *reports) |
| static IntermediateNode | blender::io::usd::add_normal_map (bNodeTree *ntree, int column, NodePlacementContext &ctx) |
| static IntermediateNode | blender::io::usd::add_scale_bias (const pxr::UsdShadeShader &usd_shader, bNodeTree *ntree, int column, bool feeds_normal_map, NodePlacementContext &ctx) |
| static IntermediateNode | blender::io::usd::add_scale_bias_adjust (bNodeTree *ntree, int column, NodePlacementContext &ctx) |
| static IntermediateNode | blender::io::usd::add_separate_color (const pxr::UsdShadeShader &usd_shader, const pxr::TfToken &usd_source_name, bNodeTree *ntree, int column, NodePlacementContext &ctx) |
| static IntermediateNode | blender::io::usd::add_lessthan (bNodeTree *ntree, float threshold, int column, NodePlacementContext &ctx) |
| static IntermediateNode | blender::io::usd::add_oneminus (bNodeTree *ntree, int column, NodePlacementContext &ctx) |
| static void | blender::io::usd::configure_displacement (const pxr::UsdShadeShader &usd_shader, bNode *displacement_node) |
| static pxr::UsdShadeShader | blender::io::usd::node_graph_output_source (const pxr::UsdShadeNodeGraph &node_graph, const pxr::TfToken &output_name) |
| void | blender::io::usd::build_material_map (const Main *bmain, blender::Map< std::string, Material * > &r_mat_map) |
| Material * | blender::io::usd::find_existing_material (const pxr::SdfPath &usd_mat_path, const USDImportParams ¶ms, const blender::Map< std::string, Material * > &mat_map, const blender::Map< pxr::SdfPath, Material * > &usd_path_to_mat) |
Variables | |
| static CLG_LogRef | LOG = {"io.usd"} |
Definition at line 27 of file usd_reader_material.hh.
|
static |
Definition at line 103 of file usd_reader_material.cc.
References bNode::location, and blender::bke::node_add_static_node().
Referenced by blender::io::usd::add_lessthan(), blender::io::usd::add_normal_map(), blender::io::usd::add_oneminus(), blender::io::usd::add_scale_bias(), blender::io::usd::add_scale_bias_adjust(), blender::io::usd::add_separate_color(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_float2(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_generic(), blender::io::usd::USDMaterialReader::convert_usd_transform_2d(), blender::io::usd::USDMaterialReader::convert_usd_uv_texture(), do_version_map_value_node(), do_versions_material_convert_legacy_blend_mode(), blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), blender::io::usd::USDMaterialReader::set_displacement_node_inputs(), and versioning_replace_musgrave_texture_node().
|
static |
Definition at line 178 of file usd_reader_material.cc.
References BKE_image_add_tile(), BKE_image_get_tile, BKE_image_remove_tile(), IMA_SRC_TILED, indices, Image::source, and ImageTile::tile_number.
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
|
static |
Definition at line 271 of file usd_reader_material.cc.
References usdtokens::black(), usdtokens::clamp(), usdtokens::mirror(), usdtokens::repeat(), SHD_IMAGE_EXTENSION_CLIP, SHD_IMAGE_EXTENSION_EXTEND, SHD_IMAGE_EXTENSION_MIRROR, SHD_IMAGE_EXTENSION_REPEAT, usdtokens::wrapS(), and usdtokens::wrapT().
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
|
static |
Definition at line 372 of file usd_reader_material.cc.
References input.
Referenced by blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_average_color(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_average_log_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_average_luminance(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::compute_blur_kernel(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_depth(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_depth_cpu(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_depth_gpu(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_scale(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_scale_cpu(), blender::nodes::node_composite_defocus_cc::DefocusOperation::compute_defocus_radius_from_scale_gpu(), blender::nodes::node_composite_double_edge_mask_cc::DoubleEdgeMaskOperation::compute_gradient_cpu(), blender::nodes::node_composite_double_edge_mask_cc::DoubleEdgeMaskOperation::compute_gradient_gpu(), blender::nodes::node_composite_keying_cc::KeyingOperation::compute_image_cpu(), blender::nodes::node_composite_keying_cc::KeyingOperation::compute_image_gpu(), blender::nodes::node_composite_inpaint_cc::InpaintOperation::compute_inpainting_region_cpu(), blender::nodes::node_composite_inpaint_cc::InpaintOperation::compute_inpainting_region_gpu(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_log_maximum_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_log_minimum_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_luminance_scale_blend_factor(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::compute_max_tile_velocity(), blender::nodes::node_composite_blur_cc::BlurOperation::compute_maximum_blur_size(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::compute_motion_blur(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::compute_structure_tensor_cpu(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::compute_structure_tensor_gpu(), blender::nodes::node_composite_keying_cc::KeyingOperation::compute_tweaked_matte(), blender::nodes::node_composite_keying_cc::KeyingOperation::compute_tweaked_matte_cpu(), blender::nodes::node_composite_keying_cc::KeyingOperation::compute_tweaked_matte_gpu(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::compute_variable_size_search_radius(), blender::io::usd::USDMaterialReader::convert_usd_transform_2d(), blender::nodes::node_composite_group_output_cc::GroupOutputOperation::execute(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::execute(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::execute_cpu(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::execute_distance(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::execute_distance_feather(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::execute_distance_threshold_cpu(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::execute_distance_threshold_gpu(), blender::nodes::node_composite_glare_cc::GlareOperation::execute_mix_cpu(), blender::nodes::node_composite_glare_cc::GlareOperation::execute_mix_gpu(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::execute_photoreceptor_cpu(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::execute_photoreceptor_gpu(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::execute_variable_size_cpu(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::execute_variable_size_gpu(), blender::nodes::node_composite_inpaint_cc::InpaintOperation::fill_inpainting_region_cpu(), blender::nodes::node_composite_inpaint_cc::InpaintOperation::fill_inpainting_region_gpu(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_black_level(), blender::nodes::node_composite_bilateralblur_cc::BilateralBlurOperation::get_blur_radius(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::get_blur_radius(), blender::nodes::node_composite_blur_cc::BlurOperation::get_blur_size(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_chromatic_adaptation(), blender::nodes::node_composite_glare_cc::GlareOperation::get_color_modulation(), blender::nodes::node_composite_despeckle_cc::DespeckleOperation::get_color_threshold(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_contrast(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_despill_balance(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_despill_strength(), blender::nodes::node_composite_glare_cc::GlareOperation::get_diagonal_star(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::get_eccentricity(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_edge_search_size(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_edge_tolerance(), blender::nodes::node_composite_blur_cc::BlurOperation::get_extend_bounds(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::get_extend_bounds(), blender::nodes::node_composite_glare_cc::GlareOperation::get_fade(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::get_falloff(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::get_falloff_size(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_feather_falloff(), blender::nodes::node_composite_flip_cc::FlipOperation::get_flip_x(), blender::nodes::node_composite_flip_cc::FlipOperation::get_flip_y(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_gamma(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::get_high_precision(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_intensity(), blender::nodes::node_composite_glare_cc::GlareOperation::get_jitter_factor(), blender::nodes::node_composite_glare_cc::GlareOperation::get_kernel_data_type(), blender::nodes::node_composite_glare_cc::GlareOperation::get_kernel_input(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_key(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_key_balance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_light_adaptation(), blender::nodes::node_composite_inpaint_cc::InpaintOperation::get_max_distance(), blender::nodes::node_composite_despeckle_cc::DespeckleOperation::get_neighbor_threshold(), blender::nodes::node_composite_glare_cc::GlareOperation::get_number_of_iterations(), blender::nodes::node_composite_glare_cc::GlareOperation::get_number_of_streaks(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_postprocess_blur_size(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_postprocess_dilate_size(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_postprocess_feather_size(), blender::nodes::node_composite_glare_cc::GlareOperation::get_quality(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::get_samples_count(), blender::nodes::node_composite_glare_cc::GlareOperation::get_saturation(), blender::nodes::node_composite_blur_cc::BlurOperation::get_separable(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::get_sharpness(), blender::nodes::node_composite_vec_blur_cc::VectorBlurOperation::get_shutter(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::get_size(), blender::nodes::node_composite_glare_cc::GlareOperation::get_size(), blender::nodes::node_composite_glare_cc::GlareOperation::get_streaks_angle(), blender::nodes::node_composite_glare_cc::GlareOperation::get_strength(), blender::nodes::node_composite_glare_cc::GlareOperation::get_sun_position(), blender::nodes::node_composite_bilateralblur_cc::BilateralBlurOperation::get_threshold(), blender::nodes::node_composite_glare_cc::GlareOperation::get_tint(), blender::nodes::node_composite_blur_cc::BlurOperation::get_type(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::get_type(), blender::nodes::node_composite_filter_cc::FilterOperation::get_type(), blender::nodes::node_composite_glare_cc::GlareOperation::get_type(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::get_type(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::get_type(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::get_uniformity(), blender::nodes::node_composite_keying_cc::KeyingOperation::get_white_level(), blender::nodes::node_composite_double_edge_mask_cc::DoubleEdgeMaskOperation::include_all_inner_edges(), blender::nodes::node_composite_double_edge_mask_cc::DoubleEdgeMaskOperation::include_edges_of_image(), blender::nodes::node_composite_kuwahara_cc::ConvertKuwaharaOperation::is_constant_size(), blender::nodes::node_composite_blur_cc::BlurOperation::is_identity(), blender::nodes::node_composite_bokehblur_cc::BokehBlurOperation::is_identity(), blender::nodes::node_composite_dilate_cc::DilateErodeOperation::is_identity(), blender::nodes::node_composite_glare_cc::GlareOperation::write_glare_output_cpu(), and blender::nodes::node_composite_glare_cc::GlareOperation::write_glare_output_gpu().
|
static |
Definition at line 393 of file usd_reader_material.cc.
References BKE_reportf(), blender::StringRefNull::c_str(), bNode::idname, blender::bke::node_find_socket(), RPT_ERROR, and SOCK_IN.
Referenced by blender::io::usd::USDMaterialReader::convert_usd_transform_2d().
|
static |
Definition at line 139 of file usd_reader_material.cc.
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
|
static |
Definition at line 228 of file usd_reader_material.cc.
References usdtokens::opacityThreshold().
Referenced by blender::io::usd::USDMaterialReader::set_principled_node_inputs().
|
static |
Definition at line 251 of file usd_reader_material.cc.
References usdtokens::sourceColorSpace().
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
|
static |
Definition at line 154 of file usd_reader_material.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_image_get_tile_info(), BLI_freelistN(), FILE_MAX, LISTBASE_FOREACH, POINTER_AS_INT, result, STRNCPY(), tile, and tiles.
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
|
static |
Definition at line 312 of file usd_reader_material.cc.
References usdtokens::UsdPreviewSurface().
Referenced by blender::io::usd::USDMaterialReader::import_usd_preview().
|
static |
Definition at line 113 of file usd_reader_material.cc.
References blender::StringRefNull::c_str(), CLOG_ERROR, LOG, blender::bke::node_add_link(), blender::bke::node_count_socket_links(), blender::bke::node_find_socket(), SOCK_IN, and SOCK_OUT.
Referenced by blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_float2(), blender::io::usd::USDMaterialReader::convert_usd_primvar_reader_generic(), blender::io::usd::USDMaterialReader::convert_usd_transform_2d(), blender::io::usd::USDMaterialReader::convert_usd_uv_texture(), blender::io::usd::USDMaterialReader::follow_connection(), blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), and blender::io::usd::USDMaterialReader::set_displacement_node_inputs().
|
static |
Definition at line 201 of file usd_reader_material.cc.
References needs_blend(), and usdtokens::opacity().
Referenced by blender::io::usd::USDMaterialReader::import_usd_preview_nodes(), and needs_blend().
|
static |
Definition at line 333 of file usd_reader_material.cc.
References Material::b, usdtokens::diffuseColor(), Material::g, Material::metallic, usdtokens::metallic(), Material::r, Material::roughness, and usdtokens::roughness().
Referenced by blender::io::usd::USDMaterialReader::import_usd_preview().
|
static |
Definition at line 42 of file usd_reader_material.cc.