Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_texture.cpp
| Show All 28 Lines | void density_texture_space_invert(float3& loc, | ||||
| if(size.y != 0.0f) size.y = 0.5f/size.y; | if(size.y != 0.0f) size.y = 0.5f/size.y; | ||||
| if(size.z != 0.0f) size.z = 0.5f/size.z; | if(size.z != 0.0f) size.z = 0.5f/size.z; | ||||
| loc = loc*size - make_float3(0.5f, 0.5f, 0.5f); | loc = loc*size - make_float3(0.5f, 0.5f, 0.5f); | ||||
| } | } | ||||
| } /* namespace */ | } /* namespace */ | ||||
| void point_density_texture_space(BL::Scene& b_scene, BL::SceneLayer& b_scene_layer, | void point_density_texture_space(BL::Scene& b_scene, BL::ViewLayer& b_view_layer, | ||||
| BL::ShaderNodeTexPointDensity& b_point_density_node, | BL::ShaderNodeTexPointDensity& b_point_density_node, | ||||
| int settings, | int settings, | ||||
| float3& loc, | float3& loc, | ||||
| float3& size) | float3& size) | ||||
| { | { | ||||
| BL::Object b_ob(b_point_density_node.object()); | BL::Object b_ob(b_point_density_node.object()); | ||||
| if(!b_ob) { | if(!b_ob) { | ||||
| loc = make_float3(0.0f, 0.0f, 0.0f); | loc = make_float3(0.0f, 0.0f, 0.0f); | ||||
| size = make_float3(0.0f, 0.0f, 0.0f); | size = make_float3(0.0f, 0.0f, 0.0f); | ||||
| return; | return; | ||||
| } | } | ||||
| float3 min, max; | float3 min, max; | ||||
| b_point_density_node.calc_point_density_minmax(b_scene, | b_point_density_node.calc_point_density_minmax(b_scene, | ||||
| b_scene_layer, | b_view_layer, | ||||
| settings, | settings, | ||||
| &min[0], | &min[0], | ||||
| &max[0]); | &max[0]); | ||||
| loc = (min + max) * 0.5f; | loc = (min + max) * 0.5f; | ||||
| size = (max - min) * 0.5f; | size = (max - min) * 0.5f; | ||||
| density_texture_space_invert(loc, size); | density_texture_space_invert(loc, size); | ||||
| } | } | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||