diff options
Diffstat (limited to 'intern/cycles/kernel/types.h')
-rw-r--r-- | intern/cycles/kernel/types.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/kernel/types.h b/intern/cycles/kernel/types.h index 3d9a8b403ac..d4cb22d4af4 100644 --- a/intern/cycles/kernel/types.h +++ b/intern/cycles/kernel/types.h @@ -512,12 +512,21 @@ typedef struct differential { /* Ray */ +typedef struct RaySelfPrimitives { + int prim; /* Primitive the ray is starting from */ + int object; /* Instance prim is a part of */ + int light_prim; /* Light primitive */ + int light_object; /* Light object */ +} RaySelfPrimitives; + typedef struct Ray { float3 P; /* origin */ float3 D; /* direction */ float t; /* length of the ray */ float time; /* time (for motion blur) */ + RaySelfPrimitives self; + #ifdef __RAY_DIFFERENTIALS__ float dP; float dD; |