Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
rtcore_ray.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RTCRaySOA
 Ray structure template for packets of N rays in SOA layout. More...
 

Functions

struct RTCORE_ALIGN (16) RTCRay
 Ray structure for an individual ray.
 
struct RTCORE_ALIGN (32) RTCRay8
 
struct RTCORE_ALIGN (64) RTCRay16
 Ray structure for packets of 16 rays.
 

Class Documentation

◆ RTCRaySOA

struct RTCRaySOA

Ray structure template for packets of N rays in SOA layout.

Class Members
float * dirx x coordinate of ray direction
float * diry y coordinate of ray direction
float * dirz z coordinate of ray direction
unsigned * geomID geometry ID
unsigned * instID instance ID (optional)
unsigned * mask Used to mask out objects during traversal (optional)
float * Ngx x coordinate of geometry normal (optional)
float * Ngy y coordinate of geometry normal (optional)
float * Ngz z coordinate of geometry normal (optional)
float * orgx x coordinate of ray origin
float * orgy y coordinate of ray origin
float * orgz z coordinate of ray origin
unsigned * primID primitive ID
float * tfar End of ray segment (set to hit distance)
float * time Time of this ray for motion blur (optional)
float * tnear Start of ray segment (optional)
float * u Barycentric u coordinate of hit.
float * v Barycentric v coordinate of hit.

Function Documentation

◆ RTCORE_ALIGN() [1/3]

struct RTCORE_ALIGN ( 16  )

Ray structure for an individual ray.

Ray structure for packets of 4 rays.

< Ray origin

< Ray direction

< Start of ray segment

< End of ray segment (set to hit distance)

< Time of this ray for motion blur

< Used to mask out objects during traversal

< Unnormalized geometry normal

< Barycentric u coordinate of hit

< Barycentric v coordinate of hit

< geometry ID

< primitive ID

< instance ID

< x coordinate of ray origin

< y coordinate of ray origin

< z coordinate of ray origin

< x coordinate of ray direction

< y coordinate of ray direction

< z coordinate of ray direction

< Start of ray segment

< End of ray segment (set to hit distance)

< Time of this ray for motion blur

< Used to mask out objects during traversal

< x coordinate of geometry normal

< y coordinate of geometry normal

< z coordinate of geometry normal

< Barycentric u coordinate of hit

< Barycentric v coordinate of hit

< geometry ID

< primitive ID

< instance ID

25{
26 /* ray data */
27public:
28 float org[3];
29 float align0;
30
31 float dir[3];
32 float align1;
33
34 float tnear;
35 float tfar;
36
37 float time;
38 unsigned mask;
39
40 /* hit data */
41public:
42 float Ng[3];
43 float align2;
44
45 float u;
46 float v;
47
48 unsigned geomID;
49 unsigned primID;
50 unsigned instID;
51};

◆ RTCORE_ALIGN() [2/3]

struct RTCORE_ALIGN ( 32  )

Ray structure for packets of 8 rays.

< x coordinate of ray origin

< y coordinate of ray origin

< z coordinate of ray origin

< x coordinate of ray direction

< y coordinate of ray direction

< z coordinate of ray direction

< Start of ray segment

< End of ray segment (set to hit distance)

< Time of this ray for motion blur

< Used to mask out objects during traversal

< x coordinate of geometry normal

< y coordinate of geometry normal

< z coordinate of geometry normal

< Barycentric u coordinate of hit

< Barycentric v coordinate of hit

< geometry ID

< primitive ID

< instance ID

88{
89 /* ray data */
90public:
91 float orgx[8];
92 float orgy[8];
93 float orgz[8];
94
95 float dirx[8];
96 float diry[8];
97 float dirz[8];
98
99 float tnear[8];
100 float tfar[8];
101
102 float time[8];
103 unsigned mask[8];
104
105 /* hit data */
106public:
107 float Ngx[8];
108 float Ngy[8];
109 float Ngz[8];
110
111 float u[8];
112 float v[8];
113
114 unsigned geomID[8];
115 unsigned primID[8];
116 unsigned instID[8];
117};

◆ RTCORE_ALIGN() [3/3]

struct RTCORE_ALIGN ( 64  )

Ray structure for packets of 16 rays.

< x coordinate of ray origin

< y coordinate of ray origin

< z coordinate of ray origin

< x coordinate of ray direction

< y coordinate of ray direction

< z coordinate of ray direction

< Start of ray segment

< End of ray segment (set to hit distance)

< Time of this ray for motion blur

< Used to mask out objects during traversal

< x coordinate of geometry normal

< y coordinate of geometry normal

< z coordinate of geometry normal

< Barycentric u coordinate of hit

< Barycentric v coordinate of hit

< geometry ID

< primitive ID

< instance ID

121{
122 /* ray data */
123public:
124 float orgx[16];
125 float orgy[16];
126 float orgz[16];
127
128 float dirx[16];
129 float diry[16];
130 float dirz[16];
131
132 float tnear[16];
133 float tfar[16];
134
135 float time[16];
136 unsigned mask[16];
137
138 /* hit data */
139public:
140 float Ngx[16];
141 float Ngy[16];
142 float Ngz[16];
143
144 float u[16];
145 float v[16];
146
147 unsigned geomID[16];
148 unsigned primID[16];
149 unsigned instID[16];
150};