|
Blender V5.0
|
Go to the source code of this file.
Macros | |
| #define | object_position_transform_auto object_position_transform |
| #define | object_dir_transform_auto object_dir_transform |
| #define | object_normal_transform_auto object_normal_transform |
Enumerations | |
| enum | ObjectTransform { OBJECT_TRANSFORM = 0 , OBJECT_INVERSE_TRANSFORM = 1 } |
| enum | ObjectVectorTransform { OBJECT_PASS_MOTION_PRE = 0 , OBJECT_PASS_MOTION_POST = 1 } |
| #define object_dir_transform_auto object_dir_transform |
Definition at line 504 of file kernel/geom/object.h.
Referenced by shader_setup_from_ray(), and shader_setup_from_sample().
| #define object_normal_transform_auto object_normal_transform |
Definition at line 505 of file kernel/geom/object.h.
Referenced by mnee_setup_manifold_vertex(), shader_setup_from_ray(), and shader_setup_from_sample().
| #define object_position_transform_auto object_position_transform |
Definition at line 503 of file kernel/geom/object.h.
Referenced by mnee_setup_manifold_vertex(), and shader_setup_from_sample().
| enum ObjectTransform |
| Enumerator | |
|---|---|
| OBJECT_TRANSFORM | |
| OBJECT_INVERSE_TRANSFORM | |
Definition at line 24 of file kernel/geom/object.h.
| Enumerator | |
|---|---|
| OBJECT_PASS_MOTION_PRE | |
| OBJECT_PASS_MOTION_POST | |
Definition at line 29 of file kernel/geom/object.h.
| ccl_device_inline float3 bvh_clamp_direction | ( | const float3 | dir | ) |
Definition at line 437 of file kernel/geom/object.h.
References ccl_device_inline, copysignf, fabsf, make_float3(), float3::x, float3::y, and float3::z.
Referenced by BVH(), BVH(), BVH(), BVH(), bvh_instance_pop(), and bvh_instance_push().
| ccl_device_inline void bvh_instance_pop | ( | const ccl_private Ray * | ray, |
| ccl_private float3 * | P, | ||
| ccl_private float3 * | dir, | ||
| ccl_private float3 * | idir ) |
Definition at line 490 of file kernel/geom/object.h.
References bvh_clamp_direction(), bvh_inverse_direction(), ccl_device_inline, ccl_private, and P.
| ccl_device_inline void bvh_instance_push | ( | KernelGlobals | kg, |
| const int | object, | ||
| const ccl_private Ray * | ray, | ||
| ccl_private float3 * | P, | ||
| ccl_private float3 * | dir, | ||
| ccl_private float3 * | idir ) |
Definition at line 452 of file kernel/geom/object.h.
References bvh_clamp_direction(), bvh_inverse_direction(), ccl_device_inline, ccl_private, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, P, transform_direction(), and transform_point().
Referenced by BVH(), BVH(), BVH(), BVH(), and scene_intersect().
| ccl_device_inline float3 bvh_inverse_direction | ( | const float3 | dir | ) |
Definition at line 445 of file kernel/geom/object.h.
References ccl_device_inline, and reciprocal().
Referenced by BVH(), BVH(), BVH(), BVH(), bvh_instance_pop(), bvh_instance_push(), and bvh_unaligned_node_intersect_child().
| ccl_device_inline Transform lamp_get_inverse_transform | ( | KernelGlobals | kg, |
| const ccl_global KernelLight * | klight ) |
Definition at line 125 of file kernel/geom/object.h.
References ccl_device_inline, ccl_global, object_fetch_transform(), and OBJECT_INVERSE_TRANSFORM.
Referenced by distant_light_uv(), point_light_mnee_sample_update(), point_light_sample(), point_light_sample_from_intersection(), spot_light_to_local(), and spot_light_valid_ray_segment().
| ccl_device_inline float object_alpha | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 277 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
| ccl_device_inline float3 object_color | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 265 of file kernel/geom/object.h.
References ccl_device_inline, ccl_global, kernel_data_fetch, make_float3(), and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
| ccl_device_inline float object_cryptomatte_asset_id | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 384 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by film_write_data_passes().
| ccl_device_inline float object_cryptomatte_id | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 375 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by film_write_data_passes().
| ccl_device_inline void object_dir_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private float3 * | D ) |
Definition at line 213 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, D, object_fetch_transform(), OBJECT_TRANSFORM, SD_OBJECT_MOTION, transform_direction(), and transform_direction_auto.
Referenced by shadow_ray_smooth_surface_offset(), svm_node_displacement(), svm_node_vector_displacement(), and svm_node_vector_transform().
| ccl_device_inline float3 object_dupli_generated | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 332 of file kernel/geom/object.h.
References ccl_device_inline, ccl_global, kernel_data_fetch, make_float3(), and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), and svm_node_tex_coord_bump_dy().
| ccl_device_inline float3 object_dupli_uv | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 345 of file kernel/geom/object.h.
References ccl_device_inline, ccl_global, kernel_data_fetch, make_float3(), and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), and svm_node_tex_coord_bump_dy().
| ccl_device_inline Transform object_fetch_motion_pass_transform | ( | KernelGlobals | kg, |
| const int | object, | ||
| enum ObjectVectorTransform | type ) |
Definition at line 45 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_MOTION_PASS_SIZE.
Referenced by primitive_motion_vector().
| ccl_device_inline Transform object_fetch_transform | ( | KernelGlobals | kg, |
| const int | object, | ||
| enum ObjectTransform | type ) |
Definition at line 33 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_INVERSE_TRANSFORM.
Referenced by bvh_instance_push(), integrator_init_from_bake(), kernel_volume_density_evaluate(), lamp_get_inverse_transform(), light_tree_to_local_space(), object_dir_transform(), object_fetch_transform_motion_test(), object_get_inverse_transform(), object_get_transform(), object_inverse_dir_transform(), object_inverse_normal_transform(), object_inverse_position_transform(), object_location(), object_normal_transform(), object_position_transform(), and triangle_world_space_vertices().
| ccl_device_inline Transform object_fetch_transform_motion_test | ( | KernelGlobals | kg, |
| const int | object, | ||
| const float | time, | ||
| ccl_private Transform * | itfm ) |
Definition at line 71 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, kernel_data_fetch, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, OBJECT_TRANSFORM, SD_OBJECT_MOTION, and transform_inverse().
Referenced by OSLRenderServices::get_inverse_matrix(), OSLRenderServices::get_matrix(), light_tree_to_local_space(), and triangle_world_space_vertices().
| ccl_device_inline Transform object_get_inverse_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd ) |
Definition at line 113 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, and SD_OBJECT_MOTION.
Referenced by OSLRenderServices::get_inverse_matrix(), OSLRenderServices::get_inverse_matrix(), integrate_surface_ray_offset(), and osl_get_inverse_matrix().
| ccl_device_inline Transform object_get_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd ) |
Definition at line 101 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, object_fetch_transform(), OBJECT_TRANSFORM, and SD_OBJECT_MOTION.
Referenced by OSLRenderServices::get_matrix(), OSLRenderServices::get_matrix(), mnee_setup_manifold_vertex(), motion_triangle_point_from_uv(), osl_get_matrix(), and triangle_point_from_uv().
| ccl_device_inline void object_inverse_dir_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private float3 * | D ) |
Definition at line 230 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, D, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, SD_OBJECT_MOTION, transform_direction(), and transform_direction_auto.
Referenced by kernel_displace_evaluate(), svm_node_set_bump(), and svm_node_vector_transform().
| ccl_device_inline void object_inverse_normal_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private float3 * | N ) |
Definition at line 168 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, N, object_fetch_transform(), OBJECT_NONE, OBJECT_TRANSFORM, safe_normalize(), SD_OBJECT_MOTION, transform_direction_transposed(), and transform_direction_transposed_auto.
Referenced by attribute_bump_map_normal(), svm_node_displacement(), svm_node_normal_map(), svm_node_set_bump(), svm_node_tex_coord(), svm_node_tex_image_box(), svm_node_vector_displacement(), svm_node_vector_transform(), texco_normal_from_uv(), and triangle_smooth_normal_unnormalized().
| ccl_device_inline void object_inverse_position_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private float3 * | P ) |
Definition at line 151 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, P, SD_OBJECT_MOTION, transform_point(), and transform_point_auto.
Referenced by svm_node_attr(), svm_node_attr_bump_dx(), svm_node_attr_bump_dy(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), and svm_node_vector_transform().
| ccl_device_inline int object_lightgroup | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 299 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, LIGHTGROUP_NONE, and OBJECT_NONE.
Referenced by distant_light_sample_from_intersection(), integrate_surface_emission(), light_sample(), light_sample_from_intersection(), and triangle_light_sample().
| ccl_device_inline float3 object_location | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd ) |
Definition at line 247 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, make_float3(), object_fetch_transform(), OBJECT_NONE, OBJECT_TRANSFORM, SD_OBJECT_MOTION, float4::w, Transform::x, Transform::y, and Transform::z.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
| ccl_device_inline bool object_negative_scale_applied | ( | const int | object_flag | ) |
Definition at line 206 of file kernel/geom/object.h.
References ccl_device_inline, SD_OBJECT_NEGATIVE_SCALE, and SD_OBJECT_TRANSFORM_APPLIED.
Referenced by motion_triangle_shader_setup(), triangle_normal(), and triangle_point_normal().
| ccl_device_inline void object_normal_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private float3 * | N ) |
Definition at line 189 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, N, normalize, object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, OBJECT_NONE, SD_OBJECT_MOTION, transform_direction_transposed(), and transform_direction_transposed_auto.
Referenced by osl_eval_nodes< SHADER_TYPE_SURFACE >(), primitive_tangent(), svm_node_enter_bump_eval(), svm_node_normal_map(), svm_node_set_bump(), svm_node_tangent(), and svm_node_vector_transform().
| ccl_device_inline int object_particle_id | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 321 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device_inline float object_pass_id | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 288 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by film_write_data_passes(), get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
| ccl_device_inline void object_position_transform | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| ccl_private T * | P ) |
Definition at line 134 of file kernel/geom/object.h.
References ccl_device_inline, ccl_private, object_fetch_transform(), OBJECT_TRANSFORM, P, SD_OBJECT_MOTION, T, transform_point(), and transform_point_auto.
Referenced by OSLRenderServices::get_object_standard_attribute(), osl_eval_nodes< SHADER_TYPE_SURFACE >(), primitive_motion_vector(), svm_node_enter_bump_eval(), svm_node_vector_transform(), and wireframe().
| ccl_device_inline float object_random_number | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 310 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
| ccl_device_inline float object_volume_density | ( | KernelGlobals | kg, |
| const int | object ) |
Definition at line 357 of file kernel/geom/object.h.
References ccl_device_inline, kernel_data_fetch, and OBJECT_NONE.
Referenced by ObjectManager::device_update_object_transform(), kernel_volume_density_evaluate(), osl_closure_absorption_setup(), osl_closure_emission_setup(), osl_closure_henyey_greenstein_setup(), osl_closure_uniform_edf_setup(), svm_node_closure_emission(), svm_node_closure_volume(), svm_node_principled_volume(), and svm_node_volume_coefficients().
| ccl_device float particle_age | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 400 of file kernel/geom/object.h.
References ccl_device, and kernel_data_fetch.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device float3 particle_angular_velocity | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 430 of file kernel/geom/object.h.
References ccl_device, kernel_data_fetch, and make_float3().
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device_inline uint particle_index | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 395 of file kernel/geom/object.h.
References ccl_device_inline, and kernel_data_fetch.
Referenced by ObjectManager::device_update_object_transform(), get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), blender::draw::interpolate_face_corner_attribute_to_curve(), NODE_DEFINE(), Object::NODE_SOCKET_API(), Object::Object(), and svm_node_particle_info().
| ccl_device float particle_lifetime | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 405 of file kernel/geom/object.h.
References ccl_device, and kernel_data_fetch.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device float3 particle_location | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 420 of file kernel/geom/object.h.
References ccl_device, kernel_data_fetch, and make_float3().
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device float4 particle_rotation | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 415 of file kernel/geom/object.h.
References ccl_device, and kernel_data_fetch.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device float particle_size | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 410 of file kernel/geom/object.h.
References ccl_device, and kernel_data_fetch.
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device float3 particle_velocity | ( | KernelGlobals | kg, |
| const int | particle ) |
Definition at line 425 of file kernel/geom/object.h.
References ccl_device, kernel_data_fetch, and make_float3().
Referenced by get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
| ccl_device int shader_pass_id | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd ) |
Definition at line 368 of file kernel/geom/object.h.
References ccl_device, ccl_private, kernel_data_fetch, and SHADER_MASK.
Referenced by film_write_data_passes(), get_object_standard_attribute(), OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().