Man page - rtcray(3)

Packages contains this manual

Manual

RTCRay

NAME
SYNOPSIS
DESCRIPTION
EXIT STATUS
SEE ALSO

NAME

RTCRay - single ray structure

SYNOPSIS

#include <embree4/rtcore_ray.h>

struct RTC_ALIGN(16) RTCRay
{
  float org_x;        // x coordinate of ray origin
  float org_y;        // y coordinate of ray origin
  float org_z;        // z coordinate of ray origin
  float tnear;        // start of ray segment

  float dir_x;        // x coordinate of ray direction
  float dir_y;        // y coordinate of ray direction
  float dir_z;        // z coordinate of ray direction
  float time;         // time of this ray for motion blur


  float tfar;         // end of ray segment (set to hit distance)
  unsigned int mask;  // ray mask
  unsigned int id;    // ray ID
  unsigned int flags; // ray flags
};

DESCRIPTION

The RTCRay structure defines the ray layout for a single ray. The ray contains the origin ( org_x , org_y , org_z members), direction vector ( dir_x , dir_y , dir_z members), and ray segment ( tnear and tfar members). The ray direction does not have to be normalized, and only the parameter range specified by the tnear / tfar interval is considered valid.

The ray segment must be in the range [0, ∞], thus ranges that start behind the ray origin are not allowed, but ranges can reach to infinity.

The ray further contains a motion blur time in the range [0, 1] ( time member), a ray mask ( mask member), a ray ID ( id member), and ray flags ( flags member). The ray mask can be used to mask out some geometries for some rays (see rtcSetGeometryMask for more details). The ray ID can be used to identify a ray inside a callback function, even if the order of rays inside a ray packet has changed.

The embree4/rtcore_ray.h header additionally defines the same ray structure in structure of array (SOA) layout for API functions accepting ray packets of size 4 ( RTCRay4 type), size 8 ( RTCRay8 type), and size 16 ( RTCRay16 type). The header additionally defines an RTCRayNt template for ray packets of an arbitrary compile-time size.

EXIT STATUS

SEE ALSO

[RTCHit]