|
Blender V4.5
|
Go to the source code of this file.
Classes | |
| struct | Transform |
| struct | DecomposedTransform |
Macros | |
| #define | transform_point_auto transform_point |
| #define | transform_direction_auto transform_direction |
| #define | transform_direction_transposed_auto transform_direction_transposed |
| #define transform_direction_auto transform_direction |
Definition at line 614 of file device/cpu/globals.h.
| #define transform_direction_transposed_auto transform_direction_transposed |
Definition at line 615 of file device/cpu/globals.h.
| #define transform_point_auto transform_point |
Definition at line 613 of file device/cpu/globals.h.
| ccl_device_inline Transform euler_to_transform | ( | const float3 | euler | ) |
Definition at line 168 of file transform.h.
References ccl_device_inline, cosf, euler_to_transform(), sinf, float3::x, Transform::x, float3::y, Transform::y, float3::z, and Transform::z.
Referenced by euler_to_transform(), svm_mapping(), and svm_node_vector_rotate().
| ccl_device_inline Transform make_transform | ( | const float | a, |
| const float | b, | ||
| const float | c, | ||
| const float | d, | ||
| const float | e, | ||
| const float | f, | ||
| const float | g, | ||
| const float | h, | ||
| const float | i, | ||
| const float | j, | ||
| const float | k, | ||
| const float | l ) |
Definition at line 126 of file transform.h.
References b, ccl_device_inline, e, i, l, make_transform(), Transform::x, Transform::y, and Transform::z.
Referenced by area_light_valid_ray_segment(), blender_camera_matrix(), convert_transform(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertMatrixToCycles(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertMatrixToCycles(), get_transform(), ShaderManager::init_xyz_transforms(), make_transform(), make_transform(), make_transform_frame(), transform_empty(), transform_rotate(), transform_scale(), and transform_translate().
| ccl_device_inline Transform make_transform | ( | const float3 | x, |
| const float3 | y, | ||
| const float3 | z ) |
Definition at line 157 of file transform.h.
References ccl_device_inline, make_float4(), make_transform(), Transform::x, x, Transform::y, y, Transform::z, and z().
| ccl_device_inline Transform make_transform_frame | ( | const float3 | N | ) |
Definition at line 195 of file transform.h.
References ccl_device_inline, cross, dot(), make_float3(), make_transform(), make_transform_frame(), N, normalize, float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_space(), and make_transform_frame().
| ccl_device_inline bool operator!= | ( | const Transform & | A, |
| const Transform & | B ) |
Definition at line 301 of file transform.h.
References A, B, ccl_device_inline, and operator!=().
| ccl_device_inline Transform operator* | ( | const Transform | a, |
| const Transform | b ) |
Definition at line 205 of file transform.h.
References b, ccl_device_inline, dot(), make_float4(), operator*(), Transform::x, Transform::y, and Transform::z.
| ccl_device_inline bool operator== | ( | const DecomposedTransform & | A, |
| const DecomposedTransform & | B ) |
Definition at line 597 of file transform.h.
References A, B, ccl_device_inline, and operator==().
| ccl_device_inline bool operator== | ( | const Transform & | A, |
| const Transform & | B ) |
Definition at line 294 of file transform.h.
References A, B, ccl_device_inline, and operator==().
| ccl_device_inline void print_transform | ( | const char * | label, |
| const Transform & | t ) |
Definition at line 229 of file transform.h.
References ccl_device_inline, print_float4(), print_transform(), printf, Transform::x, Transform::y, and Transform::z.
Referenced by print_transform().
| ccl_device_inline float4 quat_interpolate | ( | const float4 | q1, |
| const float4 | q2, | ||
| const float | t ) |
Definition at line 387 of file transform.h.
References acosf, ccl_device_inline, clamp(), cosf, dot(), normalize, quat_interpolate(), and sinf.
Referenced by quat_interpolate(), and transform_motion_array_interpolate().
| ccl_device_inline Transform transform_clear_scale | ( | const Transform & | tfm | ) |
Definition at line 367 of file transform.h.
References ccl_device_inline, normalize, transform_clear_scale(), transform_get_column(), and transform_set_column().
Referenced by blender_camera_focal_distance(), blender_camera_matrix(), and transform_clear_scale().
| ccl_device_inline void transform_compose | ( | ccl_private Transform * | tfm, |
| const ccl_private DecomposedTransform * | decomp ) |
Definition at line 506 of file transform.h.
References ccl_device_inline, ccl_private, dot(), M_SQRT2_F, make_float3(), make_float4(), and transform_compose().
Referenced by transform_compose(), and transform_motion_array_interpolate().
| ccl_device_inline bool transform_decomposed_isfinite_safe | ( | ccl_private DecomposedTransform * | decomp | ) |
Definition at line 587 of file transform.h.
References ccl_device_inline, ccl_private, isfinite_safe(), and transform_decomposed_isfinite_safe().
Referenced by TEST(), and transform_decomposed_isfinite_safe().
| ccl_device_inline float3 transform_direction | ( | const ccl_private Transform * | t, |
| const float3 | a ) |
Definition at line 87 of file transform.h.
References b, ccl_device_inline, ccl_private, madd(), make_float3(), transform_direction(), w(), float3::x, x, float3::y, y, float3::z, and z().
Referenced by Mesh::apply_transform(), area_light_valid_ray_segment(), bvh_instance_push(), bvh_unaligned_node_intersect_child(), camera_sample_orthographic(), camera_sample_perspective(), camera_sample_to_ray(), camera_world_to_ndc(), Object::compute_volume_step_size(), LightManager::device_update_background(), ShaderManager::init_xyz_transforms(), integrate_surface_ray_offset(), integrator_init_from_bake(), light_tree_to_local_space(), object_dir_transform(), object_inverse_dir_transform(), object_volume_density(), Mesh::pack_normals(), point_light_mnee_sample_update(), point_light_sample(), point_light_sample_from_intersection(), spot_light_to_local(), spot_light_valid_ray_segment(), svm_mapping(), svm_node_vector_rotate(), svm_node_vector_transform(), LightTreeMeasure::transform(), transform_direction(), Camera::update(), and Camera::world_to_raster_size().
| ccl_device_inline float3 transform_direction_transposed | ( | const ccl_private Transform * | t, |
| const float3 | a ) |
Definition at line 116 of file transform.h.
References ccl_device_inline, ccl_private, dot(), make_float3(), transform_direction_transposed(), x, y, and z().
Referenced by integrator_init_from_bake(), light_tree_to_local_space(), object_inverse_normal_transform(), object_normal_transform(), svm_mapping(), svm_node_vector_rotate(), svm_node_vector_transform(), and transform_direction_transposed().
| ccl_device_inline Transform transform_empty | ( | ) |
Definition at line 378 of file transform.h.
References ccl_device_inline, make_transform(), and transform_empty().
Referenced by transform_empty(), and Object::update_motion().
| ccl_device_inline bool transform_equal_threshold | ( | const Transform & | A, |
| const Transform & | B, | ||
| const float | threshold ) |
Definition at line 306 of file transform.h.
References A, B, ccl_device_inline, fabsf, transform_equal_threshold(), x, and y.
Referenced by ShaderManager::init_xyz_transforms(), and transform_equal_threshold().
| ccl_device_inline Transform transform_euler | ( | const float3 | euler | ) |
Definition at line 282 of file transform.h.
References ccl_device_inline, make_float3(), transform_euler(), transform_rotate(), float3::x, float3::y, and float3::z.
Referenced by TextureMapping::compute_transform(), and transform_euler().
| Transform transform_from_viewplane | ( | BoundBox2D & | viewplane | ) |
Definition at line 194 of file transform.cpp.
References BoundBox2D::bottom, BoundBox2D::left, BoundBox2D::right, BoundBox2D::top, transform_from_viewplane(), transform_scale(), and transform_translate().
Referenced by transform_from_viewplane(), and Camera::update().
| ccl_device_inline float3 transform_get_column | ( | const Transform * | t, |
| const int | column ) |
Definition at line 321 of file transform.h.
References ccl_device_inline, make_float3(), transform_get_column(), Transform::x, Transform::y, and Transform::z.
Referenced by Hair::apply_transform(), PointCloud::apply_transform(), Light::area(), blender_camera_focal_distance(), LightManager::device_update_lights(), Light::has_contribution(), LightTreeEmitter::LightTreeEmitter(), transform_clear_scale(), transform_decompose(), transform_get_column(), transform_negative_scale(), and transform_uniform_scale().
| ccl_device_inline Transform transform_identity | ( | ) |
Definition at line 289 of file transform.h.
References ccl_device_inline, transform_identity(), and transform_scale().
Referenced by Object::apply_transform(), Camera::Camera(), Geometry::clear(), BVHUnaligned::compute_aligned_space(), BVHUnaligned::compute_aligned_space(), BVHUnaligned::compute_aligned_space(), HDCYCLES_NAMESPACE_OPEN_SCOPE::convertToCycles< Transform >(), Geometry::Geometry(), BVHNode::get_aligned_space(), VDBImageLoader::load_metadata(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), BVH2::refit_node(), transform_identity(), xml_read_file(), and XMLReadState::XMLReadState().
| ccl_device_inline Transform transform_inverse | ( | const Transform | tfm | ) |
Definition at line 492 of file transform.h.
References ccl_device_inline, system_cpu_support_avx2(), transform_inverse(), transform_inverse_cpu_avx2(), and transform_inverse_impl().
Referenced by add_node(), blender_camera_from_view(), TextureMapping::compute_transform(), Object::compute_volume_step_size(), LightManager::device_update_background(), ObjectManager::device_update_object_transform(), ShaderManager::init_xyz_transforms(), VDBImageLoader::load_metadata(), object_fetch_transform_motion_test(), ObtainCacheParticleData(), shader_setup_object_transforms(), transform_decompose(), transform_inverse(), transform_transposed_inverse(), and Camera::update().
Definition at line 9 of file transform_avx2.cpp.
References transform_inverse_cpu_avx2(), and transform_inverse_impl().
Referenced by transform_inverse(), and transform_inverse_cpu_avx2().
| ccl_device_forceinline float3 transform_inverse_cross | ( | const float3 | a_, |
| const float3 | b_ ) |
Definition at line 420 of file transform.h.
References b, ccl_device_forceinline, cross, and transform_inverse_cross().
Referenced by transform_inverse_cross(), and transform_inverse_impl().
| ccl_device_forceinline float transform_inverse_dot | ( | const float3 | a_, |
| const float3 | b_ ) |
Definition at line 438 of file transform.h.
References b, ccl_device_forceinline, dot(), and transform_inverse_dot().
Referenced by transform_inverse_dot(), and transform_inverse_impl().
| ccl_device_forceinline Transform transform_inverse_impl | ( | const Transform | tfm | ) |
Definition at line 449 of file transform.h.
References ccl_device_forceinline, cross, FLT_MAX, make_float3(), make_float4(), transform_inverse_cross(), transform_inverse_dot(), transform_inverse_impl(), w(), Transform::x, x, Transform::y, y, Transform::z, and z().
Referenced by transform_inverse(), transform_inverse_cpu_avx2(), and transform_inverse_impl().
| ccl_device_inline bool transform_isfinite_safe | ( | ccl_private Transform * | tfm | ) |
Definition at line 582 of file transform.h.
References ccl_device_inline, ccl_private, isfinite_safe(), and transform_isfinite_safe().
Referenced by transform_isfinite_safe().
| ccl_device void transform_motion_array_interpolate | ( | ccl_private Transform * | tfm, |
| const ccl_global DecomposedTransform * | motion, | ||
| const uint | numsteps, | ||
| const float | time ) |
Definition at line 558 of file transform.h.
References b, ccl_device, ccl_global, ccl_private, min, quat_interpolate(), step, transform_compose(), transform_motion_array_interpolate(), DecomposedTransform::w, DecomposedTransform::x, DecomposedTransform::y, and DecomposedTransform::z.
Referenced by camera_sample_orthographic(), camera_sample_perspective(), camera_sample_to_ray(), Object::compute_bounds(), and transform_motion_array_interpolate().
| void transform_motion_decompose | ( | DecomposedTransform * | decomp, |
| const Transform * | motion, | ||
| const size_t | size ) |
Definition at line 155 of file transform.cpp.
References dot(), i, is_zero(), make_float3(), size(), transform_decompose(), transform_motion_decompose(), DecomposedTransform::w, DecomposedTransform::x, x, y, and DecomposedTransform::z.
Referenced by Object::compute_bounds(), ObjectManager::device_update_object_transform(), TEST(), transform_motion_decompose(), and Camera::update().
| ccl_device_inline bool transform_negative_scale | ( | const Transform & | tfm | ) |
Definition at line 358 of file transform.h.
References ccl_device_inline, cross, dot(), transform_get_column(), and transform_negative_scale().
Referenced by Object::apply_transform(), ObjectManager::device_update_object_transform(), LightTreeEmitter::LightTreeEmitter(), transform_decompose(), and transform_negative_scale().
| ccl_device_inline float3 transform_point | ( | const ccl_private Transform * | t, |
| const float3 | a ) |
Definition at line 56 of file transform.h.
References b, ccl_device_inline, ccl_private, madd(), make_float3(), transform_point(), w(), float3::x, x, float3::y, y, float3::z, and z().
Referenced by Hair::apply_transform(), Mesh::apply_transform(), PointCloud::apply_transform(), area_light_valid_ray_segment(), bone_draw_wire(), Hair::Curve::bounds_grow(), PointCloud::Point::bounds_grow(), bvh_instance_push(), bvh_unaligned_node_intersect_child(), camera_sample_orthographic(), camera_sample_perspective(), camera_sample_to_ray(), camera_world_to_ndc(), camera_z_depth(), LightManager::device_update_distribution(), BVHSpatialSplit::get_unaligned_point(), integrate_surface_ray_offset(), CCL_NAMESPACE_BEGIN::kernel_tex_image_interp_3d(), kernel_tex_image_interp_3d(), light_tree_to_local_space(), LightTreeEmitter::LightTreeEmitter(), mnee_setup_manifold_vertex(), motion_triangle_point_from_uv(), object_inverse_position_transform(), object_position_transform(), ObtainCacheParticleData(), primitive_motion_vector(), blender::nodes::node_geo_rotate_instances_cc::rotate_instances(), BVHSpatialSplit::split_curve_primitive(), BVHSpatialSplit::split_point_primitive(), BVHSpatialSplit::split_triangle_primitive(), spot_light_valid_ray_segment(), svm_node_camera(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_voxel(), svm_node_texture_mapping(), svm_node_vector_transform(), BlenderObjectCulling::test(), transform_point(), BoundBox::transformed(), triangle_point_from_uv(), triangle_world_space_vertices(), and Camera::world_to_raster_size().
| ccl_device_inline Transform transform_rotate | ( | const float | angle, |
| float3 | axis ) |
Definition at line 257 of file transform.h.
References angle(), ccl_device_inline, cosf, make_transform(), normalize, sinf, transform_rotate(), float3::x, float3::y, and float3::z.
Referenced by TEST(), transform_euler(), transform_rotate(), and xml_read_transform().
| ccl_device_inline Transform transform_scale | ( | const float | x, |
| const float | y, | ||
| float | z ) |
Definition at line 252 of file transform.h.
References ccl_device_inline, make_float3(), transform_scale(), x, y, and z().
| ccl_device_inline Transform transform_scale | ( | const float3 | s | ) |
Definition at line 247 of file transform.h.
References ccl_device_inline, make_transform(), transform_scale(), float3::x, float3::y, and float3::z.
Referenced by add_node(), blender_camera_matrix(), BVHUnaligned::compute_node_transform(), TextureMapping::compute_transform(), create_mesh(), BlenderSmokeLoader::load_metadata(), VDBImageLoader::load_metadata(), projection_orthographic(), projection_perspective(), HdCyclesGeometry< Base, CyclesBase >::Sync(), HdCyclesLight::Sync(), TEST(), TEST(), transform_decompose(), transform_from_viewplane(), transform_identity(), transform_scale(), transform_scale(), Camera::update(), blender::ed::view3d::geometry_nodes_gizmos::DialGizmo::update_transform(), and xml_read_transform().
| ccl_device_inline void transform_set_column | ( | Transform * | t, |
| const int | column, | ||
| const float3 | value ) |
Definition at line 326 of file transform.h.
References ccl_device_inline, transform_set_column(), float3::x, Transform::x, float3::y, Transform::y, float3::z, and Transform::z.
Referenced by transform_clear_scale(), transform_decompose(), and transform_set_column().
Definition at line 23 of file transform.cpp.
References i, sqrt, transform_to_quat(), and w().
Referenced by transform_decompose(), and transform_to_quat().
| ccl_device_inline Transform transform_translate | ( | const float | x, |
| const float | y, | ||
| float | z ) |
Definition at line 242 of file transform.h.
References ccl_device_inline, make_float3(), transform_translate(), x, y, and z().
| ccl_device_inline Transform transform_translate | ( | const float3 | t | ) |
Definition at line 237 of file transform.h.
References ccl_device_inline, make_transform(), transform_translate(), float3::x, float3::y, and float3::z.
Referenced by add_node(), TextureMapping::compute_transform(), create_mesh(), BlenderSmokeLoader::load_metadata(), VDBImageLoader::load_metadata(), TEST(), transform_from_viewplane(), transform_translate(), transform_translate(), and xml_read_transform().
Definition at line 15 of file transform.cpp.
References projection_to_transform(), projection_transpose(), transform_inverse(), and transform_transposed_inverse().
Referenced by Mesh::apply_transform(), TextureMapping::compute_transform(), transform_decompose(), and transform_transposed_inverse().
| ccl_device_inline bool transform_uniform_scale | ( | const Transform & | tfm, |
| float & | scale ) |
Definition at line 335 of file transform.h.
References ccl_device_inline, eps, fabsf, len_squared(), make_float3(), transform_get_column(), transform_uniform_scale(), Transform::x, Transform::y, and Transform::z.
Referenced by ObjectManager::apply_static_transforms(), LightTreeMeasure::transform(), and transform_uniform_scale().
| ccl_device_inline Transform transform_zero | ( | ) |
Definition at line 221 of file transform.h.
References ccl_device_inline, transform_zero(), and zero_float4().
Referenced by transform_zero(), and SocketType::zero_default_value().