RTCFormat(3)
β¨ RTCFormat(3) β¨
okay bestie, sit down, hydrate, because we're talking about Embree Ray Tracing Kernels 4 and the little enum that tells Embree what's actually inside your data buffers π«Ά
π NAME π
RTCFormat β specifies format of data in buffers. that's it. that's the whole job. iconic behavior honestly.
π SYNOPSIS π
#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
};
like, look at that list. FLOAT all the way up to RTC_FORMAT_FLOAT16. the range. the commitment. β¨
πΈ DESCRIPTION πΈ
so the RTFormat structure defines the data format stored in data buffers that you hand over to Embree using the [rtcSetGeometryBuffer], [rtcSetSharedGeometryBuffer], and [rtcSetNewGeometryBuffer] API calls. (yes, the description calls it RTFormat while the name is RTCFormat. we don't ask questions, we just vibe π
)
π’ the unsigned integer era
the RTC_FORMAT_UINT/2/3/4 formats are used to specify that your data buffers store unsigned integers, or unsigned integer vectors of size 2, 3, or 4. this is typically the one you reach for when you're specifying index buffers β like RTC_FORMAT_UINT3 for triangle meshes. slay.
π¦ the float era (the long one)
the RTC_FORMAT_FLOAT/2/3/4... formats are used to specify that your data buffers store single precision floating point values, or vectors of them (size 2, 3, 4, etc.). this is typically the format you use for vertex buffers β for example the RTC_FORMAT_FLOAT3 type for vertex buffers of triangle meshes. and yeah, the family goes all the way to RTC_FORMAT_FLOAT16, no cap.
π matrix & transform era
RTC_FORMAT_FLOAT3X4_ROW_MAJORandRTC_FORMAT_FLOAT3X4_COLUMN_MAJORβ these specify a 3x4 floating point matrix, laid out either row major or column major.RTC_FORMAT_FLOAT4X4_ROW_MAJORandRTC_FORMAT_FLOAT4X4_COLUMN_MAJORβ these specify a 4x4 floating point matrix, laid out either row major or column major.RTC_FORMAT_QUATERNION_DECOMPOSITIONβ this one specifies a structure that represents a quaternion decomposition of an affine transformation (see [RTCQuaternionDecomposition]).
these formats get used in the [rtcSetGeometryTransform] function, or in geometry buffers with type RTC_BUFFER_TYPE_TRANSFORM, in order to set a transformation matrix for instance and instance array geometries. main character energy fr fr. π
π§ the grid one
RTC_FORMAT_GRID is a special data format used to specify grid primitives of layout RTCGrid when you're creating grid geometries (see [RTC_GEOMETRY_TYPE_GRID]). she's special and she knows it. π
π EXIT STATUS π
nothing here bestie. the original page lists the section and then... says nothing. no exit statuses. a whole blank vibe. not me staring at an empty section π
π SEE ALSO π
- [
rtcSetGeometryBuffer] - [
rtcSetSharedGeometryBuffer] - [
rtcSetNewGeometryBuffer] - [
rtcSetGeometryTransform] - [
RTCQuaternionDecomposition]
and that's the whole page, periodt. π
this was RTCFormat(3) from Embree Ray Tracing Kernels 4, and yes the footer of the original just says RTCFormat(3) again because she's consistent like that. go forth and format your buffers correctly, bestie, i believe in you πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: libembree-dev 4.4.1+dfsg-2ubuntu1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms