NVIDIA OptiX 7.1 API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
OptixBuildInputCustomPrimitiveArray Struct Reference

Public Attributes

const CUdeviceptraabbBuffers
 
unsigned int numPrimitives
 
unsigned int strideInBytes
 
const unsigned int * flags
 
unsigned int numSbtRecords
 
CUdeviceptr sbtIndexOffsetBuffer
 
unsigned int sbtIndexOffsetSizeInBytes
 
unsigned int sbtIndexOffsetStrideInBytes
 
unsigned int primitiveIndexOffset
 

Detailed Description

Custom primitive inputs.

See Also
OptixBuildInput::customPrimitiveArray

Member Data Documentation

const CUdeviceptr* OptixBuildInputCustomPrimitiveArray::aabbBuffers

Points to host array of device pointers to AABBs (type OptixAabb), one per motion step. Host array size must match number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 1). Each device pointer must be a multiple of OPTIX_AABB_BUFFER_BYTE_ALIGNMENT.

const unsigned int* OptixBuildInputCustomPrimitiveArray::flags

Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the primitive behavior, size must match numSbtRecords.

unsigned int OptixBuildInputCustomPrimitiveArray::numPrimitives

Number of primitives in each buffer (i.e., per motion step) in OptixBuildInputCustomPrimitiveArray::aabbBuffers.

unsigned int OptixBuildInputCustomPrimitiveArray::numSbtRecords

Number of sbt records available to the sbt index offset override.

unsigned int OptixBuildInputCustomPrimitiveArray::primitiveIndexOffset

Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitive must not overflow 32bits.

CUdeviceptr OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetBuffer

Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in range [0,numSbtRecords-1]. Size needs to be the number of primitives.

unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetSizeInBytes

Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).

unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetStrideInBytes

Stride between the index offsets. If set to zero, the offsets are assumed to be tightly packed and the stride matches the size of the type (sbtIndexOffsetSizeInBytes).

unsigned int OptixBuildInputCustomPrimitiveArray::strideInBytes

Stride between AABBs (per motion key). If set to zero, the aabbs are assumed to be tightly packed and the stride is assumed to be sizeof( OptixAabb ). If non-zero, the value must be a multiple of OPTIX_AABB_BUFFER_BYTE_ALIGNMENT.