.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "RTCFormat" "3" "" "" "Embree Ray Tracing Kernels 4"
.hy
.SS NAME
.IP
.nf
\f[C]
RTCFormat - specifies format of data in buffers
\f[R]
.fi
.SS SYNOPSIS
.IP
.nf
\f[C]
#include <embree4/rtcore_ray.h>

enum RTCFormat
{
  RTC_FORMAT_UINT,
  RTC_FORMAT_UINT2,
  RTC_FORMAT_UINT3,
  RTC_FORMAT_UINT4,

  RTC_FORMAT_FLOAT,
  RTC_FORMAT_FLOAT2,
  RTC_FORMAT_FLOAT3,
  RTC_FORMAT_FLOAT4,
  RTC_FORMAT_FLOAT5,
  RTC_FORMAT_FLOAT6,
  RTC_FORMAT_FLOAT7,
  RTC_FORMAT_FLOAT8,
  RTC_FORMAT_FLOAT9,
  RTC_FORMAT_FLOAT10,
  RTC_FORMAT_FLOAT11,
  RTC_FORMAT_FLOAT12,
  RTC_FORMAT_FLOAT13,
  RTC_FORMAT_FLOAT14,
  RTC_FORMAT_FLOAT15,
  RTC_FORMAT_FLOAT16,

  RTC_FORMAT_FLOAT3X4_ROW_MAJOR,
  RTC_FORMAT_FLOAT4X4_ROW_MAJOR,

  RTC_FORMAT_FLOAT3X4_COLUMN_MAJOR,
  RTC_FORMAT_FLOAT4X4_COLUMN_MAJOR,

  RTC_FORMAT_GRID,

  RTC_FORMAT_QUATERNION_DECOMPOSITION
};
\f[R]
.fi
.SS DESCRIPTION
.PP
The \f[C]RTFormat\f[R] structure defines the data format stored in data
buffers provided to Embree using the [rtcSetGeometryBuffer],
[rtcSetSharedGeometryBuffer], and [rtcSetNewGeometryBuffer] API calls.
.PP
The \f[C]RTC_FORMAT_UINT/2/3/4\f[R] format are used to specify that data
buffers store unsigned integers, or unsigned integer vectors of size 2,3
or 4.
This format has typically to get used when specifying index buffers,
e.g.\ \f[C]RTC_FORMAT_UINT3\f[R] for triangle meshes.
.PP
The \f[C]RTC_FORMAT_FLOAT/2/3/4...\f[R] format are used to specify that
data buffers store single precision floating point values, or vectors
there of (size 2,3,4, etc.).
This format is typcally used to specify to format of vertex buffers,
e.g.\ the \f[C]RTC_FORMAT_FLOAT3\f[R] type for vertex buffers of
triangle meshes.
.PP
The \f[C]RTC_FORMAT_FLOAT3X4_ROW_MAJOR\f[R] and
\f[C]RTC_FORMAT_FLOAT3X4_COLUMN_MAJOR\f[R] formats, specify a 3x4
floating point matrix layed out either row major or column major.
The \f[C]RTC_FORMAT_FLOAT4X4_ROW_MAJOR\f[R] and
\f[C]RTC_FORMAT_FLOAT4X4_COLUMN_MAJOR\f[R] formats, specify a 4x4
floating point matrix layed out either row major or column major.
The \f[C]RTC_FORMAT_QUATERNION_DECOMPOSITION\f[R] format specifies a
structure that represents a quaternion decomposition (see
[RTCQuaternionDecomposition]) of an affine transformation.
These formats are used in the [rtcSetGeometryTransform] function or in
geometry buffers with type \f[C]RTC_BUFFER_TYPE_TRANSFORM\f[R] in order
to set a transformation matrix for instance and instance array
geometries.
.PP
The \f[C]RTC_FORMAT_GRID\f[R] is a special data format used to specify
grid primitives of layout RTCGrid when creating grid geometries (see
[RTC_GEOMETRY_TYPE_GRID]).
.SS EXIT STATUS
.SS SEE ALSO
.PP
[rtcSetGeometryBuffer], [rtcSetSharedGeometryBuffer],
[rtcSetNewGeometryBuffer], [rtcSetGeometryTransform]
[RTCQuaternionDecomposition]
