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

Public Attributes

float transform [12]
 
unsigned int instanceId
 
unsigned int sbtOffset
 
unsigned int visibilityMask
 
unsigned int flags
 
OptixTraversableHandle traversableHandle
 
unsigned int pad [2]
 

Detailed Description

Member Data Documentation

unsigned int OptixInstance::flags

Any combination of OptixInstanceFlags is allowed.

unsigned int OptixInstance::instanceId

Application supplied ID. The maximal ID can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID.

unsigned int OptixInstance::pad[2]

round up to 80-byte, to ensure 16-byte alignment

unsigned int OptixInstance::sbtOffset

SBT record offset. Will only be used for instances of geometry acceleration structure (GAS) objects. Needs to be set to 0 for instances of instance acceleration structure (IAS) objects. The maximal SBT offset can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_SBT_OFFSET.

float OptixInstance::transform[12]

affine object-to-world transformation as 3x4 matrix in row-major layout

OptixTraversableHandle OptixInstance::traversableHandle

Set with an OptixTraversableHandle.

unsigned int OptixInstance::visibilityMask

Visibility mask. If rayMask & instanceMask == 0 the instance is culled. The number of available bits can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_NUM_BITS_INSTANCE_VISIBILITY_MASK.