34 |
|
|
35 |
|
/* Primary photon ray for light source contributions */ |
36 |
|
typedef struct { |
37 |
< |
short srcIdx; /* Index of emitting light source */ |
38 |
< |
float dir [3], org [3]; /* Incident dir & origin on source */ |
37 |
> |
uint32 srcIdx; /* Index of emitting light source */ |
38 |
> |
int32 dir; /* Encoded ray direction */ |
39 |
> |
float pos [3]; /* Hit point */ |
40 |
|
} PhotonPrimary; |
41 |
|
|
42 |
|
#define photonSrcIdx(pm, p) ((pm) -> primary [(p) -> primary].srcIdx) |
54 |
|
COLR flux; /* Photon flux */ |
55 |
|
#endif |
56 |
|
|
57 |
< |
unsigned primary; /* Index to primary ray */ |
57 |
> |
uint32 primary; /* Index to primary ray */ |
58 |
|
} Photon; |
59 |
|
|
60 |
|
/* Photon flag bitmasks and manipulation macros */ |