279 BL::RenderEngine &b_engine,
280 BL::BlendData &b_data,
281 BL::Depsgraph &b_depsgraph,
284 BL::ShaderNodeTree &b_ntree,
285 BL::ShaderNode &b_node)
290 if (b_node.is_a(&RNA_ShaderNodeRGBCurve)) {
291 BL::ShaderNodeRGBCurve b_curve_node(b_node);
292 BL::CurveMapping mapping(b_curve_node.mapping());
299 curves->set_min_x(min_x);
300 curves->set_max_x(max_x);
301 curves->set_curves(curve_mapping_curves);
302 curves->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
305 if (b_node.is_a(&RNA_ShaderNodeVectorCurve)) {
306 BL::ShaderNodeVectorCurve b_curve_node(b_node);
307 BL::CurveMapping mapping(b_curve_node.mapping());
314 curves->set_min_x(min_x);
315 curves->set_max_x(max_x);
316 curves->set_curves(curve_mapping_curves);
317 curves->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
320 else if (b_node.is_a(&RNA_ShaderNodeFloatCurve)) {
321 BL::ShaderNodeFloatCurve b_curve_node(b_node);
322 BL::CurveMapping mapping(b_curve_node.mapping());
329 curve->set_min_x(min_x);
330 curve->set_max_x(max_x);
331 curve->set_curve(curve_mapping_curve);
332 curve->set_extrapolate(mapping.extend() == BL::CurveMapping::extend_EXTRAPOLATED);
335 else if (b_node.is_a(&RNA_ShaderNodeValToRGB)) {
337 BL::ShaderNodeValToRGB b_ramp_node(b_node);
338 BL::ColorRamp b_color_ramp(b_ramp_node.color_ramp());
342 ramp->set_ramp(ramp_values);
343 ramp->set_ramp_alpha(ramp_alpha);
344 ramp->set_interpolate(b_color_ramp.interpolation() != BL::ColorRamp::interpolation_CONSTANT);
347 else if (b_node.is_a(&RNA_ShaderNodeRGB)) {
352 else if (b_node.is_a(&RNA_ShaderNodeValue)) {
357 else if (b_node.is_a(&RNA_ShaderNodeCameraData)) {
360 else if (b_node.is_a(&RNA_ShaderNodeInvert)) {
363 else if (b_node.is_a(&RNA_ShaderNodeGamma)) {
366 else if (b_node.is_a(&RNA_ShaderNodeBrightContrast)) {
369 else if (b_node.is_a(&RNA_ShaderNodeMixRGB)) {
370 BL::ShaderNodeMixRGB b_mix_node(b_node);
372 mix->set_mix_type((
NodeMix)b_mix_node.blend_type());
373 mix->set_use_clamp(b_mix_node.use_clamp());
376 else if (b_node.is_a(&RNA_ShaderNodeMix)) {
377 BL::ShaderNodeMix b_mix_node(b_node);
378 if (b_mix_node.data_type() == BL::ShaderNodeMix::data_type_VECTOR) {
379 if (b_mix_node.factor_mode() == BL::ShaderNodeMix::factor_mode_UNIFORM) {
381 mix_node->set_use_clamp(b_mix_node.clamp_factor());
386 mix_node->set_use_clamp(b_mix_node.clamp_factor());
390 else if (b_mix_node.data_type() == BL::ShaderNodeMix::data_type_RGBA) {
392 mix_node->set_blend_type((
NodeMix)b_mix_node.blend_type());
393 mix_node->set_use_clamp(b_mix_node.clamp_factor());
394 mix_node->set_use_clamp_result(b_mix_node.clamp_result());
399 mix_node->set_use_clamp(b_mix_node.clamp_factor());
403 else if (b_node.is_a(&RNA_ShaderNodeSeparateRGB)) {
406 else if (b_node.is_a(&RNA_ShaderNodeCombineRGB)) {
409 else if (b_node.is_a(&RNA_ShaderNodeSeparateHSV)) {
412 else if (b_node.is_a(&RNA_ShaderNodeCombineHSV)) {
415 else if (b_node.is_a(&RNA_ShaderNodeSeparateColor)) {
416 BL::ShaderNodeSeparateColor b_separate_node(b_node);
419 node = separate_node;
421 else if (b_node.is_a(&RNA_ShaderNodeCombineColor)) {
422 BL::ShaderNodeCombineColor b_combine_node(b_node);
427 else if (b_node.is_a(&RNA_ShaderNodeSeparateXYZ)) {
430 else if (b_node.is_a(&RNA_ShaderNodeCombineXYZ)) {
433 else if (b_node.is_a(&RNA_ShaderNodeHueSaturation)) {
436 else if (b_node.is_a(&RNA_ShaderNodeRGBToBW)) {
439 else if (b_node.is_a(&RNA_ShaderNodeMapRange)) {
440 BL::ShaderNodeMapRange b_map_range_node(b_node);
441 if (b_map_range_node.data_type() == BL::ShaderNodeMapRange::data_type_FLOAT_VECTOR) {
443 vector_map_range_node->set_use_clamp(b_map_range_node.clamp());
444 vector_map_range_node->set_range_type(
446 node = vector_map_range_node;
450 map_range_node->set_clamp(b_map_range_node.clamp());
451 map_range_node->set_range_type((
NodeMapRangeType)b_map_range_node.interpolation_type());
452 node = map_range_node;
455 else if (b_node.is_a(&RNA_ShaderNodeClamp)) {
456 BL::ShaderNodeClamp b_clamp_node(b_node);
458 clamp_node->set_clamp_type((
NodeClampType)b_clamp_node.clamp_type());
461 else if (b_node.is_a(&RNA_ShaderNodeMath)) {
462 BL::ShaderNodeMath b_math_node(b_node);
464 math_node->set_math_type((
NodeMathType)b_math_node.operation());
465 math_node->set_use_clamp(b_math_node.use_clamp());
468 else if (b_node.is_a(&RNA_ShaderNodeVectorMath)) {
469 BL::ShaderNodeVectorMath b_vector_math_node(b_node);
472 node = vector_math_node;
474 else if (b_node.is_a(&RNA_ShaderNodeVectorRotate)) {
475 BL::ShaderNodeVectorRotate b_vector_rotate_node(b_node);
477 vector_rotate_node->set_rotate_type(
479 vector_rotate_node->set_invert(b_vector_rotate_node.invert());
480 node = vector_rotate_node;
482 else if (b_node.is_a(&RNA_ShaderNodeVectorTransform)) {
483 BL::ShaderNodeVectorTransform b_vector_transform_node(b_node);
486 vtransform->set_convert_from(
488 vtransform->set_convert_to(
492 else if (b_node.is_a(&RNA_ShaderNodeNormal)) {
493 BL::Node::outputs_iterator out_it;
494 b_node.outputs.begin(out_it);
500 else if (b_node.is_a(&RNA_ShaderNodeMapping)) {
501 BL::ShaderNodeMapping b_mapping_node(b_node);
503 mapping->set_mapping_type((
NodeMappingType)b_mapping_node.vector_type());
506 else if (b_node.is_a(&RNA_ShaderNodeFresnel)) {
509 else if (b_node.is_a(&RNA_ShaderNodeLayerWeight)) {
512 else if (b_node.is_a(&RNA_ShaderNodeAddShader)) {
515 else if (b_node.is_a(&RNA_ShaderNodeMixShader)) {
518 else if (b_node.is_a(&RNA_ShaderNodeAttribute)) {
519 BL::ShaderNodeAttribute b_attr_node(b_node);
522 b_attr_node.attribute_type()));
525 else if (b_node.is_a(&RNA_ShaderNodeBackground)) {
528 else if (b_node.is_a(&RNA_ShaderNodeHoldout)) {
531 else if (b_node.is_a(&RNA_ShaderNodeBsdfDiffuse)) {
534 else if (b_node.is_a(&RNA_ShaderNodeSubsurfaceScattering)) {
535 BL::ShaderNodeSubsurfaceScattering b_subsurface_node(b_node);
539 switch (b_subsurface_node.falloff()) {
540 case BL::ShaderNodeSubsurfaceScattering::falloff_BURLEY:
543 case BL::ShaderNodeSubsurfaceScattering::falloff_RANDOM_WALK:
546 case BL::ShaderNodeSubsurfaceScattering::falloff_RANDOM_WALK_SKIN:
553 else if (b_node.is_a(&RNA_ShaderNodeBsdfMetallic)) {
554 BL::ShaderNodeBsdfMetallic b_metallic_node(b_node);
557 switch (b_metallic_node.distribution()) {
558 case BL::ShaderNodeBsdfMetallic::distribution_BECKMANN:
561 case BL::ShaderNodeBsdfMetallic::distribution_GGX:
564 case BL::ShaderNodeBsdfMetallic::distribution_MULTI_GGX:
569 switch (b_metallic_node.fresnel_type()) {
570 case BL::ShaderNodeBsdfMetallic::fresnel_type_PHYSICAL_CONDUCTOR:
573 case BL::ShaderNodeBsdfMetallic::fresnel_type_F82:
579 else if (b_node.is_a(&RNA_ShaderNodeBsdfAnisotropic)) {
580 BL::ShaderNodeBsdfAnisotropic b_glossy_node(b_node);
583 switch (b_glossy_node.distribution()) {
584 case BL::ShaderNodeBsdfAnisotropic::distribution_BECKMANN:
587 case BL::ShaderNodeBsdfAnisotropic::distribution_GGX:
590 case BL::ShaderNodeBsdfAnisotropic::distribution_ASHIKHMIN_SHIRLEY:
593 case BL::ShaderNodeBsdfAnisotropic::distribution_MULTI_GGX:
599 else if (b_node.is_a(&RNA_ShaderNodeBsdfGlass)) {
600 BL::ShaderNodeBsdfGlass b_glass_node(b_node);
602 switch (b_glass_node.distribution()) {
603 case BL::ShaderNodeBsdfGlass::distribution_BECKMANN:
606 case BL::ShaderNodeBsdfGlass::distribution_GGX:
609 case BL::ShaderNodeBsdfGlass::distribution_MULTI_GGX:
615 else if (b_node.is_a(&RNA_ShaderNodeBsdfRefraction)) {
616 BL::ShaderNodeBsdfRefraction b_refraction_node(b_node);
618 switch (b_refraction_node.distribution()) {
619 case BL::ShaderNodeBsdfRefraction::distribution_BECKMANN:
622 case BL::ShaderNodeBsdfRefraction::distribution_GGX:
628 else if (b_node.is_a(&RNA_ShaderNodeBsdfToon)) {
629 BL::ShaderNodeBsdfToon b_toon_node(b_node);
631 switch (b_toon_node.component()) {
632 case BL::ShaderNodeBsdfToon::component_DIFFUSE:
635 case BL::ShaderNodeBsdfToon::component_GLOSSY:
641 else if (b_node.is_a(&RNA_ShaderNodeBsdfHair)) {
642 BL::ShaderNodeBsdfHair b_hair_node(b_node);
644 switch (b_hair_node.component()) {
645 case BL::ShaderNodeBsdfHair::component_Reflection:
648 case BL::ShaderNodeBsdfHair::component_Transmission:
654 else if (b_node.is_a(&RNA_ShaderNodeBsdfHairPrincipled)) {
655 BL::ShaderNodeBsdfHairPrincipled b_principled_hair_node(b_node);
661 principled_hair->set_parametrization(
666 node = principled_hair;
668 else if (b_node.is_a(&RNA_ShaderNodeBsdfPrincipled)) {
669 BL::ShaderNodeBsdfPrincipled b_principled_node(b_node);
671 switch (b_principled_node.distribution()) {
672 case BL::ShaderNodeBsdfPrincipled::distribution_GGX:
675 case BL::ShaderNodeBsdfPrincipled::distribution_MULTI_GGX:
679 switch (b_principled_node.subsurface_method()) {
680 case BL::ShaderNodeBsdfPrincipled::subsurface_method_BURLEY:
683 case BL::ShaderNodeBsdfPrincipled::subsurface_method_RANDOM_WALK:
686 case BL::ShaderNodeBsdfPrincipled::subsurface_method_RANDOM_WALK_SKIN:
692 else if (b_node.is_a(&RNA_ShaderNodeBsdfTranslucent)) {
695 else if (b_node.is_a(&RNA_ShaderNodeBsdfTransparent)) {
698 else if (b_node.is_a(&RNA_ShaderNodeBsdfRayPortal)) {
701 else if (b_node.is_a(&RNA_ShaderNodeBsdfSheen)) {
702 BL::ShaderNodeBsdfSheen b_sheen_node(b_node);
704 switch (b_sheen_node.distribution()) {
705 case BL::ShaderNodeBsdfSheen::distribution_ASHIKHMIN:
708 case BL::ShaderNodeBsdfSheen::distribution_MICROFIBER:
714 else if (b_node.is_a(&RNA_ShaderNodeEmission)) {
717 else if (b_node.is_a(&RNA_ShaderNodeAmbientOcclusion)) {
718 BL::ShaderNodeAmbientOcclusion b_ao_node(b_node);
720 ao->set_samples(b_ao_node.samples());
721 ao->set_inside(b_ao_node.inside());
722 ao->set_only_local(b_ao_node.only_local());
725 else if (b_node.is_a(&RNA_ShaderNodeVolumeScatter)) {
726 BL::ShaderNodeVolumeScatter b_scatter_node(b_node);
728 switch (b_scatter_node.phase()) {
729 case BL::ShaderNodeVolumeScatter::phase_HENYEY_GREENSTEIN:
732 case BL::ShaderNodeVolumeScatter::phase_FOURNIER_FORAND:
735 case BL::ShaderNodeVolumeScatter::phase_DRAINE:
738 case BL::ShaderNodeVolumeScatter::phase_RAYLEIGH:
741 case BL::ShaderNodeVolumeScatter::phase_MIE:
747 else if (b_node.is_a(&RNA_ShaderNodeVolumeAbsorption)) {
750 else if (b_node.is_a(&RNA_ShaderNodeVolumeCoefficients)) {
751 BL::ShaderNodeVolumeCoefficients b_coeffs_node(b_node);
753 switch (b_coeffs_node.phase()) {
754 case BL::ShaderNodeVolumeCoefficients::phase_HENYEY_GREENSTEIN:
757 case BL::ShaderNodeVolumeCoefficients::phase_FOURNIER_FORAND:
760 case BL::ShaderNodeVolumeCoefficients::phase_DRAINE:
763 case BL::ShaderNodeVolumeCoefficients::phase_RAYLEIGH:
766 case BL::ShaderNodeVolumeCoefficients::phase_MIE:
772 else if (b_node.is_a(&RNA_ShaderNodeVolumePrincipled)) {
776 else if (b_node.is_a(&RNA_ShaderNodeNewGeometry)) {
779 else if (b_node.is_a(&RNA_ShaderNodeWireframe)) {
780 BL::ShaderNodeWireframe b_wireframe_node(b_node);
782 wire->set_use_pixel_size(b_wireframe_node.use_pixel_size());
785 else if (b_node.is_a(&RNA_ShaderNodeWavelength)) {
788 else if (b_node.is_a(&RNA_ShaderNodeBlackbody)) {
791 else if (b_node.is_a(&RNA_ShaderNodeLightPath)) {
794 else if (b_node.is_a(&RNA_ShaderNodeLightFalloff)) {
797 else if (b_node.is_a(&RNA_ShaderNodeObjectInfo)) {
800 else if (b_node.is_a(&RNA_ShaderNodeParticleInfo)) {
803 else if (b_node.is_a(&RNA_ShaderNodeHairInfo)) {
806 else if (b_node.is_a(&RNA_ShaderNodePointInfo)) {
809 else if (b_node.is_a(&RNA_ShaderNodeVolumeInfo)) {
812 else if (b_node.is_a(&RNA_ShaderNodeVertexColor)) {
813 BL::ShaderNodeVertexColor b_vertex_color_node(b_node);
815 vertex_color_node->set_layer_name(ustring(b_vertex_color_node.layer_name()));
816 node = vertex_color_node;
818 else if (b_node.is_a(&RNA_ShaderNodeBump)) {
819 BL::ShaderNodeBump b_bump_node(b_node);
821 bump->set_invert(b_bump_node.invert());
824 else if (b_node.is_a(&RNA_ShaderNodeScript)) {
828 BL::ShaderNodeScript b_script_node(b_node);
830 const string bytecode_hash = b_script_node.bytecode_hash();
831 if (!bytecode_hash.empty()) {
832 node = OSLShaderManager::osl_node(
833 graph, scene,
"", bytecode_hash, b_script_node.bytecode());
837 b_data, b_ntree, b_script_node.filepath());
838 node = OSLShaderManager::osl_node(graph, scene, absolute_filepath,
"");
846 else if (b_node.is_a(&RNA_ShaderNodeTexImage)) {
847 BL::ShaderNodeTexImage b_image_node(b_node);
848 BL::Image b_image(b_image_node.image());
849 BL::ImageUser b_image_user(b_image_node.image_user());
855 image->set_projection_blend(b_image_node.projection_blend());
856 BL::TexMapping b_texture_mapping(b_image_node.texture_mapping());
860 const BL::Image::source_enum b_image_source = b_image.source();
861 PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
867 if (b_image_source == BL::Image::source_TILED) {
869 for (BL::UDIMTile &b_tile : b_image.tiles) {
870 tiles.push_back_slow(b_tile.number());
872 image->set_tiles(
tiles);
887 const int scene_frame = b_scene.frame_current();
889 if (b_image_source != BL::Image::source_TILED) {
891 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
892 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
895 b_engine.is_preview()),
900 loaders.reserve(image->get_tiles().size());
901 for (
const int tile_number : image->get_tiles()) {
903 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
904 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
907 b_engine.is_preview()));
915 const ustring filename = ustring(
917 image->set_filename(filename);
922 else if (b_node.is_a(&RNA_ShaderNodeTexEnvironment)) {
923 BL::ShaderNodeTexEnvironment b_env_node(b_node);
924 BL::Image b_image(b_env_node.image());
925 BL::ImageUser b_image_user(b_env_node.image_user());
930 BL::TexMapping b_texture_mapping(b_env_node.texture_mapping());
934 const BL::Image::source_enum b_image_source = b_image.source();
935 PointerRNA colorspace_ptr = b_image.colorspace_settings().ptr;
943 const int scene_frame = b_scene.frame_current();
946 make_unique<BlenderImageLoader>(
static_cast<::
Image *
>(b_image.ptr.data),
947 static_cast<::
ImageUser *
>(b_image_user.ptr.data),
950 b_engine.is_preview()),
960 else if (b_node.is_a(&RNA_ShaderNodeTexGradient)) {
961 BL::ShaderNodeTexGradient b_gradient_node(b_node);
963 gradient->set_gradient_type((
NodeGradientType)b_gradient_node.gradient_type());
964 BL::TexMapping b_texture_mapping(b_gradient_node.texture_mapping());
968 else if (b_node.is_a(&RNA_ShaderNodeTexVoronoi)) {
969 BL::ShaderNodeTexVoronoi b_voronoi_node(b_node);
971 voronoi->set_dimensions(b_voronoi_node.voronoi_dimensions());
974 voronoi->set_use_normalize(b_voronoi_node.normalize());
975 BL::TexMapping b_texture_mapping(b_voronoi_node.texture_mapping());
979 else if (b_node.is_a(&RNA_ShaderNodeTexMagic)) {
980 BL::ShaderNodeTexMagic b_magic_node(b_node);
982 magic->set_depth(b_magic_node.turbulence_depth());
983 BL::TexMapping b_texture_mapping(b_magic_node.texture_mapping());
987 else if (b_node.is_a(&RNA_ShaderNodeTexWave)) {
988 BL::ShaderNodeTexWave b_wave_node(b_node);
990 wave->set_wave_type((
NodeWaveType)b_wave_node.wave_type());
994 BL::TexMapping b_texture_mapping(b_wave_node.texture_mapping());
998 else if (b_node.is_a(&RNA_ShaderNodeTexChecker)) {
999 BL::ShaderNodeTexChecker b_checker_node(b_node);
1001 BL::TexMapping b_texture_mapping(b_checker_node.texture_mapping());
1005 else if (b_node.is_a(&RNA_ShaderNodeTexBrick)) {
1006 BL::ShaderNodeTexBrick b_brick_node(b_node);
1008 brick->set_offset(b_brick_node.offset());
1009 brick->set_offset_frequency(b_brick_node.offset_frequency());
1010 brick->set_squash(b_brick_node.squash());
1011 brick->set_squash_frequency(b_brick_node.squash_frequency());
1012 BL::TexMapping b_texture_mapping(b_brick_node.texture_mapping());
1016 else if (b_node.is_a(&RNA_ShaderNodeTexNoise)) {
1017 BL::ShaderNodeTexNoise b_noise_node(b_node);
1019 noise->set_dimensions(b_noise_node.noise_dimensions());
1021 noise->set_use_normalize(b_noise_node.normalize());
1022 BL::TexMapping b_texture_mapping(b_noise_node.texture_mapping());
1026 else if (b_node.is_a(&RNA_ShaderNodeTexGabor)) {
1027 BL::ShaderNodeTexGabor b_gabor_node(b_node);
1030 BL::TexMapping b_texture_mapping(b_gabor_node.texture_mapping());
1034 else if (b_node.is_a(&RNA_ShaderNodeTexCoord)) {
1035 BL::ShaderNodeTexCoord b_tex_coord_node(b_node);
1037 tex_coord->set_from_dupli(b_tex_coord_node.from_instancer());
1038 if (b_tex_coord_node.object()) {
1044 else if (b_node.is_a(&RNA_ShaderNodeTexSky)) {
1045 BL::ShaderNodeTexSky b_sky_node(b_node);
1047 sky->set_sky_type((
NodeSkyType)b_sky_node.sky_type());
1049 sky->set_turbidity(b_sky_node.turbidity());
1050 sky->set_ground_albedo(b_sky_node.ground_albedo());
1051 sky->set_sun_disc(b_sky_node.sun_disc());
1052 sky->set_sun_size(b_sky_node.sun_size());
1053 sky->set_sun_intensity(b_sky_node.sun_intensity());
1054 sky->set_sun_elevation(b_sky_node.sun_elevation());
1055 sky->set_sun_rotation(b_sky_node.sun_rotation());
1056 sky->set_altitude(b_sky_node.altitude());
1057 sky->set_air_density(b_sky_node.air_density());
1058 sky->set_dust_density(b_sky_node.dust_density());
1059 sky->set_ozone_density(b_sky_node.ozone_density());
1060 BL::TexMapping b_texture_mapping(b_sky_node.texture_mapping());
1064 else if (b_node.is_a(&RNA_ShaderNodeTexIES)) {
1065 BL::ShaderNodeTexIES b_ies_node(b_node);
1067 switch (b_ies_node.mode()) {
1068 case BL::ShaderNodeTexIES::mode_EXTERNAL:
1071 case BL::ShaderNodeTexIES::mode_INTERNAL:
1073 if (ies_content.empty()) {
1076 ies->set_ies(ies_content);
1081 else if (b_node.is_a(&RNA_ShaderNodeTexWhiteNoise)) {
1082 BL::ShaderNodeTexWhiteNoise b_tex_white_noise_node(b_node);
1084 white_noise_node->set_dimensions(b_tex_white_noise_node.noise_dimensions());
1085 node = white_noise_node;
1087 else if (b_node.is_a(&RNA_ShaderNodeNormalMap)) {
1088 BL::ShaderNodeNormalMap b_normal_map_node(b_node);
1091 nmap->set_attribute(ustring(b_normal_map_node.uv_map()));
1094 else if (b_node.is_a(&RNA_ShaderNodeTangent)) {
1095 BL::ShaderNodeTangent b_tangent_node(b_node);
1099 tangent->set_attribute(ustring(b_tangent_node.uv_map()));
1102 else if (b_node.is_a(&RNA_ShaderNodeUVMap)) {
1103 BL::ShaderNodeUVMap b_uvmap_node(b_node);
1105 uvm->set_attribute(ustring(b_uvmap_node.uv_map()));
1106 uvm->set_from_dupli(b_uvmap_node.from_instancer());
1109 else if (b_node.is_a(&RNA_ShaderNodeTexPointDensity)) {
1110 BL::ShaderNodeTexPointDensity b_point_density_node(b_node);
1115 make_unique<BlenderPointDensityLoader>(b_depsgraph, b_point_density_node),
1118 b_point_density_node.cache_point_density(b_depsgraph);
1119 node = point_density;
1126 BL::Object b_ob(b_point_density_node.object());
1135 else if (b_node.is_a(&RNA_ShaderNodeBevel)) {
1136 BL::ShaderNodeBevel b_bevel_node(b_node);
1138 bevel->set_samples(b_bevel_node.samples());
1141 else if (b_node.is_a(&RNA_ShaderNodeDisplacement)) {
1142 BL::ShaderNodeDisplacement b_disp_node(b_node);
1147 else if (b_node.is_a(&RNA_ShaderNodeVectorDisplacement)) {
1148 BL::ShaderNodeVectorDisplacement b_disp_node(b_node);
1151 disp->set_attribute(ustring(
""));
1154 else if (b_node.is_a(&RNA_ShaderNodeOutputAOV)) {
1155 BL::ShaderNodeOutputAOV b_aov_node(b_node);
1157 aov->set_name(ustring(b_aov_node.aov_name()));
1162 node->
name = b_node.name();