|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| struct | ProjectionTransform |
| struct | PerspectiveMotionTransform |
| CCL_NAMESPACE_BEGIN ccl_device float2 direction_to_spherical | ( | const float3 | dir | ) |
Definition at line 11 of file cycles/util/projection.h.
References atan2f, ccl_device, make_float2, safe_acosf(), float3::x, float3::y, and float3::z.
Referenced by Spherical::direction_to_sensor(), sky_radiance_hosek(), sky_radiance_nishita(), and sky_radiance_preetham().
| ccl_device_inline float3 disk_to_hemisphere | ( | const float2 | p | ) |
Definition at line 59 of file cycles/util/projection.h.
References ccl_device_inline, len_squared(), make_float3(), safe_sqrtf(), float2::x, and float2::y.
Referenced by microfacet_ggx_sample_vndf().
| ccl_device_inline ProjectionTransform make_projection | ( | 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, | ||
| const float | m, | ||
| const float | n, | ||
| const float | o, | ||
| const float | p ) |
Definition at line 139 of file cycles/util/projection.h.
References b, ccl_device_inline, e, i, l, float4::w, ProjectionTransform::w, float4::x, ProjectionTransform::x, float4::y, ProjectionTransform::y, float4::z, and ProjectionTransform::z.
Referenced by projection_identity(), and projection_perspective().
| ccl_device_inline ProjectionTransform operator* | ( | const ProjectionTransform & | a, |
| const Transform & | b ) |
Definition at line 266 of file cycles/util/projection.h.
References b, and ccl_device_inline.
| ccl_device_inline ProjectionTransform operator* | ( | const ProjectionTransform | a, |
| const ProjectionTransform | b ) |
Definition at line 249 of file cycles/util/projection.h.
References b, ccl_device_inline, dot(), make_float4, projection_transpose(), ProjectionTransform::w, ProjectionTransform::x, ProjectionTransform::y, and ProjectionTransform::z.
| ccl_device_inline ProjectionTransform operator* | ( | const Transform & | a, |
| const ProjectionTransform & | b ) |
Definition at line 271 of file cycles/util/projection.h.
References b, and ccl_device_inline.
| ccl_device_inline float2 polar_to_cartesian | ( | const float | r, |
| const float | phi ) |
Definition at line 30 of file cycles/util/projection.h.
References ccl_device_inline, cosf, make_float2, and sinf.
Referenced by compute_2d_gabor_kernel(), compute_3d_gabor_kernel(), microfacet_beckmann_sample_vndf(), sample_uniform_disk(), and sample_uniform_sphere().
| ccl_device_inline void print_projection | ( | const char * | label, |
| const ProjectionTransform & | t ) |
Definition at line 276 of file cycles/util/projection.h.
References ccl_device_inline, print_float4(), printf, ProjectionTransform::w, ProjectionTransform::x, ProjectionTransform::y, and ProjectionTransform::z.
| ccl_device_inline ProjectionTransform projection_identity | ( | ) |
Definition at line 178 of file cycles/util/projection.h.
References ccl_device_inline, and make_projection().
Referenced by Camera::Camera(), osl_get_inverse_matrix(), osl_get_matrix(), projection_inverse(), and Camera::update().
| ccl_device_inline ProjectionTransform projection_inverse | ( | const ProjectionTransform | tfm | ) |
Definition at line 231 of file cycles/util/projection.h.
References ccl_device_inline, M, projection_identity(), projection_inverse_impl(), R, and UNLIKELY.
Referenced by Camera::update().
| ccl_device_inline ProjectionTransform projection_orthographic | ( | const float | znear, |
| const float | zfar ) |
Definition at line 299 of file cycles/util/projection.h.
References ccl_device_inline, and transform_scale().
Referenced by Camera::update().
| ccl_device_inline ProjectionTransform projection_perspective | ( | const float | fov, |
| const float | n, | ||
| float | f ) |
Definition at line 285 of file cycles/util/projection.h.
References ccl_device_inline, make_projection(), tanf, and transform_scale().
Referenced by Camera::update().
| ccl_device_inline Transform projection_to_transform | ( | const ProjectionTransform & | a | ) |
Definition at line 199 of file cycles/util/projection.h.
References ccl_device_inline, ProjectionTransform::x, ProjectionTransform::y, and ProjectionTransform::z.
Referenced by transform_transposed_inverse(), and xml_read_transform().
| ccl_device_inline ProjectionTransform projection_transpose | ( | const ProjectionTransform | a | ) |
Definition at line 206 of file cycles/util/projection.h.
References ccl_device_inline, float4::w, ProjectionTransform::w, float4::x, ProjectionTransform::x, float4::y, ProjectionTransform::y, float4::z, and ProjectionTransform::z.
Referenced by copy_matrix(), copy_matrix(), operator*(), transform_transposed_inverse(), and xml_read_transform().
| ccl_device float3 spherical_cos_to_direction | ( | const float | cos_theta, |
| const float | phi ) |
Definition at line 24 of file cycles/util/projection.h.
References ccl_device, cos_theta(), cosf, make_float3(), sin_from_cos(), sin_theta(), and sinf.
Referenced by bsdf_ashikhmin_shirley_sample(), bsdf_hair_chiang_sample(), and phase_sample_direction().
| ccl_device float3 spherical_to_direction | ( | const float | theta, |
| const float | phi ) |
Definition at line 19 of file cycles/util/projection.h.
References ccl_device, cosf, make_float3(), and sinf.
Referenced by compute_3d_orientation(), equirectangular_range_to_direction(), geographical_to_direction(), Spherical::sensor_to_direction(), and sky_radiance_nishita().
Definition at line 36 of file cycles/util/projection.h.
References ccl_device_inline, T, X, float2::x, Y, and float2::y.
Referenced by bsdf_ashikhmin_shirley_sample(), bsdf_hair_chiang_sample(), bsdf_hair_huang_sample(), bsdf_microfacet_sample(), bsdf_sheen_sample(), microfacet_ggx_sample_vndf(), phase_sample_direction(), remap_hair_emitter(), sample_wh(), and svm_node_normal_map().
Definition at line 42 of file cycles/util/projection.h.
References ccl_device_inline, T, X, float3::x, Y, float3::y, Z, and float3::z.
Definition at line 48 of file cycles/util/projection.h.
References ccl_device_inline, dot(), make_float2, T, X, and Y.
Referenced by bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), bsdf_hair_huang_eval(), bsdf_sheen_eval(), ShaderManager::rec709_to_scene_linear(), and sample_wh().
Definition at line 54 of file cycles/util/projection.h.
References ccl_device_inline, dot(), make_float3(), T, X, Y, and Z.
| CCL_NAMESPACE_END CCL_NAMESPACE_BEGIN ccl_device_inline float3 transform_perspective | ( | const ccl_private ProjectionTransform * | t, |
| const float3 | a ) |
Definition at line 94 of file cycles/util/projection.h.
References b, ccl_device_inline, ccl_private, dot(), make_float3(), make_float4, w(), float3::x, float3::y, float3::z, and zero_float3().
Referenced by camera_panorama_direction(), camera_sample_custom(), camera_sample_orthographic(), camera_sample_perspective(), camera_world_to_ndc(), EdgeDice::eval_projected(), primitive_motion_vector(), Camera::update(), and Camera::world_to_raster_size().
| ccl_device_inline float3 transform_perspective_deriv | ( | const ccl_private ProjectionTransform * | t, |
| const float3 | a, | ||
| const float3 | dx, | ||
| const float3 | dy, | ||
| ccl_private float3 & | out_dx, | ||
| ccl_private float3 & | out_dy ) |
Definition at line 116 of file cycles/util/projection.h.
References b, ccl_device_inline, ccl_private, dot(), make_float3(), make_float4, transform_perspective_direction(), w(), float3::x, float3::y, float3::z, and zero_float3().
| ccl_device_inline float3 transform_perspective_direction | ( | const ccl_private ProjectionTransform * | t, |
| const float3 | a ) |
Definition at line 104 of file cycles/util/projection.h.
References ccl_device_inline, ccl_private, make_float3(), float3::x, float3::y, and float3::z.
Referenced by camera_sample_custom(), transform_perspective_deriv(), and Camera::update().