281 BL::RenderEngine &b_engine,
282 BL::BlendData &b_data,
285 BL::ShaderNodeTree &b_ntree,
286 BL::ShaderNode &b_node)
291 if (b_node.is_a(&RNA_ShaderNodeRGBCurve)) {
292 BL::ShaderNodeRGBCurve b_curve_node(b_node);
293 BL::CurveMapping mapping(b_curve_node.mapping());
300 curves->set_min_x(min_x);
301 curves->set_max_x(max_x);
302 curves->set_curves(curve_mapping_curves);
303 curves->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
306 if (b_node.is_a(&RNA_ShaderNodeVectorCurve)) {
307 BL::ShaderNodeVectorCurve b_curve_node(b_node);
308 BL::CurveMapping mapping(b_curve_node.mapping());
315 curves->set_min_x(min_x);
316 curves->set_max_x(max_x);
317 curves->set_curves(curve_mapping_curves);
318 curves->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
321 else if (b_node.is_a(&RNA_ShaderNodeFloatCurve)) {
322 BL::ShaderNodeFloatCurve b_curve_node(b_node);
323 BL::CurveMapping mapping(b_curve_node.mapping());
330 curve->set_min_x(min_x);
331 curve->set_max_x(max_x);
332 curve->set_curve(curve_mapping_curve);
333 curve->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
336 else if (b_node.is_a(&RNA_ShaderNodeValToRGB)) {
338 BL::ShaderNodeValToRGB b_ramp_node(b_node);
339 BL::ColorRamp b_color_ramp(b_ramp_node.color_ramp());
343 ramp->set_ramp(ramp_values);
344 ramp->set_ramp_alpha(ramp_alpha);
345 ramp->set_interpolate(b_color_ramp.interpolation() != BL::ColorRamp::interpolation_CONSTANT);
348 else if (b_node.is_a(&RNA_ShaderNodeRGB)) {
353 else if (b_node.is_a(&RNA_ShaderNodeValue)) {
358 else if (b_node.is_a(&RNA_ShaderNodeCameraData)) {
361 else if (b_node.is_a(&RNA_ShaderNodeInvert)) {
364 else if (b_node.is_a(&RNA_ShaderNodeGamma)) {
367 else if (b_node.is_a(&RNA_ShaderNodeBrightContrast)) {
370 else if (b_node.is_a(&RNA_ShaderNodeMixRGB)) {
371 BL::ShaderNodeMixRGB b_mix_node(b_node);
373 mix->set_mix_type((
NodeMix)b_mix_node.blend_type());
374 mix->set_use_clamp(b_mix_node.use_clamp());
377 else if (b_node.is_a(&RNA_ShaderNodeMix)) {
378 BL::ShaderNodeMix b_mix_node(b_node);
379 if (b_mix_node.data_type() == BL::ShaderNodeMix::data_type_VECTOR) {
380 if (b_mix_node.factor_mode() == BL::ShaderNodeMix::factor_mode_UNIFORM) {
382 mix_node->set_use_clamp(b_mix_node.clamp_factor());
387 mix_node->set_use_clamp(b_mix_node.clamp_factor());
391 else if (b_mix_node.data_type() == BL::ShaderNodeMix::data_type_RGBA) {
393 mix_node->set_blend_type((
NodeMix)b_mix_node.blend_type());
394 mix_node->set_use_clamp(b_mix_node.clamp_factor());
395 mix_node->set_use_clamp_result(b_mix_node.clamp_result());
400 mix_node->set_use_clamp(b_mix_node.clamp_factor());
404 else if (b_node.is_a(&RNA_ShaderNodeSeparateColor)) {
405 BL::ShaderNodeSeparateColor b_separate_node(b_node);
408 node = separate_node;
410 else if (b_node.is_a(&RNA_ShaderNodeCombineColor)) {
411 BL::ShaderNodeCombineColor b_combine_node(b_node);
416 else if (b_node.is_a(&RNA_ShaderNodeSeparateXYZ)) {
419 else if (b_node.is_a(&RNA_ShaderNodeCombineXYZ)) {
422 else if (b_node.is_a(&RNA_ShaderNodeHueSaturation)) {
425 else if (b_node.is_a(&RNA_ShaderNodeRGBToBW)) {
428 else if (b_node.is_a(&RNA_ShaderNodeMapRange)) {
429 BL::ShaderNodeMapRange b_map_range_node(b_node);
430 if (b_map_range_node.data_type() == BL::ShaderNodeMapRange::data_type_FLOAT_VECTOR) {
432 vector_map_range_node->set_use_clamp(b_map_range_node.clamp());
433 vector_map_range_node->set_range_type(
435 node = vector_map_range_node;
439 map_range_node->set_clamp(b_map_range_node.clamp());
440 map_range_node->set_range_type((
NodeMapRangeType)b_map_range_node.interpolation_type());
441 node = map_range_node;
444 else if (b_node.is_a(&RNA_ShaderNodeClamp)) {
445 BL::ShaderNodeClamp b_clamp_node(b_node);
447 clamp_node->set_clamp_type((
NodeClampType)b_clamp_node.clamp_type());
450 else if (b_node.is_a(&RNA_ShaderNodeMath)) {
451 BL::ShaderNodeMath b_math_node(b_node);
453 math_node->set_math_type((
NodeMathType)b_math_node.operation());
454 math_node->set_use_clamp(b_math_node.use_clamp());
457 else if (b_node.is_a(&RNA_ShaderNodeVectorMath)) {
458 BL::ShaderNodeVectorMath b_vector_math_node(b_node);
461 node = vector_math_node;
463 else if (b_node.is_a(&RNA_ShaderNodeVectorRotate)) {
464 BL::ShaderNodeVectorRotate b_vector_rotate_node(b_node);
466 vector_rotate_node->set_rotate_type(
468 vector_rotate_node->set_invert(b_vector_rotate_node.invert());
469 node = vector_rotate_node;
471 else if (b_node.is_a(&RNA_ShaderNodeVectorTransform)) {
472 BL::ShaderNodeVectorTransform b_vector_transform_node(b_node);
475 vtransform->set_convert_from(
477 vtransform->set_convert_to(
481 else if (b_node.is_a(&RNA_ShaderNodeNormal)) {
482 BL::Node::outputs_iterator out_it;
483 b_node.outputs.begin(out_it);
489 else if (b_node.is_a(&RNA_ShaderNodeMapping)) {
490 BL::ShaderNodeMapping b_mapping_node(b_node);
492 mapping->set_mapping_type((
NodeMappingType)b_mapping_node.vector_type());
495 else if (b_node.is_a(&RNA_ShaderNodeFresnel)) {
498 else if (b_node.is_a(&RNA_ShaderNodeLayerWeight)) {
501 else if (b_node.is_a(&RNA_ShaderNodeAddShader)) {
504 else if (b_node.is_a(&RNA_ShaderNodeMixShader)) {
507 else if (b_node.is_a(&RNA_ShaderNodeAttribute)) {
508 BL::ShaderNodeAttribute b_attr_node(b_node);
511 b_attr_node.attribute_type()));
514 else if (b_node.is_a(&RNA_ShaderNodeBackground)) {
517 else if (b_node.is_a(&RNA_ShaderNodeHoldout)) {
520 else if (b_node.is_a(&RNA_ShaderNodeBsdfDiffuse)) {
523 else if (b_node.is_a(&RNA_ShaderNodeSubsurfaceScattering)) {
524 BL::ShaderNodeSubsurfaceScattering b_subsurface_node(b_node);
528 switch (b_subsurface_node.falloff()) {
529 case BL::ShaderNodeSubsurfaceScattering::falloff_BURLEY:
532 case BL::ShaderNodeSubsurfaceScattering::falloff_RANDOM_WALK:
535 case BL::ShaderNodeSubsurfaceScattering::falloff_RANDOM_WALK_SKIN:
542 else if (b_node.is_a(&RNA_ShaderNodeBsdfMetallic)) {
543 BL::ShaderNodeBsdfMetallic b_metallic_node(b_node);
546 switch (b_metallic_node.distribution()) {
547 case BL::ShaderNodeBsdfMetallic::distribution_BECKMANN:
550 case BL::ShaderNodeBsdfMetallic::distribution_GGX:
553 case BL::ShaderNodeBsdfMetallic::distribution_MULTI_GGX:
558 switch (b_metallic_node.fresnel_type()) {
559 case BL::ShaderNodeBsdfMetallic::fresnel_type_PHYSICAL_CONDUCTOR:
562 case BL::ShaderNodeBsdfMetallic::fresnel_type_F82:
568 else if (b_node.is_a(&RNA_ShaderNodeBsdfAnisotropic)) {
569 BL::ShaderNodeBsdfAnisotropic b_glossy_node(b_node);
572 switch (b_glossy_node.distribution()) {
573 case BL::ShaderNodeBsdfAnisotropic::distribution_BECKMANN:
576 case BL::ShaderNodeBsdfAnisotropic::distribution_GGX:
579 case BL::ShaderNodeBsdfAnisotropic::distribution_ASHIKHMIN_SHIRLEY:
582 case BL::ShaderNodeBsdfAnisotropic::distribution_MULTI_GGX:
588 else if (b_node.is_a(&RNA_ShaderNodeBsdfGlass)) {
589 BL::ShaderNodeBsdfGlass b_glass_node(b_node);
591 switch (b_glass_node.distribution()) {
592 case BL::ShaderNodeBsdfGlass::distribution_BECKMANN:
595 case BL::ShaderNodeBsdfGlass::distribution_GGX:
598 case BL::ShaderNodeBsdfGlass::distribution_MULTI_GGX:
604 else if (b_node.is_a(&RNA_ShaderNodeBsdfRefraction)) {
605 BL::ShaderNodeBsdfRefraction b_refraction_node(b_node);
607 switch (b_refraction_node.distribution()) {
608 case BL::ShaderNodeBsdfRefraction::distribution_BECKMANN:
611 case BL::ShaderNodeBsdfRefraction::distribution_GGX:
617 else if (b_node.is_a(&RNA_ShaderNodeBsdfToon)) {
618 BL::ShaderNodeBsdfToon b_toon_node(b_node);
620 switch (b_toon_node.component()) {
621 case BL::ShaderNodeBsdfToon::component_DIFFUSE:
624 case BL::ShaderNodeBsdfToon::component_GLOSSY:
630 else if (b_node.is_a(&RNA_ShaderNodeBsdfHair)) {
631 BL::ShaderNodeBsdfHair b_hair_node(b_node);
633 switch (b_hair_node.component()) {
634 case BL::ShaderNodeBsdfHair::component_Reflection:
637 case BL::ShaderNodeBsdfHair::component_Transmission:
643 else if (b_node.is_a(&RNA_ShaderNodeBsdfHairPrincipled)) {
644 BL::ShaderNodeBsdfHairPrincipled b_principled_hair_node(b_node);
650 principled_hair->set_parametrization(
655 node = principled_hair;
657 else if (b_node.is_a(&RNA_ShaderNodeBsdfPrincipled)) {
658 BL::ShaderNodeBsdfPrincipled b_principled_node(b_node);
660 switch (b_principled_node.distribution()) {
661 case BL::ShaderNodeBsdfPrincipled::distribution_GGX:
664 case BL::ShaderNodeBsdfPrincipled::distribution_MULTI_GGX:
668 switch (b_principled_node.subsurface_method()) {
669 case BL::ShaderNodeBsdfPrincipled::subsurface_method_BURLEY:
672 case BL::ShaderNodeBsdfPrincipled::subsurface_method_RANDOM_WALK:
675 case BL::ShaderNodeBsdfPrincipled::subsurface_method_RANDOM_WALK_SKIN:
681 else if (b_node.is_a(&RNA_ShaderNodeBsdfTranslucent)) {
684 else if (b_node.is_a(&RNA_ShaderNodeBsdfTransparent)) {
687 else if (b_node.is_a(&RNA_ShaderNodeBsdfRayPortal)) {
690 else if (b_node.is_a(&RNA_ShaderNodeBsdfSheen)) {
691 BL::ShaderNodeBsdfSheen b_sheen_node(b_node);
693 switch (b_sheen_node.distribution()) {
694 case BL::ShaderNodeBsdfSheen::distribution_ASHIKHMIN:
697 case BL::ShaderNodeBsdfSheen::distribution_MICROFIBER:
703 else if (b_node.is_a(&RNA_ShaderNodeEmission)) {
706 else if (b_node.is_a(&RNA_ShaderNodeAmbientOcclusion)) {
707 BL::ShaderNodeAmbientOcclusion b_ao_node(b_node);
709 ao->set_samples(b_ao_node.samples());
710 ao->set_inside(b_ao_node.inside());
711 ao->set_only_local(b_ao_node.only_local());
714 else if (b_node.is_a(&RNA_ShaderNodeVolumeScatter)) {
715 BL::ShaderNodeVolumeScatter b_scatter_node(b_node);
717 switch (b_scatter_node.phase()) {
718 case BL::ShaderNodeVolumeScatter::phase_HENYEY_GREENSTEIN:
721 case BL::ShaderNodeVolumeScatter::phase_FOURNIER_FORAND:
724 case BL::ShaderNodeVolumeScatter::phase_DRAINE:
727 case BL::ShaderNodeVolumeScatter::phase_RAYLEIGH:
730 case BL::ShaderNodeVolumeScatter::phase_MIE:
736 else if (b_node.is_a(&RNA_ShaderNodeVolumeAbsorption)) {
739 else if (b_node.is_a(&RNA_ShaderNodeVolumeCoefficients)) {
740 BL::ShaderNodeVolumeCoefficients b_coeffs_node(b_node);
742 switch (b_coeffs_node.phase()) {
743 case BL::ShaderNodeVolumeCoefficients::phase_HENYEY_GREENSTEIN:
746 case BL::ShaderNodeVolumeCoefficients::phase_FOURNIER_FORAND:
749 case BL::ShaderNodeVolumeCoefficients::phase_DRAINE:
752 case BL::ShaderNodeVolumeCoefficients::phase_RAYLEIGH:
755 case BL::ShaderNodeVolumeCoefficients::phase_MIE:
761 else if (b_node.is_a(&RNA_ShaderNodeVolumePrincipled)) {
765 else if (b_node.is_a(&RNA_ShaderNodeNewGeometry)) {
768 else if (b_node.is_a(&RNA_ShaderNodeWireframe)) {
769 BL::ShaderNodeWireframe b_wireframe_node(b_node);
771 wire->set_use_pixel_size(b_wireframe_node.use_pixel_size());
774 else if (b_node.is_a(&RNA_ShaderNodeWavelength)) {
777 else if (b_node.is_a(&RNA_ShaderNodeBlackbody)) {
780 else if (b_node.is_a(&RNA_ShaderNodeLightPath)) {
783 else if (b_node.is_a(&RNA_ShaderNodeLightFalloff)) {
786 else if (b_node.is_a(&RNA_ShaderNodeObjectInfo)) {
789 else if (b_node.is_a(&RNA_ShaderNodeParticleInfo)) {
792 else if (b_node.is_a(&RNA_ShaderNodeHairInfo)) {
795 else if (b_node.is_a(&RNA_ShaderNodePointInfo)) {
798 else if (b_node.is_a(&RNA_ShaderNodeVolumeInfo)) {
801 else if (b_node.is_a(&RNA_ShaderNodeVertexColor)) {
802 BL::ShaderNodeVertexColor b_vertex_color_node(b_node);
804 vertex_color_node->set_layer_name(ustring(b_vertex_color_node.layer_name()));
805 node = vertex_color_node;
807 else if (b_node.is_a(&RNA_ShaderNodeBump)) {
808 BL::ShaderNodeBump b_bump_node(b_node);
810 bump->set_invert(b_bump_node.invert());
813 else if (b_node.is_a(&RNA_ShaderNodeScript)) {
817 BL::ShaderNodeScript b_script_node(b_node);
819 const string bytecode_hash = b_script_node.bytecode_hash();
820 if (!bytecode_hash.empty()) {
821 node = OSLShaderManager::osl_node(
822 graph, scene,
"", bytecode_hash, b_script_node.bytecode());
826 b_data, b_ntree, b_script_node.filepath());
827 node = OSLShaderManager::osl_node(graph, scene, absolute_filepath,
"");
835 else if (b_node.is_a(&RNA_ShaderNodeTexImage)) {
836 BL::ShaderNodeTexImage b_image_node(b_node);
837 BL::Image b_image(b_image_node.image());
838 BL::ImageUser b_image_user(b_image_node.image_user());
844 image->set_projection_blend(b_image_node.projection_blend());
845 BL::TexMapping b_texture_mapping(b_image_node.texture_mapping());
849 const BL::Image::source_enum b_image_source = b_image.source();
850 PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
856 if (b_image_source == BL::Image::source_TILED) {
858 for (BL::UDIMTile &b_tile : b_image.tiles) {
859 tiles.push_back_slow(b_tile.number());
861 image->set_tiles(
tiles);
876 const int scene_frame = b_scene.frame_current();
878 if (b_image_source != BL::Image::source_TILED) {
880 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
881 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
884 b_engine.is_preview()),
889 loaders.reserve(image->get_tiles().size());
890 for (
const int tile_number : image->get_tiles()) {
892 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
893 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
896 b_engine.is_preview()));
904 const ustring filename = ustring(
906 image->set_filename(filename);
911 else if (b_node.is_a(&RNA_ShaderNodeTexEnvironment)) {
912 BL::ShaderNodeTexEnvironment b_env_node(b_node);
913 BL::Image b_image(b_env_node.image());
914 BL::ImageUser b_image_user(b_env_node.image_user());
919 BL::TexMapping b_texture_mapping(b_env_node.texture_mapping());
923 const BL::Image::source_enum b_image_source = b_image.source();
924 PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
932 const int scene_frame = b_scene.frame_current();
935 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
936 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
939 b_engine.is_preview()),
949 else if (b_node.is_a(&RNA_ShaderNodeTexGradient)) {
950 BL::ShaderNodeTexGradient b_gradient_node(b_node);
952 gradient->set_gradient_type((
NodeGradientType)b_gradient_node.gradient_type());
953 BL::TexMapping b_texture_mapping(b_gradient_node.texture_mapping());
957 else if (b_node.is_a(&RNA_ShaderNodeTexVoronoi)) {
958 BL::ShaderNodeTexVoronoi b_voronoi_node(b_node);
960 voronoi->set_dimensions(b_voronoi_node.voronoi_dimensions());
963 voronoi->set_use_normalize(b_voronoi_node.normalize());
964 BL::TexMapping b_texture_mapping(b_voronoi_node.texture_mapping());
968 else if (b_node.is_a(&RNA_ShaderNodeTexMagic)) {
969 BL::ShaderNodeTexMagic b_magic_node(b_node);
971 magic->set_depth(b_magic_node.turbulence_depth());
972 BL::TexMapping b_texture_mapping(b_magic_node.texture_mapping());
976 else if (b_node.is_a(&RNA_ShaderNodeTexWave)) {
977 BL::ShaderNodeTexWave b_wave_node(b_node);
979 wave->set_wave_type((
NodeWaveType)b_wave_node.wave_type());
983 BL::TexMapping b_texture_mapping(b_wave_node.texture_mapping());
987 else if (b_node.is_a(&RNA_ShaderNodeTexChecker)) {
988 BL::ShaderNodeTexChecker b_checker_node(b_node);
990 BL::TexMapping b_texture_mapping(b_checker_node.texture_mapping());
994 else if (b_node.is_a(&RNA_ShaderNodeTexBrick)) {
995 BL::ShaderNodeTexBrick b_brick_node(b_node);
997 brick->set_offset(b_brick_node.offset());
998 brick->set_offset_frequency(b_brick_node.offset_frequency());
999 brick->set_squash(b_brick_node.squash());
1000 brick->set_squash_frequency(b_brick_node.squash_frequency());
1001 BL::TexMapping b_texture_mapping(b_brick_node.texture_mapping());
1005 else if (b_node.is_a(&RNA_ShaderNodeTexNoise)) {
1006 BL::ShaderNodeTexNoise b_noise_node(b_node);
1008 noise->set_dimensions(b_noise_node.noise_dimensions());
1010 noise->set_use_normalize(b_noise_node.normalize());
1011 BL::TexMapping b_texture_mapping(b_noise_node.texture_mapping());
1015 else if (b_node.is_a(&RNA_ShaderNodeTexGabor)) {
1016 BL::ShaderNodeTexGabor b_gabor_node(b_node);
1019 BL::TexMapping b_texture_mapping(b_gabor_node.texture_mapping());
1023 else if (b_node.is_a(&RNA_ShaderNodeTexCoord)) {
1024 BL::ShaderNodeTexCoord b_tex_coord_node(b_node);
1026 tex_coord->set_from_dupli(b_tex_coord_node.from_instancer());
1027 if (b_tex_coord_node.object()) {
1033 else if (b_node.is_a(&RNA_ShaderNodeTexSky)) {
1034 BL::ShaderNodeTexSky b_sky_node(b_node);
1036 sky->set_sky_type((
NodeSkyType)b_sky_node.sky_type());
1038 sky->set_turbidity(b_sky_node.turbidity());
1039 sky->set_ground_albedo(b_sky_node.ground_albedo());
1040 sky->set_sun_disc(b_sky_node.sun_disc());
1041 sky->set_sun_size(b_sky_node.sun_size());
1042 sky->set_sun_intensity(b_sky_node.sun_intensity());
1043 sky->set_sun_elevation(b_sky_node.sun_elevation());
1044 sky->set_sun_rotation(b_sky_node.sun_rotation());
1045 sky->set_altitude(b_sky_node.altitude());
1046 sky->set_air_density(b_sky_node.air_density());
1047 sky->set_aerosol_density(b_sky_node.aerosol_density());
1048 sky->set_ozone_density(b_sky_node.ozone_density());
1049 BL::TexMapping b_texture_mapping(b_sky_node.texture_mapping());
1053 else if (b_node.is_a(&RNA_ShaderNodeTexIES)) {
1054 BL::ShaderNodeTexIES b_ies_node(b_node);
1056 switch (b_ies_node.mode()) {
1057 case BL::ShaderNodeTexIES::mode_EXTERNAL:
1060 case BL::ShaderNodeTexIES::mode_INTERNAL:
1062 if (ies_content.empty()) {
1065 ies->set_ies(ies_content);
1070 else if (b_node.is_a(&RNA_ShaderNodeTexWhiteNoise)) {
1071 BL::ShaderNodeTexWhiteNoise b_tex_white_noise_node(b_node);
1073 white_noise_node->set_dimensions(b_tex_white_noise_node.noise_dimensions());
1074 node = white_noise_node;
1076 else if (b_node.is_a(&RNA_ShaderNodeNormalMap)) {
1077 BL::ShaderNodeNormalMap b_normal_map_node(b_node);
1080 nmap->set_attribute(ustring(b_normal_map_node.uv_map()));
1083 else if (b_node.is_a(&RNA_ShaderNodeRadialTiling)) {
1084 BL::ShaderNodeRadialTiling b_radial_tiling_node(b_node);
1086 radial_tiling->set_use_normalize(b_radial_tiling_node.normalize());
1087 node = radial_tiling;
1089 else if (b_node.is_a(&RNA_ShaderNodeTangent)) {
1090 BL::ShaderNodeTangent b_tangent_node(b_node);
1094 tangent->set_attribute(ustring(b_tangent_node.uv_map()));
1097 else if (b_node.is_a(&RNA_ShaderNodeUVMap)) {
1098 BL::ShaderNodeUVMap b_uvmap_node(b_node);
1100 uvm->set_attribute(ustring(b_uvmap_node.uv_map()));
1101 uvm->set_from_dupli(b_uvmap_node.from_instancer());
1104 else if (b_node.is_a(&RNA_ShaderNodeBevel)) {
1105 BL::ShaderNodeBevel b_bevel_node(b_node);
1107 bevel->set_samples(b_bevel_node.samples());
1110 else if (b_node.is_a(&RNA_ShaderNodeDisplacement)) {
1111 BL::ShaderNodeDisplacement b_disp_node(b_node);
1116 else if (b_node.is_a(&RNA_ShaderNodeVectorDisplacement)) {
1117 BL::ShaderNodeVectorDisplacement b_disp_node(b_node);
1120 disp->set_attribute(ustring(
""));
1123 else if (b_node.is_a(&RNA_ShaderNodeOutputAOV)) {
1124 BL::ShaderNodeOutputAOV b_aov_node(b_node);
1126 aov->set_name(ustring(b_aov_node.aov_name()));
1131 node->
name = b_node.name();