Blender
V3.3
|
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 543 of file kernel/geom/object.h.
#define object_normal_transform_auto object_normal_transform |
Definition at line 544 of file kernel/geom/object.h.
#define object_position_transform_auto object_position_transform |
Definition at line 542 of file kernel/geom/object.h.
enum ObjectTransform |
Enumerator | |
---|---|
OBJECT_TRANSFORM | |
OBJECT_INVERSE_TRANSFORM |
Definition at line 20 of file kernel/geom/object.h.
Enumerator | |
---|---|
OBJECT_PASS_MOTION_PRE | |
OBJECT_PASS_MOTION_POST |
Definition at line 25 of file kernel/geom/object.h.
ccl_device_inline float3 bvh_clamp_direction | ( | float3 | dir | ) |
Definition at line 476 of file kernel/geom/object.h.
References copysignf, fabsf, make_float3, float3::x, float3::y, and float3::z.
Referenced by BVH(), bvh_instance_pop(), and bvh_instance_push().
ccl_device_inline void bvh_instance_pop | ( | ccl_private const Ray * | ray, |
ccl_private float3 * | P, | ||
ccl_private float3 * | dir, | ||
ccl_private float3 * | idir | ||
) |
Definition at line 529 of file kernel/geom/object.h.
References bvh_clamp_direction(), bvh_inverse_direction(), and P().
Referenced by BVH().
ccl_device_inline void bvh_instance_push | ( | KernelGlobals | kg, |
int | object, | ||
ccl_private const Ray * | ray, | ||
ccl_private float3 * | P, | ||
ccl_private float3 * | dir, | ||
ccl_private float3 * | idir | ||
) |
Definition at line 491 of file kernel/geom/object.h.
References bvh_clamp_direction(), bvh_inverse_direction(), object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, P(), transform_direction(), and transform_point().
Referenced by BVH().
ccl_device_inline float3 bvh_inverse_direction | ( | float3 | dir | ) |
Definition at line 484 of file kernel/geom/object.h.
References rcp().
Referenced by BVH(), bvh_instance_pop(), bvh_instance_push(), and bvh_unaligned_node_intersect_child().
ccl_device_inline Transform lamp_fetch_transform | ( | KernelGlobals | kg, |
int | lamp, | ||
bool | inverse | ||
) |
Definition at line 43 of file kernel/geom/object.h.
References inverse(), kernel_data_fetch, and lamp.
Referenced by OSLRenderServices::get_inverse_matrix(), OSLRenderServices::get_matrix(), and object_inverse_normal_transform().
ccl_device_inline int lamp_lightgroup | ( | KernelGlobals | kg, |
int | lamp | ||
) |
Definition at line 288 of file kernel/geom/object.h.
References kernel_data_fetch, lamp, LAMP_NONE, and LIGHTGROUP_NONE.
Referenced by light_sample(), light_sample_from_distant_ray(), and light_sample_from_intersection().
ccl_device_inline float lamp_random_number | ( | KernelGlobals | kg, |
int | lamp | ||
) |
Definition at line 308 of file kernel/geom/object.h.
References kernel_data_fetch, lamp, and LAMP_NONE.
Referenced by svm_node_object_info().
ccl_device_inline float object_alpha | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 268 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
ccl_device_inline float3 object_color | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 257 of file kernel/geom/object.h.
References ccl_global, kernel_data_fetch, make_float3, and OBJECT_NONE.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
ccl_device_inline float object_cryptomatte_asset_id | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 424 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by kernel_write_data_passes().
ccl_device_inline float object_cryptomatte_id | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 416 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by kernel_write_data_passes().
ccl_device_inline void object_dir_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | D | ||
) |
Definition at line 206 of file kernel/geom/object.h.
References 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_enter_bump_eval(), svm_node_vector_displacement(), and svm_node_vector_transform().
ccl_device_inline float3 object_dupli_generated | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 338 of file kernel/geom/object.h.
References ccl_global, kernel_data_fetch, make_float3, and OBJECT_NONE.
Referenced by 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, |
int | object | ||
) |
Definition at line 350 of file kernel/geom/object.h.
References ccl_global, kernel_data_fetch, make_float3, and OBJECT_NONE.
Referenced by 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, |
int | object, | ||
enum ObjectVectorTransform | type | ||
) |
Definition at line 55 of file kernel/geom/object.h.
References kernel_data_fetch, OBJECT_MOTION_PASS_SIZE, offset, and type.
Referenced by primitive_motion_vector().
ccl_device_inline Transform object_fetch_transform | ( | KernelGlobals | kg, |
int | object, | ||
enum ObjectTransform | type | ||
) |
Definition at line 29 of file kernel/geom/object.h.
References kernel_data_fetch, OBJECT_INVERSE_TRANSFORM, and type.
Referenced by bvh_instance_push(), integrator_init_from_bake(), object_dir_transform(), 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_get_inverse_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 117 of file kernel/geom/object.h.
References object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, and SD_OBJECT_MOTION.
Referenced by OSLRenderServices::get_inverse_matrix(), and integrate_surface_ray_offset().
ccl_device_inline Transform object_get_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 105 of file kernel/geom/object.h.
References object_fetch_transform(), OBJECT_TRANSFORM, and SD_OBJECT_MOTION.
Referenced by OSLRenderServices::get_matrix(), motion_triangle_point_from_uv(), and triangle_point_from_uv().
ccl_device_inline void object_inverse_dir_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | D | ||
) |
Definition at line 223 of file kernel/geom/object.h.
References 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, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | N | ||
) |
Definition at line 164 of file kernel/geom/object.h.
References lamp_fetch_transform(), N, blender::math::normalize(), object_fetch_transform(), OBJECT_NONE, OBJECT_TRANSFORM, PRIMITIVE_LAMP, SD_OBJECT_MOTION, transform_direction_transposed(), and transform_direction_transposed_auto.
Referenced by svm_node_displacement(), svm_node_normal_map(), svm_node_set_bump(), svm_node_tex_coord(), svm_node_tex_coord_bump_dx(), svm_node_tex_coord_bump_dy(), svm_node_tex_image_box(), svm_node_vector_displacement(), and triangle_smooth_normal_unnormalized().
ccl_device_inline void object_inverse_position_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | P | ||
) |
Definition at line 147 of file kernel/geom/object.h.
References 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, |
int | object | ||
) |
Definition at line 298 of file kernel/geom/object.h.
References kernel_data_fetch, LIGHTGROUP_NONE, and OBJECT_NONE.
Referenced by triangle_light_sample().
ccl_device_inline float3 object_location | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 240 of file kernel/geom/object.h.
References make_float3, object_fetch_transform(), OBJECT_NONE, OBJECT_TRANSFORM, SD_OBJECT_MOTION, Transform::x, Transform::y, and Transform::z.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
ccl_device_inline void object_motion_info | ( | KernelGlobals | kg, |
int | object, | ||
ccl_private int * | numsteps, | ||
ccl_private int * | numverts, | ||
ccl_private int * | numkeys | ||
) |
Definition at line 361 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by motion_triangle_shader_setup(), motion_triangle_smooth_normal(), motion_triangle_vertices(), motion_triangle_vertices_and_normals(), and primitive_motion_vector().
ccl_device_inline void object_normal_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | N | ||
) |
Definition at line 189 of file kernel/geom/object.h.
References N, blender::math::normalize(), object_fetch_transform(), OBJECT_INVERSE_TRANSFORM, SD_OBJECT_MOTION, transform_direction_transposed(), and transform_direction_transposed_auto.
Referenced by primitive_tangent(), svm_node_normal_map(), svm_node_set_bump(), and svm_node_tangent().
ccl_device_inline int object_particle_id | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 328 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device_inline float object_pass_id | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 278 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by OSLRenderServices::get_object_standard_attribute(), kernel_write_data_passes(), and svm_node_object_info().
ccl_device_inline uint object_patch_map_offset | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 379 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by patch_map_find_patch().
ccl_device_inline void object_position_transform | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private float3 * | P | ||
) |
Definition at line 130 of file kernel/geom/object.h.
References object_fetch_transform(), OBJECT_TRANSFORM, P(), SD_OBJECT_MOTION, transform_point(), and transform_point_auto.
Referenced by OSLRenderServices::get_object_standard_attribute(), primitive_motion_vector(), svm_node_enter_bump_eval(), svm_node_vector_transform(), and wireframe().
ccl_device_inline float object_random_number | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 318 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_object_info().
ccl_device_inline float object_volume_density | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 389 of file kernel/geom/object.h.
References kernel_data_fetch, and OBJECT_NONE.
ccl_device_inline float object_volume_step_size | ( | KernelGlobals | kg, |
int | object | ||
) |
Definition at line 398 of file kernel/geom/object.h.
References kernel_data, kernel_data_fetch, and OBJECT_NONE.
Referenced by volume_stack_step_size().
ccl_device float particle_age | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 439 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device float3 particle_angular_velocity | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 469 of file kernel/geom/object.h.
References float4_to_float3(), and kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device_inline uint particle_index | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 434 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by ObjectManager::device_update_object_transform(), OSLRenderServices::get_object_standard_attribute(), NODE_DEFINE(), Object::Object(), and svm_node_particle_info().
ccl_device float particle_lifetime | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 444 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device float3 particle_location | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 459 of file kernel/geom/object.h.
References float4_to_float3(), and kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device float4 particle_rotation | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 454 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device float particle_size | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 449 of file kernel/geom/object.h.
References kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device float3 particle_velocity | ( | KernelGlobals | kg, |
int | particle | ||
) |
Definition at line 464 of file kernel/geom/object.h.
References float4_to_float3(), and kernel_data_fetch.
Referenced by OSLRenderServices::get_object_standard_attribute(), and svm_node_particle_info().
ccl_device int shader_pass_id | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 409 of file kernel/geom/object.h.
References kernel_data_fetch, SHADER_MASK, and blender::draw::image_engine::shaders.
Referenced by OSLRenderServices::get_object_standard_attribute(), kernel_write_data_passes(), and svm_node_object_info().