Manpages - RTC_GEOMETRY_TYPE_GRID.3embree3
Table of Contents
NAME
RTC_GEOMETRY_TYPE_GRID - grid geometry type
SYNOPSIS
#include <embree3/rtcore.h>
RTCGeometry geometry =
rtcNewGeometry(device, RTC_GEOMETRY_TYPE_GRID);
DESCRIPTION
Grid meshes are created by passing RTC_GEOMETRY_TYPE_GRID to the
rtcNewGeometry function call, and contain an array of grid primitives.
This array of grids can be specified by setting up a grid buffer (with
RTC_BUFFER_TYPE_GRID type and RTC_FORMAT_GRID format) and the grid
mesh vertices by setting a vertex buffer (RTC_BUFFER_TYPE_VERTEX
type). See rtcSetGeometryBuffer and rtcSetSharedGeometryBuffer for
more details on how to set buffers. The number of grid primitives in the
grid mesh is inferred from the size of the grid buffer.
The vertex buffer contains an array of single precision x, y, z
floating point coordinates (RTC_FORMAT_FLOAT3 format), and the number
of vertices is inferred from the size of that buffer.
Each grid in the grid buffer is of the type RTCGrid:
struct RTCGrid
{
unsigned int startVertexID;
unsigned int stride;
unsigned short width,height;
};
The RTCGrid structure describes a 2D grid of vertices (with respect to
the vertex buffer of the grid mesh). The width and height members
specify the number of vertices in u and v direction, e.g. setting both
width and height to 3 sets up a 3×3 vertex grid. The maximum allowed
width and height is 32767. The startVertexID specifies the ID of
the top-left vertex in the vertex grid, while the stride parameter
specifies a stride (in number of vertices) used to step to the next row.
A vertex grid of dimensions width and height is treated as a
(width-1) x (height-1) grid of quads (triangle-pairs), with the
same shared edge handling as for regular quad meshes. However, the
u=/=v coordinates have the uniform range [0..1] for an entire vertex
grid. The u direction follows the width of the grid while the v
direction the height.
For multi-segment motion blur, the number of time steps must be first
specified using the rtcSetGeometryTimeStepCount call. Then a vertex
buffer for each time step can be set using different buffer slots, and
all these buffers must have the same stride and size.
EXIT STATUS
On failure NULL is returned and an error code is set that can be
queried using rtcGetDeviceError.
SEE ALSO
[rtcNewGeometry]