Blender V5.0
object.h File Reference
#include "kernel/globals.h"
#include "kernel/types.h"

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 }

Functions

ccl_device_inline Transform object_fetch_transform (KernelGlobals kg, const int object, enum ObjectTransform type)
ccl_device_inline Transform object_fetch_motion_pass_transform (KernelGlobals kg, const int object, enum ObjectVectorTransform type)
ccl_device_inline Transform object_fetch_transform_motion_test (KernelGlobals kg, const int object, const float time, ccl_private Transform *itfm)
ccl_device_inline Transform object_get_transform (KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device_inline Transform object_get_inverse_transform (KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device_inline Transform lamp_get_inverse_transform (KernelGlobals kg, const ccl_global KernelLight *klight)
template<class T>
ccl_device_inline void object_position_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private T *P)
ccl_device_inline void object_inverse_position_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *P)
ccl_device_inline void object_inverse_normal_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *N)
ccl_device_inline void object_normal_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *N)
ccl_device_inline bool object_negative_scale_applied (const int object_flag)
ccl_device_inline void object_dir_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *D)
ccl_device_inline void object_inverse_dir_transform (KernelGlobals kg, const ccl_private ShaderData *sd, ccl_private float3 *D)
ccl_device_inline float3 object_location (KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device_inline float3 object_color (KernelGlobals kg, const int object)
ccl_device_inline float object_alpha (KernelGlobals kg, const int object)
ccl_device_inline float object_pass_id (KernelGlobals kg, const int object)
ccl_device_inline int object_lightgroup (KernelGlobals kg, const int object)
ccl_device_inline float object_random_number (KernelGlobals kg, const int object)
ccl_device_inline int object_particle_id (KernelGlobals kg, const int object)
ccl_device_inline float3 object_dupli_generated (KernelGlobals kg, const int object)
ccl_device_inline float3 object_dupli_uv (KernelGlobals kg, const int object)
ccl_device_inline float object_volume_density (KernelGlobals kg, const int object)
ccl_device int shader_pass_id (KernelGlobals kg, const ccl_private ShaderData *sd)
ccl_device_inline float object_cryptomatte_id (KernelGlobals kg, const int object)
ccl_device_inline float object_cryptomatte_asset_id (KernelGlobals kg, const int object)
ccl_device_inline uint particle_index (KernelGlobals kg, const int particle)
ccl_device float particle_age (KernelGlobals kg, const int particle)
ccl_device float particle_lifetime (KernelGlobals kg, const int particle)
ccl_device float particle_size (KernelGlobals kg, const int particle)
ccl_device float4 particle_rotation (KernelGlobals kg, const int particle)
ccl_device float3 particle_location (KernelGlobals kg, const int particle)
ccl_device float3 particle_velocity (KernelGlobals kg, const int particle)
ccl_device float3 particle_angular_velocity (KernelGlobals kg, const int particle)
ccl_device_inline float3 bvh_clamp_direction (const float3 dir)
ccl_device_inline float3 bvh_inverse_direction (const float3 dir)
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)
ccl_device_inline void bvh_instance_pop (const ccl_private Ray *ray, ccl_private float3 *P, ccl_private float3 *dir, ccl_private float3 *idir)

Macro Definition Documentation

◆ object_dir_transform_auto

#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().

◆ object_normal_transform_auto

#define object_normal_transform_auto   object_normal_transform

◆ object_position_transform_auto

#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().

Enumeration Type Documentation

◆ ObjectTransform

Enumerator
OBJECT_TRANSFORM 
OBJECT_INVERSE_TRANSFORM 

Definition at line 24 of file kernel/geom/object.h.

◆ ObjectVectorTransform

Enumerator
OBJECT_PASS_MOTION_PRE 
OBJECT_PASS_MOTION_POST 

Definition at line 29 of file kernel/geom/object.h.

Function Documentation

◆ bvh_clamp_direction()

ccl_device_inline float3 bvh_clamp_direction ( const float3 dir)

◆ bvh_instance_pop()

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.

Referenced by BVH(), BVH(), and BVH().

◆ bvh_instance_push()

◆ bvh_inverse_direction()

ccl_device_inline float3 bvh_inverse_direction ( const float3 dir)

◆ lamp_get_inverse_transform()

◆ object_alpha()

◆ object_color()

◆ object_cryptomatte_asset_id()

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().

◆ object_cryptomatte_id()

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().

◆ object_dir_transform()

◆ object_dupli_generated()

◆ object_dupli_uv()

◆ object_fetch_motion_pass_transform()

ccl_device_inline Transform object_fetch_motion_pass_transform ( KernelGlobals kg,
const int object,
enum ObjectVectorTransform type )

◆ object_fetch_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_lightgroup()

◆ object_location()

◆ object_negative_scale_applied()

ccl_device_inline bool object_negative_scale_applied ( const int object_flag)

◆ object_normal_transform()

◆ object_particle_id()

◆ object_pass_id()

◆ object_position_transform()

◆ object_random_number()

◆ object_volume_density()

◆ particle_age()

◆ particle_angular_velocity()

ccl_device float3 particle_angular_velocity ( KernelGlobals kg,
const int particle )

◆ particle_index()

◆ particle_lifetime()

ccl_device float particle_lifetime ( KernelGlobals kg,
const int particle )

◆ particle_location()

◆ particle_rotation()

ccl_device float4 particle_rotation ( KernelGlobals kg,
const int particle )

◆ particle_size()

◆ particle_velocity()

◆ shader_pass_id()