|
Blender V5.0
|
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 647 of file device/cpu/globals.h.
| #define transform_direction_transposed_auto transform_direction_transposed |
Definition at line 648 of file device/cpu/globals.h.
| #define transform_point_auto transform_point |
Definition at line 646 of file device/cpu/globals.h.
| ccl_device_inline Transform euler_to_transform | ( | const float3 | euler | ) |
Definition at line 201 of file transform.h.
References ccl_device_inline, cosf, sinf, float4::w, float3::x, float4::x, Transform::x, float3::y, float4::y, Transform::y, float3::z, float4::z, and Transform::z.
Referenced by 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 159 of file transform.h.
References b, ccl_device_inline, e, i, l, float4::w, float4::x, Transform::x, float4::y, Transform::y, float4::z, 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_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 190 of file transform.h.
References ccl_device_inline, make_float4, Transform::x, x, Transform::y, y, Transform::z, and z().
| ccl_device_inline Transform make_transform_frame | ( | const float3 | N | ) |
Definition at line 228 of file transform.h.
References ccl_device_inline, cross, dot(), make_float3(), make_transform(), N, normalize, float3::x, float3::y, and float3::z.
Referenced by BVHUnaligned::compute_aligned_space().
| ccl_device_inline bool operator!= | ( | const Transform & | A, |
| const Transform & | B ) |
Definition at line 334 of file transform.h.
References A, B, and ccl_device_inline.
| ccl_device_inline Transform operator* | ( | const Transform | a, |
| const Transform | b ) |
Definition at line 238 of file transform.h.
References b, ccl_device_inline, dot(), make_float4, Transform::x, Transform::y, and Transform::z.
| ccl_device_inline bool operator== | ( | const DecomposedTransform & | A, |
| const DecomposedTransform & | B ) |
Definition at line 630 of file transform.h.
References A, B, and ccl_device_inline.
| ccl_device_inline bool operator== | ( | const Transform & | A, |
| const Transform & | B ) |
Definition at line 327 of file transform.h.
References A, B, and ccl_device_inline.
| ccl_device_inline void print_transform | ( | const char * | label, |
| const Transform & | t ) |
Definition at line 262 of file transform.h.
References ccl_device_inline, print_float4(), printf, Transform::x, Transform::y, and Transform::z.
| ccl_device_inline float4 quat_interpolate | ( | const float4 | q1, |
| const float4 | q2, | ||
| const float | t ) |
Definition at line 420 of file transform.h.
References acosf, ccl_device_inline, clamp(), cosf, dot(), normalize, and sinf.
Referenced by transform_motion_array_interpolate().
| ccl_device_inline Transform transform_clear_scale | ( | const Transform & | tfm | ) |
Definition at line 400 of file transform.h.
References ccl_device_inline, normalize, transform_get_column(), and transform_set_column().
Referenced by blender_camera_focal_distance(), and blender_camera_matrix().
| ccl_device_inline void transform_compose | ( | ccl_private Transform * | tfm, |
| const ccl_private DecomposedTransform * | decomp ) |
Definition at line 539 of file transform.h.
References ccl_device_inline, ccl_private, dot(), M_SQRT2_F, make_float3(), and make_float4.
Referenced by transform_motion_array_interpolate().
| ccl_device_inline bool transform_decomposed_isfinite_safe | ( | ccl_private DecomposedTransform * | decomp | ) |
Definition at line 620 of file transform.h.
References ccl_device_inline, ccl_private, and isfinite_safe().
Referenced by TEST().
| ccl_device_inline float3 transform_direction | ( | const ccl_private Transform * | t, |
| const float3 | a ) |
Definition at line 127 of file transform.h.
References b, ccl_device_inline, ccl_private, dot(), madd(), make_float3(), make_float4, w(), float4::x, x, float4::y, y, float4::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(), ShaderManager::compute_thin_film_table(), 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(), 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 149 of file transform.h.
References ccl_device_inline, ccl_private, dot(), make_float3(), 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(), and svm_node_vector_transform().
| ccl_device_inline Transform transform_empty | ( | ) |
Definition at line 411 of file transform.h.
References ccl_device_inline, and make_transform().
Referenced by Object::update_motion().
| ccl_device_inline bool transform_equal_threshold | ( | const Transform & | A, |
| const Transform & | B, | ||
| const float | threshold ) |
Definition at line 339 of file transform.h.
References A, B, ccl_device_inline, fabsf, x, and y.
Referenced by ShaderManager::init_xyz_transforms().
| ccl_device_inline Transform transform_euler | ( | const float3 | euler | ) |
Definition at line 315 of file transform.h.
References ccl_device_inline, make_float3(), transform_rotate(), float3::x, float3::y, and float3::z.
Referenced by TextureMapping::compute_transform().
| Transform transform_from_viewplane | ( | BoundBox2D & | viewplane | ) |
Definition at line 197 of file transform.cpp.
References BoundBox2D::bottom, BoundBox2D::left, BoundBox2D::right, BoundBox2D::top, transform_scale(), and transform_translate().
Referenced by Camera::update().
| ccl_device_inline float3 transform_get_column | ( | const Transform * | t, |
| const int | column ) |
Definition at line 354 of file transform.h.
References ccl_device_inline, make_float3(), 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_negative_scale(), and transform_uniform_scale().
| ccl_device_inline Transform transform_identity | ( | ) |
Definition at line 322 of file transform.h.
References ccl_device_inline, 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(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), NODE_DEFINE(), BVH2::refit_node(), xml_read_file(), and XMLReadState::XMLReadState().
| ccl_device_inline Transform transform_inverse | ( | const Transform | tfm | ) |
Definition at line 525 of file transform.h.
References ccl_device_inline, system_cpu_support_avx2(), transform_inverse_cpu_avx2(), and transform_inverse_impl().
Referenced by 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_transposed_inverse(), and Camera::update().
Definition at line 9 of file transform_avx2.cpp.
References transform_inverse_impl().
Referenced by transform_inverse().
| ccl_device_forceinline float3 transform_inverse_cross | ( | const float3 | a_, |
| const float3 | b_ ) |
Definition at line 453 of file transform.h.
References b, ccl_device_forceinline, and cross.
Referenced by transform_inverse_impl().
| ccl_device_forceinline float transform_inverse_dot | ( | const float3 | a_, |
| const float3 | b_ ) |
Definition at line 471 of file transform.h.
References b, ccl_device_forceinline, and dot().
Referenced by transform_inverse_impl().
| ccl_device_forceinline Transform transform_inverse_impl | ( | const Transform | tfm | ) |
Definition at line 482 of file transform.h.
References ccl_device_forceinline, cross, FLT_MAX, make_float3(), make_float4, transform_inverse_cross(), transform_inverse_dot(), float4::w, w(), float4::x, Transform::x, x, float4::y, Transform::y, y, float4::z, Transform::z, and z().
Referenced by transform_inverse(), and transform_inverse_cpu_avx2().
| ccl_device_inline bool transform_isfinite_safe | ( | ccl_private Transform * | tfm | ) |
Definition at line 615 of file transform.h.
References ccl_device_inline, ccl_private, and 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 591 of file transform.h.
References b, ccl_device, ccl_global, ccl_private, min, quat_interpolate(), step, transform_compose(), DecomposedTransform::w, float4::w, DecomposedTransform::x, DecomposedTransform::y, float4::y, DecomposedTransform::z, and float4::z.
Referenced by camera_sample_orthographic(), camera_sample_perspective(), camera_sample_to_ray(), and Object::compute_bounds().
| void transform_motion_decompose | ( | DecomposedTransform * | decomp, |
| const Transform * | motion, | ||
| const size_t | size ) |
Definition at line 158 of file transform.cpp.
References dot(), i, is_zero(), make_float3(), size(), transform_decompose(), DecomposedTransform::w, float4::w, DecomposedTransform::x, x, y, and DecomposedTransform::z.
Referenced by Object::compute_bounds(), ObjectManager::device_update_object_transform(), TEST(), and Camera::update().
| ccl_device_inline bool transform_negative_scale | ( | const Transform & | tfm | ) |
Definition at line 391 of file transform.h.
References ccl_device_inline, cross, dot(), and transform_get_column().
Referenced by Object::apply_transform(), ObjectManager::device_update_object_transform(), LightTreeEmitter::LightTreeEmitter(), and transform_decompose().
| ccl_device_inline dual3 transform_point | ( | const ccl_private Transform * | t, |
| const dual3 | a ) |
Definition at line 79 of file transform.h.
References b, ccl_device_inline, ccl_private, dot(), dual< float3 >::dx, dual< float3 >::dy, madd(), make_float3(), make_homogeneous(), result, dual< float3 >::val, w(), x, y, and z().
| 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, dot(), madd(), make_float3(), make_homogeneous(), w(), float4::x, x, float4::y, y, float4::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_volume_density_evaluate(), 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::eevee::IrradianceBake::raylists_build(), 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(), blender::eevee::IrradianceBake::surfel_raster_views_sync(), blender::eevee::IrradianceBake::surfels_create(), svm_node_camera(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_texture_mapping(), svm_node_vector_transform(), svm_texco_camera(), BlenderObjectCulling::test(), blender::math::to_quaternion_legacy(), 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 290 of file transform.h.
References angle(), ccl_device_inline, cosf, make_transform(), normalize, sinf, float3::x, float3::y, and float3::z.
Referenced by TEST(), transform_euler(), and xml_read_transform().
| ccl_device_inline Transform transform_scale | ( | const float | x, |
| const float | y, | ||
| float | z ) |
Definition at line 285 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 280 of file transform.h.
References ccl_device_inline, make_transform(), float3::x, float3::y, and float3::z.
Referenced by blender_camera_matrix(), BVHUnaligned::compute_node_transform(), TextureMapping::compute_transform(), create_mesh(), BlenderSmokeLoader::load_grid(), projection_orthographic(), projection_perspective(), HdCyclesGeometry< Base, CyclesBase >::Sync(), HdCyclesLight::Sync(), TEST(), TEST(), transform_decompose(), transform_from_viewplane(), transform_identity(), 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 359 of file transform.h.
References ccl_device_inline, float3::x, Transform::x, float3::y, Transform::y, float3::z, and Transform::z.
Referenced by transform_clear_scale(), and transform_decompose().
| ccl_device_inline Transform transform_translate | ( | const float | x, |
| const float | y, | ||
| float | z ) |
Definition at line 275 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 270 of file transform.h.
References ccl_device_inline, make_transform(), float3::x, float3::y, and float3::z.
Referenced by TextureMapping::compute_transform(), create_mesh(), BlenderSmokeLoader::load_grid(), TEST(), transform_from_viewplane(), transform_translate(), and xml_read_transform().
Definition at line 15 of file transform.cpp.
References projection_to_transform(), projection_transpose(), and transform_inverse().
Referenced by Mesh::apply_transform(), TextureMapping::compute_transform(), and transform_decompose().
| ccl_device_inline bool transform_uniform_scale | ( | const Transform & | tfm, |
| float & | scale ) |
Definition at line 368 of file transform.h.
References ccl_device_inline, eps, fabsf, len_squared(), make_float3(), transform_get_column(), Transform::x, Transform::y, and Transform::z.
Referenced by ObjectManager::apply_static_transforms(), and LightTreeMeasure::transform().
| ccl_device_inline Transform transform_zero | ( | ) |
Definition at line 254 of file transform.h.
References ccl_device_inline, and zero_float4().
Referenced by SocketType::zero_default_value().