NVIDIA OptiX 7.6 nvidia_logo_transpbg.gif Up
Types

Classes

struct  OptixDeviceContextOptions
 
struct  OptixOpacityMicromapUsageCount
 
struct  OptixBuildInputOpacityMicromap
 
struct  OptixRelocateInputOpacityMicromap
 
struct  OptixBuildInputTriangleArray
 
struct  OptixRelocateInputTriangleArray
 
struct  OptixBuildInputCurveArray
 
struct  OptixBuildInputSphereArray
 
struct  OptixAabb
 
struct  OptixBuildInputCustomPrimitiveArray
 
struct  OptixBuildInputInstanceArray
 
struct  OptixRelocateInputInstanceArray
 
struct  OptixBuildInput
 
struct  OptixRelocateInput
 
struct  OptixInstance
 
struct  OptixOpacityMicromapDesc
 
struct  OptixOpacityMicromapHistogramEntry
 
struct  OptixOpacityMicromapArrayBuildInput
 
struct  OptixMicromapBufferSizes
 
struct  OptixMicromapBuffers
 
struct  OptixMotionOptions
 
struct  OptixAccelBuildOptions
 
struct  OptixAccelBufferSizes
 
struct  OptixAccelEmitDesc
 
struct  OptixRelocationInfo
 
struct  OptixStaticTransform
 
struct  OptixMatrixMotionTransform
 
struct  OptixSRTData
 
struct  OptixSRTMotionTransform
 
struct  OptixImage2D
 
struct  OptixDenoiserOptions
 
struct  OptixDenoiserGuideLayer
 
struct  OptixDenoiserLayer
 
struct  OptixDenoiserParams
 
struct  OptixDenoiserSizes
 
struct  OptixModuleCompileBoundValueEntry
 
struct  OptixPayloadType
 
struct  OptixModuleCompileOptions
 
struct  OptixProgramGroupSingleModule
 
struct  OptixProgramGroupHitgroup
 
struct  OptixProgramGroupCallables
 
struct  OptixProgramGroupDesc
 
struct  OptixProgramGroupOptions
 
struct  OptixPipelineCompileOptions
 
struct  OptixPipelineLinkOptions
 
struct  OptixShaderBindingTable
 
struct  OptixStackSizes
 
struct  OptixBuiltinISOptions
 

Macros

#define OPTIX_SBT_RECORD_HEADER_SIZE   ( (size_t)32 )
 
#define OPTIX_SBT_RECORD_ALIGNMENT   16ull
 
#define OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT   128ull
 
#define OPTIX_INSTANCE_BYTE_ALIGNMENT   16ull
 
#define OPTIX_AABB_BUFFER_BYTE_ALIGNMENT   8ull
 
#define OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT   16ull
 
#define OPTIX_TRANSFORM_BYTE_ALIGNMENT   64ull
 
#define OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT   0
 
#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT   8
 
#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT   32
 
#define OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT   ( 0 )
 
#define OPTIX_OPACITY_MICROMAP_STATE_OPAQUE   ( 1 )
 
#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT   ( 2 )
 
#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE   ( 3 )
 
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT   ( -1 )
 
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE   ( -2 )
 
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT   ( -3 )
 
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE   ( -4 )
 
#define OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT   128ull
 
#define OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL   12
 

Typedefs

typedef unsigned long long CUdeviceptr
 
typedef struct OptixDeviceContext_t * OptixDeviceContext
 
typedef struct OptixModule_t * OptixModule
 
typedef struct OptixProgramGroup_t * OptixProgramGroup
 
typedef struct OptixPipeline_t * OptixPipeline
 
typedef struct OptixDenoiser_t * OptixDenoiser
 
typedef struct OptixTask_t * OptixTask
 
typedef unsigned long long OptixTraversableHandle
 
typedef unsigned int OptixVisibilityMask
 
typedef enum OptixResult OptixResult
 
typedef enum OptixDeviceProperty OptixDeviceProperty
 
typedef void(* OptixLogCallback) (unsigned int level, const char *tag, const char *message, void *cbdata)
 
typedef enum OptixDeviceContextValidationMode OptixDeviceContextValidationMode
 
typedef struct OptixDeviceContextOptions OptixDeviceContextOptions
 
typedef enum OptixGeometryFlags OptixGeometryFlags
 
typedef enum OptixHitKind OptixHitKind
 
typedef enum OptixIndicesFormat OptixIndicesFormat
 
typedef enum OptixVertexFormat OptixVertexFormat
 
typedef enum OptixTransformFormat OptixTransformFormat
 
typedef enum OptixOpacityMicromapFormat OptixOpacityMicromapFormat
 
typedef enum OptixOpacityMicromapArrayIndexingMode OptixOpacityMicromapArrayIndexingMode
 
typedef struct OptixOpacityMicromapUsageCount OptixOpacityMicromapUsageCount
 
typedef struct OptixBuildInputOpacityMicromap OptixBuildInputOpacityMicromap
 
typedef struct OptixRelocateInputOpacityMicromap OptixRelocateInputOpacityMicromap
 
typedef struct OptixBuildInputTriangleArray OptixBuildInputTriangleArray
 
typedef struct OptixRelocateInputTriangleArray OptixRelocateInputTriangleArray
 
typedef enum OptixPrimitiveType OptixPrimitiveType
 
typedef enum OptixPrimitiveTypeFlags OptixPrimitiveTypeFlags
 
typedef enum OptixCurveEndcapFlags OptixCurveEndcapFlags
 
typedef struct OptixBuildInputCurveArray OptixBuildInputCurveArray
 
typedef struct OptixBuildInputSphereArray OptixBuildInputSphereArray
 
typedef struct OptixAabb OptixAabb
 
typedef struct OptixBuildInputCustomPrimitiveArray OptixBuildInputCustomPrimitiveArray
 
typedef struct OptixBuildInputInstanceArray OptixBuildInputInstanceArray
 
typedef struct OptixRelocateInputInstanceArray OptixRelocateInputInstanceArray
 
typedef enum OptixBuildInputType OptixBuildInputType
 
typedef struct OptixBuildInput OptixBuildInput
 
typedef struct OptixRelocateInput OptixRelocateInput
 
typedef enum OptixInstanceFlags OptixInstanceFlags
 
typedef struct OptixInstance OptixInstance
 
typedef enum OptixBuildFlags OptixBuildFlags
 
typedef enum OptixOpacityMicromapFlags OptixOpacityMicromapFlags
 
typedef struct OptixOpacityMicromapDesc OptixOpacityMicromapDesc
 
typedef struct OptixOpacityMicromapHistogramEntry OptixOpacityMicromapHistogramEntry
 
typedef struct OptixOpacityMicromapArrayBuildInput OptixOpacityMicromapArrayBuildInput
 
typedef struct OptixMicromapBufferSizes OptixMicromapBufferSizes
 
typedef struct OptixMicromapBuffers OptixMicromapBuffers
 
typedef enum OptixBuildOperation OptixBuildOperation
 
typedef enum OptixMotionFlags OptixMotionFlags
 
typedef struct OptixMotionOptions OptixMotionOptions
 
typedef struct OptixAccelBuildOptions OptixAccelBuildOptions
 
typedef struct OptixAccelBufferSizes OptixAccelBufferSizes
 
typedef enum OptixAccelPropertyType OptixAccelPropertyType
 
typedef struct OptixAccelEmitDesc OptixAccelEmitDesc
 
typedef struct OptixRelocationInfo OptixRelocationInfo
 
typedef struct OptixStaticTransform OptixStaticTransform
 
typedef struct OptixMatrixMotionTransform OptixMatrixMotionTransform
 
typedef struct OptixSRTData OptixSRTData
 
typedef struct OptixSRTMotionTransform OptixSRTMotionTransform
 
typedef enum OptixTraversableType OptixTraversableType
 
typedef enum OptixPixelFormat OptixPixelFormat
 
typedef struct OptixImage2D OptixImage2D
 
typedef enum OptixDenoiserModelKind OptixDenoiserModelKind
 
typedef struct OptixDenoiserOptions OptixDenoiserOptions
 
typedef struct OptixDenoiserGuideLayer OptixDenoiserGuideLayer
 
typedef struct OptixDenoiserLayer OptixDenoiserLayer
 
typedef enum OptixDenoiserAlphaMode OptixDenoiserAlphaMode
 
typedef struct OptixDenoiserParams OptixDenoiserParams
 
typedef struct OptixDenoiserSizes OptixDenoiserSizes
 
typedef enum OptixRayFlags OptixRayFlags
 
typedef enum OptixTransformType OptixTransformType
 
typedef enum OptixTraversableGraphFlags OptixTraversableGraphFlags
 
typedef enum OptixCompileOptimizationLevel OptixCompileOptimizationLevel
 
typedef enum OptixCompileDebugLevel OptixCompileDebugLevel
 
typedef enum OptixModuleCompileState OptixModuleCompileState
 
typedef struct OptixModuleCompileBoundValueEntry OptixModuleCompileBoundValueEntry
 
typedef enum OptixPayloadTypeID OptixPayloadTypeID
 
typedef enum OptixPayloadSemantics OptixPayloadSemantics
 
typedef struct OptixPayloadType OptixPayloadType
 
typedef struct OptixModuleCompileOptions OptixModuleCompileOptions
 
typedef enum OptixProgramGroupKind OptixProgramGroupKind
 
typedef enum OptixProgramGroupFlags OptixProgramGroupFlags
 
typedef struct OptixProgramGroupSingleModule OptixProgramGroupSingleModule
 
typedef struct OptixProgramGroupHitgroup OptixProgramGroupHitgroup
 
typedef struct OptixProgramGroupCallables OptixProgramGroupCallables
 
typedef struct OptixProgramGroupDesc OptixProgramGroupDesc
 
typedef struct OptixProgramGroupOptions OptixProgramGroupOptions
 
typedef enum OptixExceptionCodes OptixExceptionCodes
 
typedef enum OptixExceptionFlags OptixExceptionFlags
 
typedef struct OptixPipelineCompileOptions OptixPipelineCompileOptions
 
typedef struct OptixPipelineLinkOptions OptixPipelineLinkOptions
 
typedef struct OptixShaderBindingTable OptixShaderBindingTable
 
typedef struct OptixStackSizes OptixStackSizes
 
typedef enum OptixQueryFunctionTableOptions OptixQueryFunctionTableOptions
 
typedef OptixResult() OptixQueryFunctionTable_t(int abiId, unsigned int numOptions, OptixQueryFunctionTableOptions *, const void **, void *functionTable, size_t sizeOfTable)
 
typedef struct OptixBuiltinISOptions OptixBuiltinISOptions
 

Enumerations

enum  OptixResult {
  OPTIX_SUCCESS = 0 ,
  OPTIX_ERROR_INVALID_VALUE = 7001 ,
  OPTIX_ERROR_HOST_OUT_OF_MEMORY = 7002 ,
  OPTIX_ERROR_INVALID_OPERATION = 7003 ,
  OPTIX_ERROR_FILE_IO_ERROR = 7004 ,
  OPTIX_ERROR_INVALID_FILE_FORMAT = 7005 ,
  OPTIX_ERROR_DISK_CACHE_INVALID_PATH = 7010 ,
  OPTIX_ERROR_DISK_CACHE_PERMISSION_ERROR = 7011 ,
  OPTIX_ERROR_DISK_CACHE_DATABASE_ERROR = 7012 ,
  OPTIX_ERROR_DISK_CACHE_INVALID_DATA = 7013 ,
  OPTIX_ERROR_LAUNCH_FAILURE = 7050 ,
  OPTIX_ERROR_INVALID_DEVICE_CONTEXT = 7051 ,
  OPTIX_ERROR_CUDA_NOT_INITIALIZED = 7052 ,
  OPTIX_ERROR_VALIDATION_FAILURE = 7053 ,
  OPTIX_ERROR_INVALID_PTX = 7200 ,
  OPTIX_ERROR_INVALID_LAUNCH_PARAMETER = 7201 ,
  OPTIX_ERROR_INVALID_PAYLOAD_ACCESS = 7202 ,
  OPTIX_ERROR_INVALID_ATTRIBUTE_ACCESS = 7203 ,
  OPTIX_ERROR_INVALID_FUNCTION_USE = 7204 ,
  OPTIX_ERROR_INVALID_FUNCTION_ARGUMENTS = 7205 ,
  OPTIX_ERROR_PIPELINE_OUT_OF_CONSTANT_MEMORY = 7250 ,
  OPTIX_ERROR_PIPELINE_LINK_ERROR = 7251 ,
  OPTIX_ERROR_ILLEGAL_DURING_TASK_EXECUTE = 7270 ,
  OPTIX_ERROR_INTERNAL_COMPILER_ERROR = 7299 ,
  OPTIX_ERROR_DENOISER_MODEL_NOT_SET = 7300 ,
  OPTIX_ERROR_DENOISER_NOT_INITIALIZED = 7301 ,
  OPTIX_ERROR_NOT_COMPATIBLE = 7400 ,
  OPTIX_ERROR_PAYLOAD_TYPE_MISMATCH = 7500 ,
  OPTIX_ERROR_PAYLOAD_TYPE_RESOLUTION_FAILED = 7501 ,
  OPTIX_ERROR_PAYLOAD_TYPE_ID_INVALID = 7502 ,
  OPTIX_ERROR_NOT_SUPPORTED = 7800 ,
  OPTIX_ERROR_UNSUPPORTED_ABI_VERSION = 7801 ,
  OPTIX_ERROR_FUNCTION_TABLE_SIZE_MISMATCH = 7802 ,
  OPTIX_ERROR_INVALID_ENTRY_FUNCTION_OPTIONS = 7803 ,
  OPTIX_ERROR_LIBRARY_NOT_FOUND = 7804 ,
  OPTIX_ERROR_ENTRY_SYMBOL_NOT_FOUND = 7805 ,
  OPTIX_ERROR_LIBRARY_UNLOAD_FAILURE = 7806 ,
  OPTIX_ERROR_DEVICE_OUT_OF_MEMORY = 7807 ,
  OPTIX_ERROR_CUDA_ERROR = 7900 ,
  OPTIX_ERROR_INTERNAL_ERROR = 7990 ,
  OPTIX_ERROR_UNKNOWN = 7999
}
 
enum  OptixDeviceProperty {
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRACE_DEPTH = 0x2001 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRAVERSABLE_GRAPH_DEPTH = 0x2002 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_PRIMITIVES_PER_GAS = 0x2003 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCES_PER_IAS = 0x2004 ,
  OPTIX_DEVICE_PROPERTY_RTCORE_VERSION = 0x2005 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID = 0x2006 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_NUM_BITS_INSTANCE_VISIBILITY_MASK = 0x2007 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_RECORDS_PER_GAS = 0x2008 ,
  OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_OFFSET = 0x2009
}
 
enum  OptixDeviceContextValidationMode {
  OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_OFF = 0 ,
  OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_ALL = 0xFFFFFFFF
}
 
enum  OptixGeometryFlags {
  OPTIX_GEOMETRY_FLAG_NONE = 0 ,
  OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT = 1u << 0 ,
  OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL = 1u << 1 ,
  OPTIX_GEOMETRY_FLAG_DISABLE_TRIANGLE_FACE_CULLING = 1u << 2
}
 
enum  OptixHitKind {
  OPTIX_HIT_KIND_TRIANGLE_FRONT_FACE = 0xFE ,
  OPTIX_HIT_KIND_TRIANGLE_BACK_FACE = 0xFF
}
 
enum  OptixIndicesFormat {
  OPTIX_INDICES_FORMAT_NONE = 0 ,
  OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3 = 0x2102 ,
  OPTIX_INDICES_FORMAT_UNSIGNED_INT3 = 0x2103
}
 
enum  OptixVertexFormat {
  OPTIX_VERTEX_FORMAT_NONE = 0 ,
  OPTIX_VERTEX_FORMAT_FLOAT3 = 0x2121 ,
  OPTIX_VERTEX_FORMAT_FLOAT2 = 0x2122 ,
  OPTIX_VERTEX_FORMAT_HALF3 = 0x2123 ,
  OPTIX_VERTEX_FORMAT_HALF2 = 0x2124 ,
  OPTIX_VERTEX_FORMAT_SNORM16_3 = 0x2125 ,
  OPTIX_VERTEX_FORMAT_SNORM16_2 = 0x2126
}
 
enum  OptixTransformFormat {
  OPTIX_TRANSFORM_FORMAT_NONE = 0 ,
  OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12 = 0x21E1
}
 
enum  OptixOpacityMicromapFormat {
  OPTIX_OPACITY_MICROMAP_FORMAT_NONE = 0 ,
  OPTIX_OPACITY_MICROMAP_FORMAT_2_STATE = 1 ,
  OPTIX_OPACITY_MICROMAP_FORMAT_4_STATE = 2
}
 
enum  OptixOpacityMicromapArrayIndexingMode {
  OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE = 0 ,
  OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR = 1 ,
  OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED = 2
}
 
enum  OptixPrimitiveType {
  OPTIX_PRIMITIVE_TYPE_CUSTOM = 0x2500 ,
  OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE = 0x2501 ,
  OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE = 0x2502 ,
  OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR = 0x2503 ,
  OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM = 0x2504 ,
  OPTIX_PRIMITIVE_TYPE_SPHERE = 0x2506 ,
  OPTIX_PRIMITIVE_TYPE_TRIANGLE = 0x2531
}
 
enum  OptixPrimitiveTypeFlags {
  OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM = 1 << 0 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_QUADRATIC_BSPLINE = 1 << 1 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BSPLINE = 1 << 2 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_LINEAR = 1 << 3 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CATMULLROM = 1 << 4 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_SPHERE = 1 << 6 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE = 1 << 31
}
 
enum  OptixCurveEndcapFlags {
  OPTIX_CURVE_ENDCAP_DEFAULT = 0 ,
  OPTIX_CURVE_ENDCAP_ON = 1 << 0
}
 
enum  OptixBuildInputType {
  OPTIX_BUILD_INPUT_TYPE_TRIANGLES = 0x2141 ,
  OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES = 0x2142 ,
  OPTIX_BUILD_INPUT_TYPE_INSTANCES = 0x2143 ,
  OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS = 0x2144 ,
  OPTIX_BUILD_INPUT_TYPE_CURVES = 0x2145 ,
  OPTIX_BUILD_INPUT_TYPE_SPHERES = 0x2146
}
 
enum  OptixInstanceFlags {
  OPTIX_INSTANCE_FLAG_NONE = 0 ,
  OPTIX_INSTANCE_FLAG_DISABLE_TRIANGLE_FACE_CULLING = 1u << 0 ,
  OPTIX_INSTANCE_FLAG_FLIP_TRIANGLE_FACING = 1u << 1 ,
  OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT = 1u << 2 ,
  OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT = 1u << 3 ,
  OPTIX_INSTANCE_FLAG_FORCE_OPACITY_MICROMAP_2_STATE = 1u << 4 ,
  OPTIX_INSTANCE_FLAG_DISABLE_OPACITY_MICROMAPS = 1u << 5
}
 
enum  OptixBuildFlags {
  OPTIX_BUILD_FLAG_NONE = 0 ,
  OPTIX_BUILD_FLAG_ALLOW_UPDATE = 1u << 0 ,
  OPTIX_BUILD_FLAG_ALLOW_COMPACTION = 1u << 1 ,
  OPTIX_BUILD_FLAG_PREFER_FAST_TRACE = 1u << 2 ,
  OPTIX_BUILD_FLAG_PREFER_FAST_BUILD = 1u << 3 ,
  OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS = 1u << 4 ,
  OPTIX_BUILD_FLAG_ALLOW_RANDOM_INSTANCE_ACCESS = 1u << 5 ,
  OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE = 1u << 6 ,
  OPTIX_BUILD_FLAG_ALLOW_DISABLE_OPACITY_MICROMAPS = 1u << 7
}
 
enum  OptixOpacityMicromapFlags {
  OPTIX_OPACITY_MICROMAP_FLAG_NONE = 0 ,
  OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE = 1 << 0 ,
  OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD = 1 << 1
}
 
enum  OptixBuildOperation {
  OPTIX_BUILD_OPERATION_BUILD = 0x2161 ,
  OPTIX_BUILD_OPERATION_UPDATE = 0x2162
}
 
enum  OptixMotionFlags {
  OPTIX_MOTION_FLAG_NONE = 0 ,
  OPTIX_MOTION_FLAG_START_VANISH = 1u << 0 ,
  OPTIX_MOTION_FLAG_END_VANISH = 1u << 1
}
 
enum  OptixAccelPropertyType {
  OPTIX_PROPERTY_TYPE_COMPACTED_SIZE = 0x2181 ,
  OPTIX_PROPERTY_TYPE_AABBS = 0x2182
}
 
enum  OptixTraversableType {
  OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM = 0x21C1 ,
  OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM = 0x21C2 ,
  OPTIX_TRAVERSABLE_TYPE_SRT_MOTION_TRANSFORM = 0x21C3
}
 
enum  OptixPixelFormat {
  OPTIX_PIXEL_FORMAT_HALF2 = 0x2207 ,
  OPTIX_PIXEL_FORMAT_HALF3 = 0x2201 ,
  OPTIX_PIXEL_FORMAT_HALF4 = 0x2202 ,
  OPTIX_PIXEL_FORMAT_FLOAT2 = 0x2208 ,
  OPTIX_PIXEL_FORMAT_FLOAT3 = 0x2203 ,
  OPTIX_PIXEL_FORMAT_FLOAT4 = 0x2204 ,
  OPTIX_PIXEL_FORMAT_UCHAR3 = 0x2205 ,
  OPTIX_PIXEL_FORMAT_UCHAR4 = 0x2206 ,
  OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER = 0x2209
}
 
enum  OptixDenoiserModelKind {
  OPTIX_DENOISER_MODEL_KIND_LDR = 0x2322 ,
  OPTIX_DENOISER_MODEL_KIND_HDR = 0x2323 ,
  OPTIX_DENOISER_MODEL_KIND_AOV = 0x2324 ,
  OPTIX_DENOISER_MODEL_KIND_TEMPORAL = 0x2325 ,
  OPTIX_DENOISER_MODEL_KIND_TEMPORAL_AOV = 0x2326 ,
  OPTIX_DENOISER_MODEL_KIND_UPSCALE2X = 0x2327 ,
  OPTIX_DENOISER_MODEL_KIND_TEMPORAL_UPSCALE2X = 0x2328
}
 
enum  OptixDenoiserAlphaMode {
  OPTIX_DENOISER_ALPHA_MODE_COPY = 0 ,
  OPTIX_DENOISER_ALPHA_MODE_ALPHA_AS_AOV = 1 ,
  OPTIX_DENOISER_ALPHA_MODE_FULL_DENOISE_PASS = 2
}
 
enum  OptixRayFlags {
  OPTIX_RAY_FLAG_NONE = 0u ,
  OPTIX_RAY_FLAG_DISABLE_ANYHIT = 1u << 0 ,
  OPTIX_RAY_FLAG_ENFORCE_ANYHIT = 1u << 1 ,
  OPTIX_RAY_FLAG_TERMINATE_ON_FIRST_HIT = 1u << 2 ,
  OPTIX_RAY_FLAG_DISABLE_CLOSESTHIT = 1u << 3 ,
  OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 1u << 4 ,
  OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 1u << 5 ,
  OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT = 1u << 6 ,
  OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT = 1u << 7 ,
  OPTIX_RAY_FLAG_FORCE_OPACITY_MICROMAP_2_STATE = 1u << 10
}
 
enum  OptixTransformType {
  OPTIX_TRANSFORM_TYPE_NONE = 0 ,
  OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM = 1 ,
  OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM = 2 ,
  OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM = 3 ,
  OPTIX_TRANSFORM_TYPE_INSTANCE = 4
}
 
enum  OptixTraversableGraphFlags {
  OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_ANY = 0 ,
  OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_GAS = 1u << 0 ,
  OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_LEVEL_INSTANCING = 1u << 1
}
 
enum  OptixCompileOptimizationLevel {
  OPTIX_COMPILE_OPTIMIZATION_DEFAULT = 0 ,
  OPTIX_COMPILE_OPTIMIZATION_LEVEL_0 = 0x2340 ,
  OPTIX_COMPILE_OPTIMIZATION_LEVEL_1 = 0x2341 ,
  OPTIX_COMPILE_OPTIMIZATION_LEVEL_2 = 0x2342 ,
  OPTIX_COMPILE_OPTIMIZATION_LEVEL_3 = 0x2343
}
 
enum  OptixCompileDebugLevel {
  OPTIX_COMPILE_DEBUG_LEVEL_DEFAULT = 0 ,
  OPTIX_COMPILE_DEBUG_LEVEL_NONE = 0x2350 ,
  OPTIX_COMPILE_DEBUG_LEVEL_MINIMAL = 0x2351 ,
  OPTIX_COMPILE_DEBUG_LEVEL_MODERATE = 0x2353 ,
  OPTIX_COMPILE_DEBUG_LEVEL_FULL = 0x2352
}
 
enum  OptixModuleCompileState {
  OPTIX_MODULE_COMPILE_STATE_NOT_STARTED = 0x2360 ,
  OPTIX_MODULE_COMPILE_STATE_STARTED = 0x2361 ,
  OPTIX_MODULE_COMPILE_STATE_IMPENDING_FAILURE = 0x2362 ,
  OPTIX_MODULE_COMPILE_STATE_FAILED = 0x2363 ,
  OPTIX_MODULE_COMPILE_STATE_COMPLETED = 0x2364
}
 
enum  OptixPayloadTypeID {
  OPTIX_PAYLOAD_TYPE_DEFAULT = 0 ,
  OPTIX_PAYLOAD_TYPE_ID_0 = (1 << 0u) ,
  OPTIX_PAYLOAD_TYPE_ID_1 = (1 << 1u) ,
  OPTIX_PAYLOAD_TYPE_ID_2 = (1 << 2u) ,
  OPTIX_PAYLOAD_TYPE_ID_3 = (1 << 3u) ,
  OPTIX_PAYLOAD_TYPE_ID_4 = (1 << 4u) ,
  OPTIX_PAYLOAD_TYPE_ID_5 = (1 << 5u) ,
  OPTIX_PAYLOAD_TYPE_ID_6 = (1 << 6u) ,
  OPTIX_PAYLOAD_TYPE_ID_7 = (1 << 7u)
}
 
enum  OptixPayloadSemantics {
  OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_NONE = 0 ,
  OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ = 1u << 0 ,
  OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_WRITE = 2u << 0 ,
  OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ_WRITE = 3u << 0 ,
  OPTIX_PAYLOAD_SEMANTICS_CH_NONE = 0 ,
  OPTIX_PAYLOAD_SEMANTICS_CH_READ = 1u << 2 ,
  OPTIX_PAYLOAD_SEMANTICS_CH_WRITE = 2u << 2 ,
  OPTIX_PAYLOAD_SEMANTICS_CH_READ_WRITE = 3u << 2 ,
  OPTIX_PAYLOAD_SEMANTICS_MS_NONE = 0 ,
  OPTIX_PAYLOAD_SEMANTICS_MS_READ = 1u << 4 ,
  OPTIX_PAYLOAD_SEMANTICS_MS_WRITE = 2u << 4 ,
  OPTIX_PAYLOAD_SEMANTICS_MS_READ_WRITE = 3u << 4 ,
  OPTIX_PAYLOAD_SEMANTICS_AH_NONE = 0 ,
  OPTIX_PAYLOAD_SEMANTICS_AH_READ = 1u << 6 ,
  OPTIX_PAYLOAD_SEMANTICS_AH_WRITE = 2u << 6 ,
  OPTIX_PAYLOAD_SEMANTICS_AH_READ_WRITE = 3u << 6 ,
  OPTIX_PAYLOAD_SEMANTICS_IS_NONE = 0 ,
  OPTIX_PAYLOAD_SEMANTICS_IS_READ = 1u << 8 ,
  OPTIX_PAYLOAD_SEMANTICS_IS_WRITE = 2u << 8 ,
  OPTIX_PAYLOAD_SEMANTICS_IS_READ_WRITE = 3u << 8
}
 
enum  OptixProgramGroupKind {
  OPTIX_PROGRAM_GROUP_KIND_RAYGEN = 0x2421 ,
  OPTIX_PROGRAM_GROUP_KIND_MISS = 0x2422 ,
  OPTIX_PROGRAM_GROUP_KIND_EXCEPTION = 0x2423 ,
  OPTIX_PROGRAM_GROUP_KIND_HITGROUP = 0x2424 ,
  OPTIX_PROGRAM_GROUP_KIND_CALLABLES = 0x2425
}
 
enum  OptixProgramGroupFlags { OPTIX_PROGRAM_GROUP_FLAGS_NONE = 0 }
 
enum  OptixExceptionCodes {
  OPTIX_EXCEPTION_CODE_STACK_OVERFLOW = -1 ,
  OPTIX_EXCEPTION_CODE_TRACE_DEPTH_EXCEEDED = -2 ,
  OPTIX_EXCEPTION_CODE_TRAVERSAL_DEPTH_EXCEEDED = -3 ,
  OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_TRAVERSABLE = -5 ,
  OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_MISS_SBT = -6 ,
  OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT = -7 ,
  OPTIX_EXCEPTION_CODE_UNSUPPORTED_PRIMITIVE_TYPE = -8 ,
  OPTIX_EXCEPTION_CODE_INVALID_RAY = -9 ,
  OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH = -10 ,
  OPTIX_EXCEPTION_CODE_BUILTIN_IS_MISMATCH = -11 ,
  OPTIX_EXCEPTION_CODE_CALLABLE_INVALID_SBT = -12 ,
  OPTIX_EXCEPTION_CODE_CALLABLE_NO_DC_SBT_RECORD = -13 ,
  OPTIX_EXCEPTION_CODE_CALLABLE_NO_CC_SBT_RECORD = -14 ,
  OPTIX_EXCEPTION_CODE_UNSUPPORTED_SINGLE_LEVEL_GAS = -15 ,
  OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_0 = -16 ,
  OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_1 = -17 ,
  OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_2 = -18 ,
  OPTIX_EXCEPTION_CODE_UNSUPPORTED_DATA_ACCESS = -32 ,
  OPTIX_EXCEPTION_CODE_PAYLOAD_TYPE_MISMATCH = -33
}
 
enum  OptixExceptionFlags {
  OPTIX_EXCEPTION_FLAG_NONE = 0 ,
  OPTIX_EXCEPTION_FLAG_STACK_OVERFLOW = 1u << 0 ,
  OPTIX_EXCEPTION_FLAG_TRACE_DEPTH = 1u << 1 ,
  OPTIX_EXCEPTION_FLAG_USER = 1u << 2 ,
  OPTIX_EXCEPTION_FLAG_DEBUG = 1u << 3
}
 
enum  OptixQueryFunctionTableOptions { OPTIX_QUERY_FUNCTION_TABLE_OPTION_DUMMY = 0 }
 

Variables

OptixLogCallback OptixDeviceContextOptions::logCallbackFunction
 
void * OptixDeviceContextOptions::logCallbackData
 
int OptixDeviceContextOptions::logCallbackLevel
 
OptixDeviceContextValidationMode OptixDeviceContextOptions::validationMode
 
unsigned int OptixOpacityMicromapUsageCount::count
 
unsigned int OptixOpacityMicromapUsageCount::subdivisionLevel
 
OptixOpacityMicromapFormat OptixOpacityMicromapUsageCount::format
 
OptixOpacityMicromapArrayIndexingMode OptixBuildInputOpacityMicromap::indexingMode
 
CUdeviceptr OptixBuildInputOpacityMicromap::opacityMicromapArray
 
CUdeviceptr OptixBuildInputOpacityMicromap::indexBuffer
 
unsigned int OptixBuildInputOpacityMicromap::indexSizeInBytes
 
unsigned int OptixBuildInputOpacityMicromap::indexStrideInBytes
 
unsigned int OptixBuildInputOpacityMicromap::indexOffset
 
unsigned int OptixBuildInputOpacityMicromap::numMicromapUsageCounts
 
const OptixOpacityMicromapUsageCountOptixBuildInputOpacityMicromap::micromapUsageCounts
 
CUdeviceptr OptixRelocateInputOpacityMicromap::opacityMicromapArray
 
const CUdeviceptrOptixBuildInputTriangleArray::vertexBuffers
 
unsigned int OptixBuildInputTriangleArray::numVertices
 
OptixVertexFormat OptixBuildInputTriangleArray::vertexFormat
 
unsigned int OptixBuildInputTriangleArray::vertexStrideInBytes
 
CUdeviceptr OptixBuildInputTriangleArray::indexBuffer
 
unsigned int OptixBuildInputTriangleArray::numIndexTriplets
 
OptixIndicesFormat OptixBuildInputTriangleArray::indexFormat
 
unsigned int OptixBuildInputTriangleArray::indexStrideInBytes
 
CUdeviceptr OptixBuildInputTriangleArray::preTransform
 
const unsigned int * OptixBuildInputTriangleArray::flags
 
unsigned int OptixBuildInputTriangleArray::numSbtRecords
 
CUdeviceptr OptixBuildInputTriangleArray::sbtIndexOffsetBuffer
 
unsigned int OptixBuildInputTriangleArray::sbtIndexOffsetSizeInBytes
 
unsigned int OptixBuildInputTriangleArray::sbtIndexOffsetStrideInBytes
 
unsigned int OptixBuildInputTriangleArray::primitiveIndexOffset
 
OptixTransformFormat OptixBuildInputTriangleArray::transformFormat
 
OptixBuildInputOpacityMicromap OptixBuildInputTriangleArray::opacityMicromap
 
unsigned int OptixRelocateInputTriangleArray::numSbtRecords
 
OptixRelocateInputOpacityMicromap OptixRelocateInputTriangleArray::opacityMicromap
 
OptixPrimitiveType OptixBuildInputCurveArray::curveType
 
unsigned int OptixBuildInputCurveArray::numPrimitives
 
const CUdeviceptrOptixBuildInputCurveArray::vertexBuffers
 
unsigned int OptixBuildInputCurveArray::numVertices
 
unsigned int OptixBuildInputCurveArray::vertexStrideInBytes
 
const CUdeviceptrOptixBuildInputCurveArray::widthBuffers
 
unsigned int OptixBuildInputCurveArray::widthStrideInBytes
 
const CUdeviceptrOptixBuildInputCurveArray::normalBuffers
 
unsigned int OptixBuildInputCurveArray::normalStrideInBytes
 
CUdeviceptr OptixBuildInputCurveArray::indexBuffer
 
unsigned int OptixBuildInputCurveArray::indexStrideInBytes
 
unsigned int OptixBuildInputCurveArray::flag
 
unsigned int OptixBuildInputCurveArray::primitiveIndexOffset
 
unsigned int OptixBuildInputCurveArray::endcapFlags
 
const CUdeviceptrOptixBuildInputSphereArray::vertexBuffers
 
unsigned int OptixBuildInputSphereArray::vertexStrideInBytes
 
unsigned int OptixBuildInputSphereArray::numVertices
 
const CUdeviceptrOptixBuildInputSphereArray::radiusBuffers
 
unsigned int OptixBuildInputSphereArray::radiusStrideInBytes
 
int OptixBuildInputSphereArray::singleRadius
 
const unsigned int * OptixBuildInputSphereArray::flags
 
unsigned int OptixBuildInputSphereArray::numSbtRecords
 
CUdeviceptr OptixBuildInputSphereArray::sbtIndexOffsetBuffer
 
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetSizeInBytes
 
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetStrideInBytes
 
unsigned int OptixBuildInputSphereArray::primitiveIndexOffset
 
float OptixAabb::minX
 
float OptixAabb::minY
 
float OptixAabb::minZ
 
float OptixAabb::maxX
 
float OptixAabb::maxY
 
float OptixAabb::maxZ
 
const CUdeviceptrOptixBuildInputCustomPrimitiveArray::aabbBuffers
 
unsigned int OptixBuildInputCustomPrimitiveArray::numPrimitives
 
unsigned int OptixBuildInputCustomPrimitiveArray::strideInBytes
 
const unsigned int * OptixBuildInputCustomPrimitiveArray::flags
 
unsigned int OptixBuildInputCustomPrimitiveArray::numSbtRecords
 
CUdeviceptr OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetBuffer
 
unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetSizeInBytes
 
unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetStrideInBytes
 
unsigned int OptixBuildInputCustomPrimitiveArray::primitiveIndexOffset
 
CUdeviceptr OptixBuildInputInstanceArray::instances
 
unsigned int OptixBuildInputInstanceArray::numInstances
 
unsigned int OptixBuildInputInstanceArray::instanceStride
 
unsigned int OptixRelocateInputInstanceArray::numInstances
 
CUdeviceptr OptixRelocateInputInstanceArray::traversableHandles
 
OptixBuildInputType OptixBuildInput::type
 
OptixBuildInputTriangleArray   OptixBuildInput::triangleArray
 
OptixBuildInputCurveArray   OptixBuildInput::curveArray
 
OptixBuildInputSphereArray   OptixBuildInput::sphereArray
 
OptixBuildInputCustomPrimitiveArray   OptixBuildInput::customPrimitiveArray
 
OptixBuildInputInstanceArray   OptixBuildInput::instanceArray
 
char   OptixBuildInput::pad [1024]
 
union {
   OptixBuildInputTriangleArray   OptixBuildInput::triangleArray
 
   OptixBuildInputCurveArray   OptixBuildInput::curveArray
 
   OptixBuildInputSphereArray   OptixBuildInput::sphereArray
 
   OptixBuildInputCustomPrimitiveArray   OptixBuildInput::customPrimitiveArray
 
   OptixBuildInputInstanceArray   OptixBuildInput::instanceArray
 
   char   OptixBuildInput::pad [1024]
 
}; 
 
OptixBuildInputType OptixRelocateInput::type
 
OptixRelocateInputInstanceArray   OptixRelocateInput::instanceArray
 
OptixRelocateInputTriangleArray   OptixRelocateInput::triangleArray
 
union {
   OptixRelocateInputInstanceArray   OptixRelocateInput::instanceArray
 
   OptixRelocateInputTriangleArray   OptixRelocateInput::triangleArray
 
}; 
 
float OptixInstance::transform [12]
 
unsigned int OptixInstance::instanceId
 
unsigned int OptixInstance::sbtOffset
 
unsigned int OptixInstance::visibilityMask
 
unsigned int OptixInstance::flags
 
OptixTraversableHandle OptixInstance::traversableHandle
 
unsigned int OptixInstance::pad [2]
 
unsigned int OptixOpacityMicromapDesc::byteOffset
 
unsigned short OptixOpacityMicromapDesc::subdivisionLevel
 
unsigned short OptixOpacityMicromapDesc::format
 
unsigned int OptixOpacityMicromapHistogramEntry::count
 
unsigned int OptixOpacityMicromapHistogramEntry::subdivisionLevel
 
OptixOpacityMicromapFormat OptixOpacityMicromapHistogramEntry::format
 
OptixOpacityMicromapFlags OptixOpacityMicromapArrayBuildInput::flags
 
CUdeviceptr OptixOpacityMicromapArrayBuildInput::inputBuffer
 
CUdeviceptr OptixOpacityMicromapArrayBuildInput::perMicromapDescBuffer
 
unsigned int OptixOpacityMicromapArrayBuildInput::perMicromapDescStrideInBytes
 
unsigned int OptixOpacityMicromapArrayBuildInput::numMicromapHistogramEntries
 
const OptixOpacityMicromapHistogramEntryOptixOpacityMicromapArrayBuildInput::micromapHistogramEntries
 
size_t OptixMicromapBufferSizes::outputSizeInBytes
 
size_t OptixMicromapBufferSizes::tempSizeInBytes
 
CUdeviceptr OptixMicromapBuffers::output
 
size_t OptixMicromapBuffers::outputSizeInBytes
 
CUdeviceptr OptixMicromapBuffers::temp
 
size_t OptixMicromapBuffers::tempSizeInBytes
 
unsigned short OptixMotionOptions::numKeys
 
unsigned short OptixMotionOptions::flags
 
float OptixMotionOptions::timeBegin
 
float OptixMotionOptions::timeEnd
 
unsigned int OptixAccelBuildOptions::buildFlags
 
OptixBuildOperation OptixAccelBuildOptions::operation
 
OptixMotionOptions OptixAccelBuildOptions::motionOptions
 
size_t OptixAccelBufferSizes::outputSizeInBytes
 
size_t OptixAccelBufferSizes::tempSizeInBytes
 
size_t OptixAccelBufferSizes::tempUpdateSizeInBytes
 
CUdeviceptr OptixAccelEmitDesc::result
 
OptixAccelPropertyType OptixAccelEmitDesc::type
 
unsigned long long OptixRelocationInfo::info [4]
 
OptixTraversableHandle OptixStaticTransform::child
 
unsigned int OptixStaticTransform::pad [2]
 
float OptixStaticTransform::transform [12]
 
float OptixStaticTransform::invTransform [12]
 
OptixTraversableHandle OptixMatrixMotionTransform::child
 
OptixMotionOptions OptixMatrixMotionTransform::motionOptions
 
unsigned int OptixMatrixMotionTransform::pad [3]
 
float OptixMatrixMotionTransform::transform [2][12]
 
OptixTraversableHandle OptixSRTMotionTransform::child
 
OptixMotionOptions OptixSRTMotionTransform::motionOptions
 
unsigned int OptixSRTMotionTransform::pad [3]
 
OptixSRTData OptixSRTMotionTransform::srtData [2]
 
CUdeviceptr OptixImage2D::data
 
unsigned int OptixImage2D::width
 
unsigned int OptixImage2D::height
 
unsigned int OptixImage2D::rowStrideInBytes
 
unsigned int OptixImage2D::pixelStrideInBytes
 
OptixPixelFormat OptixImage2D::format
 
unsigned int OptixDenoiserOptions::guideAlbedo
 
unsigned int OptixDenoiserOptions::guideNormal
 
OptixImage2D OptixDenoiserGuideLayer::albedo
 
OptixImage2D OptixDenoiserGuideLayer::normal
 
OptixImage2D OptixDenoiserGuideLayer::flow
 
OptixImage2D OptixDenoiserGuideLayer::previousOutputInternalGuideLayer
 
OptixImage2D OptixDenoiserGuideLayer::outputInternalGuideLayer
 
OptixImage2D OptixDenoiserLayer::input
 
OptixImage2D OptixDenoiserLayer::previousOutput
 
OptixImage2D OptixDenoiserLayer::output
 
OptixDenoiserAlphaMode OptixDenoiserParams::denoiseAlpha
 
CUdeviceptr OptixDenoiserParams::hdrIntensity
 
float OptixDenoiserParams::blendFactor
 
CUdeviceptr OptixDenoiserParams::hdrAverageColor
 
unsigned int OptixDenoiserParams::temporalModeUsePreviousLayers
 
size_t OptixDenoiserSizes::stateSizeInBytes
 
size_t OptixDenoiserSizes::withOverlapScratchSizeInBytes
 
size_t OptixDenoiserSizes::withoutOverlapScratchSizeInBytes
 
unsigned int OptixDenoiserSizes::overlapWindowSizeInPixels
 
size_t OptixDenoiserSizes::computeAverageColorSizeInBytes
 
size_t OptixDenoiserSizes::computeIntensitySizeInBytes
 
size_t OptixDenoiserSizes::internalGuideLayerPixelSizeInBytes
 
size_t OptixModuleCompileBoundValueEntry::pipelineParamOffsetInBytes
 
size_t OptixModuleCompileBoundValueEntry::sizeInBytes
 
const void * OptixModuleCompileBoundValueEntry::boundValuePtr
 
const char * OptixModuleCompileBoundValueEntry::annotation
 
unsigned int OptixPayloadType::numPayloadValues
 
const unsigned int * OptixPayloadType::payloadSemantics
 
int OptixModuleCompileOptions::maxRegisterCount
 
OptixCompileOptimizationLevel OptixModuleCompileOptions::optLevel
 
OptixCompileDebugLevel OptixModuleCompileOptions::debugLevel
 
const OptixModuleCompileBoundValueEntryOptixModuleCompileOptions::boundValues
 
unsigned int OptixModuleCompileOptions::numBoundValues
 
unsigned int OptixModuleCompileOptions::numPayloadTypes
 
OptixPayloadTypeOptixModuleCompileOptions::payloadTypes
 
OptixModule OptixProgramGroupSingleModule::module
 
const char * OptixProgramGroupSingleModule::entryFunctionName
 
OptixModule OptixProgramGroupHitgroup::moduleCH
 
const char * OptixProgramGroupHitgroup::entryFunctionNameCH
 
OptixModule OptixProgramGroupHitgroup::moduleAH
 
const char * OptixProgramGroupHitgroup::entryFunctionNameAH
 
OptixModule OptixProgramGroupHitgroup::moduleIS
 
const char * OptixProgramGroupHitgroup::entryFunctionNameIS
 
OptixModule OptixProgramGroupCallables::moduleDC
 
const char * OptixProgramGroupCallables::entryFunctionNameDC
 
OptixModule OptixProgramGroupCallables::moduleCC
 
const char * OptixProgramGroupCallables::entryFunctionNameCC
 
OptixProgramGroupKind OptixProgramGroupDesc::kind
 
unsigned int OptixProgramGroupDesc::flags
 
OptixProgramGroupSingleModule   OptixProgramGroupDesc::raygen
 
OptixProgramGroupSingleModule   OptixProgramGroupDesc::miss
 
OptixProgramGroupSingleModule   OptixProgramGroupDesc::exception
 
OptixProgramGroupCallables   OptixProgramGroupDesc::callables
 
OptixProgramGroupHitgroup   OptixProgramGroupDesc::hitgroup
 
union {
   OptixProgramGroupSingleModule   OptixProgramGroupDesc::raygen
 
   OptixProgramGroupSingleModule   OptixProgramGroupDesc::miss
 
   OptixProgramGroupSingleModule   OptixProgramGroupDesc::exception
 
   OptixProgramGroupCallables   OptixProgramGroupDesc::callables
 
   OptixProgramGroupHitgroup   OptixProgramGroupDesc::hitgroup
 
}; 
 
OptixPayloadTypeOptixProgramGroupOptions::payloadType
 
int OptixPipelineCompileOptions::usesMotionBlur
 
unsigned int OptixPipelineCompileOptions::traversableGraphFlags
 
int OptixPipelineCompileOptions::numPayloadValues
 
int OptixPipelineCompileOptions::numAttributeValues
 
unsigned int OptixPipelineCompileOptions::exceptionFlags
 
const char * OptixPipelineCompileOptions::pipelineLaunchParamsVariableName
 
unsigned int OptixPipelineCompileOptions::usesPrimitiveTypeFlags
 
int OptixPipelineCompileOptions::allowOpacityMicromaps
 
unsigned int OptixPipelineLinkOptions::maxTraceDepth
 
OptixCompileDebugLevel OptixPipelineLinkOptions::debugLevel
 
CUdeviceptr OptixShaderBindingTable::raygenRecord
 
CUdeviceptr OptixShaderBindingTable::exceptionRecord
 
unsigned int OptixStackSizes::cssRG
 
unsigned int OptixStackSizes::cssMS
 
unsigned int OptixStackSizes::cssCH
 
unsigned int OptixStackSizes::cssAH
 
unsigned int OptixStackSizes::cssIS
 
unsigned int OptixStackSizes::cssCC
 
unsigned int OptixStackSizes::dssDC
 
OptixPrimitiveType OptixBuiltinISOptions::builtinISModuleType
 
int OptixBuiltinISOptions::usesMotionBlur
 
unsigned int OptixBuiltinISOptions::buildFlags
 
unsigned int OptixBuiltinISOptions::curveEndcapFlags
 

Parameters describing the SRT transformation

float OptixSRTData::sx
 
float OptixSRTData::a
 
float OptixSRTData::b
 
float OptixSRTData::pvx
 
float OptixSRTData::sy
 
float OptixSRTData::c
 
float OptixSRTData::pvy
 
float OptixSRTData::sz
 
float OptixSRTData::pvz
 
float OptixSRTData::qx
 
float OptixSRTData::qy
 
float OptixSRTData::qz
 
float OptixSRTData::qw
 
float OptixSRTData::tx
 
float OptixSRTData::ty
 
float OptixSRTData::tz
 
CUdeviceptr OptixShaderBindingTable::missRecordBase
 
unsigned int OptixShaderBindingTable::missRecordStrideInBytes
 
unsigned int OptixShaderBindingTable::missRecordCount
 
CUdeviceptr OptixShaderBindingTable::hitgroupRecordBase
 
unsigned int OptixShaderBindingTable::hitgroupRecordStrideInBytes
 
unsigned int OptixShaderBindingTable::hitgroupRecordCount
 
CUdeviceptr OptixShaderBindingTable::callablesRecordBase
 
unsigned int OptixShaderBindingTable::callablesRecordStrideInBytes
 
unsigned int OptixShaderBindingTable::callablesRecordCount
 

Detailed Description

OptiX Types.

Macro Definition Documentation

 OPTIX_AABB_BUFFER_BYTE_ALIGNMENT

#define OPTIX_AABB_BUFFER_BYTE_ALIGNMENT   8ull

 OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT

#define OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT   128ull

Alignment requirement for output and temporay buffers for acceleration structures.

 OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT

#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT   8

Maximum number of payload types allowed.

 OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT

#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT   32

Maximum number of payload values allowed.

 OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT

#define OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT   0

Maximum number of registers allowed. Defaults to no explicit limit.

 OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT

#define OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT   16ull

Alignment requirement for OptixBuildInputTriangleArray::preTransform.

 OPTIX_INSTANCE_BYTE_ALIGNMENT

#define OPTIX_INSTANCE_BYTE_ALIGNMENT   16ull

 OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT

#define OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT   128ull

Alignment requirement for opacity micromap array buffers.

 OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL

#define OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL   12

Maximum subdivision level for opacity micromaps.

 OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE

#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE   ( -2 )

 OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT

#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT   ( -1 )

Predefined index to indicate that a triangle in the BVH build doesn't have an associated opacity micromap, and that it should revert to one of the four possible states for the full triangle.

 OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE

#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE   ( -4 )

 OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT

#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT   ( -3 )

 OPTIX_OPACITY_MICROMAP_STATE_OPAQUE

#define OPTIX_OPACITY_MICROMAP_STATE_OPAQUE   ( 1 )

 OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT

#define OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT   ( 0 )

Opacity micromaps encode the states of microtriangles in either 1 bit (2-state) or 2 bits (4-state) using the following values.

 OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE

#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE   ( 3 )

 OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT

#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT   ( 2 )

 OPTIX_SBT_RECORD_ALIGNMENT

#define OPTIX_SBT_RECORD_ALIGNMENT   16ull

Alignment requirement for device pointers in OptixShaderBindingTable.

 OPTIX_SBT_RECORD_HEADER_SIZE

#define OPTIX_SBT_RECORD_HEADER_SIZE   ( (size_t)32 )

Size of the SBT record headers.

 OPTIX_TRANSFORM_BYTE_ALIGNMENT

#define OPTIX_TRANSFORM_BYTE_ALIGNMENT   64ull

Typedef Documentation

 CUdeviceptr

typedef unsigned long long CUdeviceptr

CUDA device pointer.

 OptixAabb

typedef struct OptixAabb OptixAabb

AABB inputs.

 OptixAccelBufferSizes

Struct for querying builder allocation requirements.

Once queried the sizes should be used to allocate device memory of at least these sizes.

See also
optixAccelComputeMemoryUsage()

 OptixAccelBuildOptions

Build options for acceleration structures.

See also
optixAccelComputeMemoryUsage(), optixAccelBuild()

 OptixAccelEmitDesc

Specifies a type and output destination for emitted post-build properties.

See also
optixAccelBuild()

 OptixAccelPropertyType

Properties which can be emitted during acceleration structure build.

See also
OptixAccelEmitDesc::type.

 OptixBuildFlags

Builder Options.

Used for OptixAccelBuildOptions::buildFlags. Can be or'ed together.

 OptixBuildInput

Build inputs.

All of them support motion and the size of the data arrays needs to match the number of motion steps

See also
optixAccelComputeMemoryUsage(), optixAccelBuild()

 OptixBuildInputCurveArray

Curve inputs.

A curve is a swept surface defined by a 3D spline curve and a varying width (radius). A curve (or "strand") of degree d (3=cubic, 2=quadratic, 1=linear) is represented by N > d vertices and N width values, and comprises N - d segments. Each segment is defined by d+1 consecutive vertices. Each curve may have a different number of vertices.

OptiX describes the curve array as a list of curve segments. The primitive id is the segment number. It is the user's responsibility to maintain a mapping between curves and curve segments. Each index buffer entry i = indexBuffer[primid] specifies the start of a curve segment, represented by d+1 consecutive vertices in the vertex buffer, and d+1 consecutive widths in the width buffer. Width is interpolated the same way vertices are interpolated, that is, using the curve basis.

Each curves build input has only one SBT record. To create curves with different materials in the same BVH, use multiple build inputs.

See also
OptixBuildInput::curveArray

 OptixBuildInputCustomPrimitiveArray

 OptixBuildInputInstanceArray

Instance and instance pointer inputs.

See also
OptixBuildInput::instanceArray

 OptixBuildInputOpacityMicromap

 OptixBuildInputSphereArray

Sphere inputs.

A sphere is defined by a center point and a radius. Each center point is represented by a vertex in the vertex buffer. There is either a single radius for all spheres, or the radii are represented by entries in the radius buffer.

The vertex buffers and radius buffers point to a host array of device pointers, one per motion step. Host array size must match the number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 0 or 1). Each per motion key device pointer must point to an array of vertices corresponding to the center points of the spheres, or an array of 1 or N radii. Format OPTIX_VERTEX_FORMAT_FLOAT3 is used for vertices, OPTIX_VERTEX_FORMAT_FLOAT for radii.

See also
OptixBuildInput::sphereArray

 OptixBuildInputTriangleArray

 OptixBuildInputType

Enum to distinguish the different build input types.

See also
OptixBuildInput::type

 OptixBuildOperation

Enum to specify the acceleration build operation.

Used in OptixAccelBuildOptions, which is then passed to optixAccelBuild and optixAccelComputeMemoryUsage, this enum indicates whether to do a build or an update of the acceleration structure.

Acceleration structure updates utilize the same acceleration structure, but with updated bounds. Updates are typically much faster than builds, however, large perturbations can degrade the quality of the acceleration structure.

See also
optixAccelComputeMemoryUsage(), optixAccelBuild(), OptixAccelBuildOptions

 OptixBuiltinISOptions

Specifies the options for retrieving an intersection program for a built-in primitive type. The primitive type must not be OPTIX_PRIMITIVE_TYPE_CUSTOM.

See also
optixBuiltinISModuleGet()

 OptixCompileDebugLevel

 OptixCompileOptimizationLevel

 OptixCurveEndcapFlags

Curve end cap types, for non-linear curves.

 OptixDenoiser

typedef struct OptixDenoiser_t* OptixDenoiser

Opaque type representing a denoiser instance.

 OptixDenoiserAlphaMode

 OptixDenoiserGuideLayer

Guide layer for the denoiser.

See also
optixDenoiserInvoke()

 OptixDenoiserLayer

Input/Output layers for the denoiser.

See also
optixDenoiserInvoke()

 OptixDenoiserModelKind

Model kind used by the denoiser.

See also
optixDenoiserCreate

 OptixDenoiserOptions

Options used by the denoiser.

See also
optixDenoiserCreate()

 OptixDenoiserParams

 OptixDenoiserSizes

Various sizes related to the denoiser.

See also
optixDenoiserComputeMemoryResources()

 OptixDeviceContext

typedef struct OptixDeviceContext_t* OptixDeviceContext

Opaque type representing a device context.

 OptixDeviceContextOptions

 OptixDeviceContextValidationMode

Validation mode settings.

When enabled, certain device code utilities will be enabled to provide as good debug and error checking facilities as possible.

See also
optixDeviceContextCreate()

 OptixDeviceProperty

 OptixExceptionCodes

The following values are used to indicate which exception was thrown.

 OptixExceptionFlags

 OptixGeometryFlags

 OptixHitKind

typedef enum OptixHitKind OptixHitKind

Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use optixGetPrimitiveType(), together with optixIsFrontFaceHit() or optixIsBackFaceHit().

See also
optixGetHitKind()

 OptixImage2D

typedef struct OptixImage2D OptixImage2D

Image descriptor used by the denoiser.

See also
optixDenoiserInvoke(), optixDenoiserComputeIntensity()

 OptixIndicesFormat

 OptixInstance

 OptixInstanceFlags

Flags set on the OptixInstance::flags.

These can be or'ed together to combine multiple flags.

 OptixLogCallback

typedef void(* OptixLogCallback) (unsigned int level, const char *tag, const char *message, void *cbdata)

Type of the callback function used for log messages.

Parameters
[in]levelThe log level indicates the severity of the message. See below for possible values.
[in]tagA terse message category description (e.g., 'SCENE STAT').
[in]messageNull terminated log message (without newline at the end).
[in]cbdataCallback data that was provided with the callback pointer.

It is the users responsibility to ensure thread safety within this function.

The following log levels are defined.

0 disable Setting the callback level will disable all messages. The callback function will not be called in this case. 1 fatal A non-recoverable error. The context and/or OptiX itself might no longer be in a usable state. 2 error A recoverable error, e.g., when passing invalid call parameters. 3 warning Hints that OptiX might not behave exactly as requested by the user or may perform slower than expected. 4 print Status or progress messages.

Higher levels might occur.

See also
optixDeviceContextSetLogCallback(), OptixDeviceContextOptions

 OptixMatrixMotionTransform

Represents a matrix motion transformation.

The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.

This struct, as defined here, handles only N=2 motion keys due to the fixed array length of its transform member. The following example shows how to create instances for an arbitrary number N of motion keys:

float matrixData[N][12];
... // setup matrixData
size_t transformSizeInBytes = sizeof( OptixMatrixMotionTransform ) + ( N-2 ) * 12 * sizeof( float );
OptixMatrixMotionTransform* matrixMoptionTransform = (OptixMatrixMotionTransform*) malloc( transformSizeInBytes );
memset( matrixMoptionTransform, 0, transformSizeInBytes );
... // setup other members of matrixMoptionTransform
matrixMoptionTransform->motionOptions.numKeys
memcpy( matrixMoptionTransform->transform, matrixData, N * 12 * sizeof( float ) );
... // copy matrixMoptionTransform to device memory
free( matrixMoptionTransform )
unsigned short numKeys
If numKeys > 1, motion is enabled. timeBegin, timeEnd and flags are all ignored when motion is disabl...
Definition: optix_7_types.h:1101
struct OptixMatrixMotionTransform OptixMatrixMotionTransform
Represents a matrix motion transformation.
OptixMotionOptions motionOptions
The motion options for this transformation. Must have at least two motion keys.
Definition: optix_7_types.h:1241
float transform[2][12]
Affine object-to-world transformation as 3x4 matrix in row-major layout.
Definition: optix_7_types.h:1247
Represents a matrix motion transformation.
Definition: optix_7_types.h:1235
See also
optixConvertPointerToTraversableHandle()

 OptixMicromapBuffers

Buffer inputs for opacity micromap array builds.

 OptixMicromapBufferSizes

Conservative memory requirements for building a opacity micromap array.

 OptixModule

typedef struct OptixModule_t* OptixModule

Opaque type representing a module.

 OptixModuleCompileBoundValueEntry

Struct for specifying specializations for pipelineParams as specified in OptixPipelineCompileOptions::pipelineLaunchParamsVariableName.

The bound values are supposed to represent a constant value in the pipelineParams. OptiX will attempt to locate all loads from the pipelineParams and correlate them to the appropriate bound value, but there are cases where OptiX cannot safely or reliably do this. For example if the pointer to the pipelineParams is passed as an argument to a non-inline function or the offset of the load to the pipelineParams cannot be statically determined (e.g. accessed in a loop). No module should rely on the value being specialized in order to work correctly. The values in the pipelineParams specified on optixLaunch should match the bound value. If validation mode is enabled on the context, OptiX will verify that the bound values specified matches the values in pipelineParams specified to optixLaunch.

These values are compiled in to the module as constants. Once the constants are inserted into the code, an optimization pass will be run that will attempt to propagate the consants and remove unreachable code.

If caching is enabled, changes in these values will result in newly compiled modules.

The pipelineParamOffset and sizeInBytes must be within the bounds of the pipelineParams variable. OPTIX_ERROR_INVALID_VALUE will be returned from optixModuleCreateFromPTX otherwise.

If more than one bound value overlaps or the size of a bound value is equal to 0, an OPTIX_ERROR_INVALID_VALUE will be returned from optixModuleCreateFromPTX.

The same set of bound values do not need to be used for all modules in a pipeline, but overlapping values between modules must have the same value. OPTIX_ERROR_INVALID_VALUE will be returned from optixPipelineCreate otherwise.

See also
OptixModuleCompileOptions

 OptixModuleCompileOptions

Compilation options for module.

See also
optixModuleCreateFromPTX()

 OptixModuleCompileState

 OptixMotionFlags

Enum to specify motion flags.

See also
OptixMotionOptions::flags.

 OptixMotionOptions

 OptixOpacityMicromapArrayBuildInput

Inputs to opacity micromap array construction.

 OptixOpacityMicromapArrayIndexingMode

indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.

 OptixOpacityMicromapDesc

Opacity micromap descriptor.

 OptixOpacityMicromapFlags

Flags defining behavior of opacity micromaps in a opacity micromap array.

 OptixOpacityMicromapFormat

Specifies whether to use a 2- or 4-state opacity micromap format.

 OptixOpacityMicromapHistogramEntry

Opacity micromap histogram entry. Specifies how many opacity micromaps of a specific type are input to the opacity micromap array build. Note that while this is similar to OptixOpacityMicromapUsageCount, the histogram entry specifies how many opacity micromaps of a specific type are combined into a opacity micromap array.

 OptixOpacityMicromapUsageCount

Opacity micromap usage count for acceleration structure builds. Specifies how many opacity micromaps of a specific type are referenced by triangles when building the AS. Note that while this is similar to OptixOpacityMicromapHistogramEntry, the usage count specifies how many opacity micromaps of a specific type are referenced by triangles in the AS.

 OptixPayloadSemantics

Semantic flags for a single payload word.

Used to specify the semantics of a payload word per shader type. "read": Shader of this type may read the payload word. "write": Shader of this type may write the payload word.

"trace_caller_write": Shaders may consume the value of the payload word passed to optixTrace by the caller. "trace_caller_read": The caller to optixTrace may read the payload word after the call to optixTrace.

Semantics can be bitwise combined. Combining "read" and "write" is equivalent to specifying "read_write". A payload needs to be writable by the caller or at least one shader type. A payload needs to be readable by the caller or at least one shader type after a being writable.

 OptixPayloadType

Specifies a single payload type.

 OptixPayloadTypeID

Payload type identifiers.

 OptixPipeline

typedef struct OptixPipeline_t* OptixPipeline

Opaque type representing a pipeline.

 OptixPipelineCompileOptions

Compilation options for all modules of a pipeline.

Similar to OptixModuleCompileOptions, but these options here need to be equal for all modules of a pipeline.

See also
optixModuleCreateFromPTX(), optixPipelineCreate()

 OptixPipelineLinkOptions

Link options for a pipeline.

See also
optixPipelineCreate()

 OptixPixelFormat

Pixel formats used by the denoiser.

See also
OptixImage2D::format

 OptixPrimitiveType

Builtin primitive types.

 OptixPrimitiveTypeFlags

 OptixProgramGroup

typedef struct OptixProgramGroup_t* OptixProgramGroup

Opaque type representing a program group.

 OptixProgramGroupCallables

Program group representing callables.

Module and entry function name need to be valid for at least one of the two callables.

See also
#OptixProgramGroupDesc::callables

 OptixProgramGroupDesc

Descriptor for program groups.

 OptixProgramGroupFlags

Flags for program groups.

 OptixProgramGroupHitgroup

Program group representing the hitgroup.

For each of the three program types, module and entry function name might both be nullptr.

See also
OptixProgramGroupDesc::hitgroup

 OptixProgramGroupKind

Distinguishes different kinds of program groups.

 OptixProgramGroupOptions

Program group options.

See also
optixProgramGroupCreate()

 OptixProgramGroupSingleModule

Program group representing a single module.

Used for raygen, miss, and exception programs. In case of raygen and exception programs, module and entry function name need to be valid. For miss programs, module and entry function name might both be nullptr.

See also
OptixProgramGroupDesc::raygen, OptixProgramGroupDesc::miss, OptixProgramGroupDesc::exception

 OptixQueryFunctionTable_t

typedef OptixResult() OptixQueryFunctionTable_t(int abiId, unsigned int numOptions, OptixQueryFunctionTableOptions *, const void **, void *functionTable, size_t sizeOfTable)

Type of the function optixQueryFunctionTable()

 OptixQueryFunctionTableOptions

Options that can be passed to optixQueryFunctionTable()

 OptixRayFlags

Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invocation.

See also
optixTrace()

 OptixRelocateInput

Relocation inputs.

See also
optixAccelRelocate()

 OptixRelocateInputInstanceArray

Instance and instance pointer inputs.

See also
OptixRelocateInput::instanceArray

 OptixRelocateInputOpacityMicromap

 OptixRelocateInputTriangleArray

 OptixRelocationInfo

 OptixResult

typedef enum OptixResult OptixResult

Result codes returned from API functions.

All host side API functions return OptixResult with the exception of optixGetErrorName and optixGetErrorString. When successful OPTIX_SUCCESS is returned. All return codes except for OPTIX_SUCCESS should be assumed to be errors as opposed to a warning.

See also
optixGetErrorName(), optixGetErrorString()

 OptixShaderBindingTable

Describes the shader binding table (SBT)

See also
optixLaunch()

 OptixSRTData

typedef struct OptixSRTData OptixSRTData

Represents an SRT transformation.

An SRT transformation can represent a smooth rotation with fewer motion keys than a matrix transformation. Each motion key is constructed from elements taken from a matrix S, a quaternion R, and a translation T.

The scaling matrix \(S = \begin{bmatrix} sx & a & b & pvx \\ 0 & sy & c & pvy \\ 0 & 0 & sz & pvz \end{bmatrix}\) defines an affine transformation that can include scale, shear, and a translation. The translation allows to define the pivot point for the subsequent rotation.

The quaternion R = [ qx, qy, qz, qw ] describes a rotation with angular component qw = cos(theta/2) and other components [ qx, qy, qz ] = sin(theta/2) * [ ax, ay, az ] where the axis [ ax, ay, az ] is normalized.

The translation matrix \(T = \begin{bmatrix} 1 & 0 & 0 & tx \\ 0 & 1 & 0 & ty \\ 0 & 0 & 1 & tz \end{bmatrix}\) defines another translation that is applied after the rotation. Typically, this translation includes the inverse translation from the matrix S to reverse the translation for the pivot point for R.

To obtain the effective transformation at time t, the elements of the components of S, R, and T will be interpolated linearly. The components are then multiplied to obtain the combined transformation C = T * R * S. The transformation C is the effective object-to-world transformations at time t, and C^(-1) is the effective world-to-object transformation at time t.

See also
OptixSRTMotionTransform::srtData, optixConvertPointerToTraversableHandle()

 OptixSRTMotionTransform

Represents an SRT motion transformation.

The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.

This struct, as defined here, handles only N=2 motion keys due to the fixed array length of its srtData member. The following example shows how to create instances for an arbitrary number N of motion keys:

OptixSRTData srtData[N];
... // setup srtData
size_t transformSizeInBytes = sizeof( OptixSRTMotionTransform ) + ( N-2 ) * sizeof( OptixSRTData );
OptixSRTMotionTransform* srtMotionTransform = (OptixSRTMotionTransform*) malloc( transformSizeInBytes );
memset( srtMotionTransform, 0, transformSizeInBytes );
... // setup other members of srtMotionTransform
srtMotionTransform->motionOptions.numKeys = N;
memcpy( srtMotionTransform->srtData, srtData, N * sizeof( OptixSRTData ) );
... // copy srtMotionTransform to device memory
free( srtMotionTransform )
OptixMotionOptions motionOptions
The motion options for this transformation Must have at least two motion keys.
Definition: optix_7_types.h:1324
OptixSRTData srtData[2]
The actual SRT data describing the transformation.
Definition: optix_7_types.h:1330
struct OptixSRTData OptixSRTData
Represents an SRT transformation.
struct OptixSRTMotionTransform OptixSRTMotionTransform
Represents an SRT motion transformation.
Represents an SRT transformation.
Definition: optix_7_types.h:1281
Represents an SRT motion transformation.
Definition: optix_7_types.h:1318
See also
optixConvertPointerToTraversableHandle()

 OptixStackSizes

Describes the stack size requirements of a program group.

See also
optixProgramGroupGetStackSize()

 OptixStaticTransform

Static transform.

The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.

See also
optixConvertPointerToTraversableHandle()

 OptixTask

typedef struct OptixTask_t* OptixTask

Opaque type representing a work task.

 OptixTransformFormat

 OptixTransformType

Transform.

OptixTransformType is used by the device function optixGetTransformTypeFromHandle() to determine the type of the OptixTraversableHandle returned from optixGetTransformListHandle().

 OptixTraversableGraphFlags

Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace(). Flags may be bitwise combined.

 OptixTraversableHandle

typedef unsigned long long OptixTraversableHandle

Traversable handle.

 OptixTraversableType

 OptixVertexFormat

 OptixVisibilityMask

typedef unsigned int OptixVisibilityMask

Visibility mask.

Enumeration Type Documentation

 OptixAccelPropertyType

Properties which can be emitted during acceleration structure build.

See also
OptixAccelEmitDesc::type.
Enumerator
OPTIX_PROPERTY_TYPE_COMPACTED_SIZE 

Size of a compacted acceleration structure. The device pointer points to a uint64.

OPTIX_PROPERTY_TYPE_AABBS 

OptixAabb * numMotionSteps.

 OptixBuildFlags

Builder Options.

Used for OptixAccelBuildOptions::buildFlags. Can be or'ed together.

Enumerator
OPTIX_BUILD_FLAG_NONE 

No special flags set.

OPTIX_BUILD_FLAG_ALLOW_UPDATE 

Allow updating the build with new vertex positions with subsequent calls to optixAccelBuild.

OPTIX_BUILD_FLAG_ALLOW_COMPACTION 
OPTIX_BUILD_FLAG_PREFER_FAST_TRACE 
OPTIX_BUILD_FLAG_PREFER_FAST_BUILD 
OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS 

Allow random access to build input vertices See optixGetTriangleVertexData optixGetLinearCurveVertexData optixGetQuadraticBSplineVertexData optixGetCubicBSplineVertexData optixGetCatmullRomVertexData optixGetSphereData.

OPTIX_BUILD_FLAG_ALLOW_RANDOM_INSTANCE_ACCESS 

Allow random access to instances See optixGetInstanceTraversableFromIAS.

OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE 

Support updating the opacity micromap array and opacity micromap indices on refits. May increase AS size and may have a small negative impact on traversal performance. If this flag is absent, all opacity micromap inputs must remain unchanged between the initial AS builds and their subsequent refits.

OPTIX_BUILD_FLAG_ALLOW_DISABLE_OPACITY_MICROMAPS 

If enabled, any instances referencing this GAS are allowed to disable the opacity micromap test through the DISABLE_OPACITY_MICROMAPS flag instance flag. Note that the GAS will not be optimized for the attached opacity micromap Arrays if this flag is set, which may result in reduced traversal performance.

 OptixBuildInputType

Enum to distinguish the different build input types.

See also
OptixBuildInput::type
Enumerator
OPTIX_BUILD_INPUT_TYPE_TRIANGLES 

Triangle inputs.

See also
OptixBuildInputTriangleArray
OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES 

Custom primitive inputs.

See also
OptixBuildInputCustomPrimitiveArray
OPTIX_BUILD_INPUT_TYPE_INSTANCES 

Instance inputs.

See also
OptixBuildInputInstanceArray
OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS 

Instance pointer inputs.

See also
OptixBuildInputInstanceArray
OPTIX_BUILD_INPUT_TYPE_CURVES 

Curve inputs.

See also
OptixBuildInputCurveArray
OPTIX_BUILD_INPUT_TYPE_SPHERES 

Sphere inputs.

See also
OptixBuildInputSphereArray

 OptixBuildOperation

Enum to specify the acceleration build operation.

Used in OptixAccelBuildOptions, which is then passed to optixAccelBuild and optixAccelComputeMemoryUsage, this enum indicates whether to do a build or an update of the acceleration structure.

Acceleration structure updates utilize the same acceleration structure, but with updated bounds. Updates are typically much faster than builds, however, large perturbations can degrade the quality of the acceleration structure.

See also
optixAccelComputeMemoryUsage(), optixAccelBuild(), OptixAccelBuildOptions
Enumerator
OPTIX_BUILD_OPERATION_BUILD 

Perform a full build operation.

OPTIX_BUILD_OPERATION_UPDATE 

Perform an update using new bounds.

 OptixCompileDebugLevel

Debug levels.

See also
OptixModuleCompileOptions::debugLevel
Enumerator
OPTIX_COMPILE_DEBUG_LEVEL_DEFAULT 

Default currently is minimal.

OPTIX_COMPILE_DEBUG_LEVEL_NONE 

No debug information.

OPTIX_COMPILE_DEBUG_LEVEL_MINIMAL 

Generate information that does not impact performance. Note this replaces OPTIX_COMPILE_DEBUG_LEVEL_LINEINFO.

OPTIX_COMPILE_DEBUG_LEVEL_MODERATE 

Generate some debug information with slight performance cost.

OPTIX_COMPILE_DEBUG_LEVEL_FULL 

Generate full debug information.

 OptixCompileOptimizationLevel

Optimization levels.

See also
OptixModuleCompileOptions::optLevel
Enumerator
OPTIX_COMPILE_OPTIMIZATION_DEFAULT 

Default is to run all optimizations.

OPTIX_COMPILE_OPTIMIZATION_LEVEL_

No optimizations.

OPTIX_COMPILE_OPTIMIZATION_LEVEL_

Some optimizations.

OPTIX_COMPILE_OPTIMIZATION_LEVEL_

Most optimizations.

OPTIX_COMPILE_OPTIMIZATION_LEVEL_

All optimizations.

 OptixCurveEndcapFlags

Curve end cap types, for non-linear curves.

Enumerator
OPTIX_CURVE_ENDCAP_DEFAULT 

Default end caps. Round end caps for linear, no end caps for quadratic/cubic.

OPTIX_CURVE_ENDCAP_ON 

Flat end caps at both ends of quadratic/cubic curve segments. Not valid for linear.

 OptixDenoiserAlphaMode

Various parameters used by the denoiser.

See also
optixDenoiserInvoke()
optixDenoiserComputeIntensity()
optixDenoiserComputeAverageColor()
Enumerator
OPTIX_DENOISER_ALPHA_MODE_COPY 

Copy alpha (if present) from input layer, no denoising.

OPTIX_DENOISER_ALPHA_MODE_ALPHA_AS_AOV 

Denoise alpha separately. With AOV model kinds, treat alpha like an AOV.

OPTIX_DENOISER_ALPHA_MODE_FULL_DENOISE_PASS 

With AOV model kinds, full denoise pass with alpha. This is slower than OPTIX_DENOISER_ALPHA_MODE_ALPHA_AS_AOV.

 OptixDenoiserModelKind

Model kind used by the denoiser.

See also
optixDenoiserCreate
Enumerator
OPTIX_DENOISER_MODEL_KIND_LDR 

Use the built-in model appropriate for low dynamic range input.

OPTIX_DENOISER_MODEL_KIND_HDR 

Use the built-in model appropriate for high dynamic range input.

OPTIX_DENOISER_MODEL_KIND_AOV 

Use the built-in model appropriate for high dynamic range input and support for AOVs.

OPTIX_DENOISER_MODEL_KIND_TEMPORAL 

Use the built-in model appropriate for high dynamic range input, temporally stable.

OPTIX_DENOISER_MODEL_KIND_TEMPORAL_AOV 

Use the built-in model appropriate for high dynamic range input and support for AOVs, temporally stable.

OPTIX_DENOISER_MODEL_KIND_UPSCALE2X 

Use the built-in model appropriate for high dynamic range input and support for AOVs, upscaling 2x.

OPTIX_DENOISER_MODEL_KIND_TEMPORAL_UPSCALE2X 

Use the built-in model appropriate for high dynamic range input and support for AOVs, upscaling 2x, temporally stable.

 OptixDeviceContextValidationMode

Validation mode settings.

When enabled, certain device code utilities will be enabled to provide as good debug and error checking facilities as possible.

See also
optixDeviceContextCreate()
Enumerator
OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_OFF 
OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_ALL 

 OptixDeviceProperty

Parameters used for optixDeviceContextGetProperty()

See also
optixDeviceContextGetProperty()
Enumerator
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRACE_DEPTH 

Maximum value for OptixPipelineLinkOptions::maxTraceDepth. sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRAVERSABLE_GRAPH_DEPTH 

Maximum value to pass into optixPipelineSetStackSize for parameter maxTraversableGraphDepth. sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_PRIMITIVES_PER_GAS 

The maximum number of primitives (over all build inputs) as input to a single Geometry Acceleration Structure (GAS). sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCES_PER_IAS 

The maximum number of instances (over all build inputs) as input to a single Instance Acceleration Structure (IAS). sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_RTCORE_VERSION 

The RT core version supported by the device (0 for no support, 10 for version 1.0). sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID 

The maximum value for OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE...">OptixInstance::instanceId. sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_NUM_BITS_INSTANCE_VISIBILITY_MASK 

The number of bits available for the OptixInstance::visibilityMask. Higher bits must be set to zero. sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_RECORDS_PER_GAS 

The maximum number of instances that can be added to a single Instance Acceleration Structure (IAS). sizeof( unsigned int )

OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_OFFSET 

The maximum value for OptixInstance::sbtOffset. sizeof( unsigned int )

 OptixExceptionCodes

The following values are used to indicate which exception was thrown.

Enumerator
OPTIX_EXCEPTION_CODE_STACK_OVERFLOW 

Stack overflow of the continuation stack. no exception details.

OPTIX_EXCEPTION_CODE_TRACE_DEPTH_EXCEEDED 

The trace depth is exceeded. no exception details.

OPTIX_EXCEPTION_CODE_TRAVERSAL_DEPTH_EXCEEDED 

The traversal depth is exceeded. Exception details: optixGetTransformListSize() optixGetTransformListHandle()

OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_TRAVERSABLE 

Traversal encountered an invalid traversable type. Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidTraversable()

OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_MISS_SBT 

The miss SBT record index is out of bounds A miss SBT record index is valid within the range [0, OptixShaderBindingTable::missRecordCount) (See optixLaunch) Exception details: optixGetExceptionInvalidSbtOffset()

OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT 

The traversal hit SBT record index out of bounds.

A traversal hit SBT record index is valid within the range [0, OPTIX_SBT...">OptixShaderBindingTable::hitgroupRecordCount) (See optixLaunch) The following formula relates the sbt-geometry-acceleration-structure-index (See optixGetSbtGASIndex), sbt-stride-from-trace-call and sbt-offset-from-trace-call (See optixTrace)

sbt-index = sbt-instance-offset + (sbt-geometry-acceleration-structure-index * sbt-stride-from-trace-call) + sbt-offset-from-trace-call

Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidSbtOffset() optixGetSbtGASIndex()

OPTIX_EXCEPTION_CODE_UNSUPPORTED_PRIMITIVE_TYPE 

The shader encountered an unsupported primitive type (See OptixPipelineCompileOptions::usesPrimitiveTypeFlags). no exception details.

OPTIX_EXCEPTION_CODE_INVALID_RAY 

The shader encountered a call to optixTrace with at least one of the float arguments being inf or nan, or the tmin argument is negative. Exception details: optixGetExceptionInvalidRay()

OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH 

The shader encountered a call to either optixDirectCall or optixCallableCall where the argument count does not match the parameter count of the callable program which is called. Exception details: optixGetExceptionParameterMismatch.

OPTIX_EXCEPTION_CODE_BUILTIN_IS_MISMATCH 

The invoked builtin IS does not match the current GAS.

OPTIX_EXCEPTION_CODE_CALLABLE_INVALID_SBT 

Tried to call a callable program using an SBT offset that is larger than the number of passed in callable SBT records. Exception details: optixGetExceptionInvalidSbtOffset()

OPTIX_EXCEPTION_CODE_CALLABLE_NO_DC_SBT_RECORD 

Tried to call a direct callable using an SBT offset of a record that was built from a program group that did not include a direct callable.

OPTIX_EXCEPTION_CODE_CALLABLE_NO_CC_SBT_RECORD 

Tried to call a continuation callable using an SBT offset of a record that was built from a program group that did not include a continuation callable.

OPTIX_EXCEPTION_CODE_UNSUPPORTED_SINGLE_LEVEL_GAS 

Tried to directly traverse a single gas while single gas traversable graphs are not enabled (see OptixTraversableGraphFlags::OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_GAS). Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidTraversable()

OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_

argument passed to an optix call is not within an acceptable range of values.

OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_
OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_
OPTIX_EXCEPTION_CODE_UNSUPPORTED_DATA_ACCESS 

Tried to access data on an AS without random data access support (See OptixBuildFlags).

OPTIX_EXCEPTION_CODE_PAYLOAD_TYPE_MISMATCH 

The program payload type doesn't match the trace payload type.

 OptixExceptionFlags

Exception flags.

See also
OptixPipelineCompileOptions::exceptionFlags, OptixExceptionCodes
Enumerator
OPTIX_EXCEPTION_FLAG_NONE 

No exception are enabled.

OPTIX_EXCEPTION_FLAG_STACK_OVERFLOW 

Enables exceptions check related to the continuation stack.

OPTIX_EXCEPTION_FLAG_TRACE_DEPTH 

Enables exceptions check related to trace depth.

OPTIX_EXCEPTION_FLAG_USER 

Enables user exceptions via optixThrowException(). This flag must be specified for all modules in a pipeline if any module calls optixThrowException().

OPTIX_EXCEPTION_FLAG_DEBUG 

Enables various exceptions check related to traversal.

 OptixGeometryFlags

Flags used by OptixBuildInputTriangleArray::flags and #OptixBuildInput::flag and OptixBuildInputCustomPrimitiveArray::flags.

Enumerator
OPTIX_GEOMETRY_FLAG_NONE 

No flags set.

OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT 

Disables the invocation of the anyhit program. Can be overridden by OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT and OPTIX_RAY_FLAG_ENFORCE_ANYHIT.

OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL 

If set, an intersection with the primitive will trigger one and only one invocation of the anyhit program. Otherwise, the anyhit program may be invoked more than once.

OPTIX_GEOMETRY_FLAG_DISABLE_TRIANGLE_FACE_CULLING 

Prevent triangles from getting culled due to their orientation. Effectively ignores ray flags OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES and OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES.

 OptixHitKind

Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use optixGetPrimitiveType(), together with optixIsFrontFaceHit() or optixIsBackFaceHit().

See also
optixGetHitKind()
Enumerator
OPTIX_HIT_KIND_TRIANGLE_FRONT_FACE 

Ray hit the triangle on the front face.

OPTIX_HIT_KIND_TRIANGLE_BACK_FACE 

Ray hit the triangle on the back face.

 OptixIndicesFormat

Format of indices used int OptixBuildInputTriangleArray::indexFormat.

Enumerator
OPTIX_INDICES_FORMAT_NONE 

No indices, this format must only be used in combination with triangle soups, i.e., numIndexTriplets must be zero.

OPTIX_INDICES_FORMAT_UNSIGNED_SHORT

Three shorts.

OPTIX_INDICES_FORMAT_UNSIGNED_INT

Three ints.

 OptixInstanceFlags

Flags set on the OptixInstance::flags.

These can be or'ed together to combine multiple flags.

Enumerator
OPTIX_INSTANCE_FLAG_NONE 

No special flag set.

OPTIX_INSTANCE_FLAG_DISABLE_TRIANGLE_FACE_CULLING 

Prevent triangles from getting culled due to their orientation. Effectively ignores ray flags OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES and OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES.

OPTIX_INSTANCE_FLAG_FLIP_TRIANGLE_FACING 

Flip triangle orientation. This affects front/backface culling as well as the reported face in case of a hit.

OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT 

Disable anyhit programs for all geometries of the instance. Can be overridden by OPTIX_RAY_FLAG_ENFORCE_ANYHIT. This flag is mutually exclusive with OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT.

OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT 

Enables anyhit programs for all geometries of the instance. Overrides OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT Can be overridden by OPTIX_RAY_FLAG_DISABLE_ANYHIT. This flag is mutually exclusive with OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT.

OPTIX_INSTANCE_FLAG_FORCE_OPACITY_MICROMAP_2_STATE 

Force 4-state opacity micromaps to behave as 2-state opacity micromaps during traversal.

OPTIX_INSTANCE_FLAG_DISABLE_OPACITY_MICROMAPS 

Don't perform opacity micromap query for this instance. GAS must be built with ALLOW_DISABLE_OPACITY_MICROMAPS for this to be valid. This flag overrides FORCE_OPACTIY_MIXROMAP_2_STATE instance and ray flags.

 OptixModuleCompileState

Module compilation state.

See also
optixModuleGetCompilationState(), optixModuleCreateFromPTXWithTasks()
Enumerator
OPTIX_MODULE_COMPILE_STATE_NOT_STARTED 

No OptixTask objects have started.

OPTIX_MODULE_COMPILE_STATE_STARTED 

Started, but not all OptixTask objects have completed. No detected failures.

OPTIX_MODULE_COMPILE_STATE_IMPENDING_FAILURE 

Not all OptixTask objects have completed, but at least one has failed.

OPTIX_MODULE_COMPILE_STATE_FAILED 

All OptixTask objects have completed, and at least one has failed.

OPTIX_MODULE_COMPILE_STATE_COMPLETED 

All OptixTask objects have completed. The OptixModule is ready to be used.

 OptixMotionFlags

Enum to specify motion flags.

See also
OptixMotionOptions::flags.
Enumerator
OPTIX_MOTION_FLAG_NONE 
OPTIX_MOTION_FLAG_START_VANISH 
OPTIX_MOTION_FLAG_END_VANISH 

 OptixOpacityMicromapArrayIndexingMode

indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.

Enumerator
OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE 

No opacity micromap is used.

OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR 

An implicit linear mapping of triangles to opacity micromaps in the opacity micromap array is used. triangle[i] will use opacityMicromapArray[i].

OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED 

OptixBuildInputVisibleMap::indexBuffer provides a per triangle array of predefined indices and/or indices into OptixBuildInputVisibleMap::opacityMicromapArray. See OptixBuildInputOpacityMicromap::indexBuffer for more details.

 OptixOpacityMicromapFlags

Flags defining behavior of opacity micromaps in a opacity micromap array.

Enumerator
OPTIX_OPACITY_MICROMAP_FLAG_NONE 
OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE 
OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD 

 OptixOpacityMicromapFormat

Specifies whether to use a 2- or 4-state opacity micromap format.

Enumerator
OPTIX_OPACITY_MICROMAP_FORMAT_NONE 

invalid format

OPTIX_OPACITY_MICROMAP_FORMAT_2_STATE 

0: Transparent, 1: Opaque

OPTIX_OPACITY_MICROMAP_FORMAT_4_STATE 

0: Transparent, 1: Opaque, 2: Unknown-Transparent, 3: Unknown-Opaque

 OptixPayloadSemantics

Semantic flags for a single payload word.

Used to specify the semantics of a payload word per shader type. "read": Shader of this type may read the payload word. "write": Shader of this type may write the payload word.

"trace_caller_write": Shaders may consume the value of the payload word passed to optixTrace by the caller. "trace_caller_read": The caller to optixTrace may read the payload word after the call to optixTrace.

Semantics can be bitwise combined. Combining "read" and "write" is equivalent to specifying "read_write". A payload needs to be writable by the caller or at least one shader type. A payload needs to be readable by the caller or at least one shader type after a being writable.

Enumerator
OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_NONE 
OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ 
OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_WRITE 
OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ_WRITE 
OPTIX_PAYLOAD_SEMANTICS_CH_NONE 
OPTIX_PAYLOAD_SEMANTICS_CH_READ 
OPTIX_PAYLOAD_SEMANTICS_CH_WRITE 
OPTIX_PAYLOAD_SEMANTICS_CH_READ_WRITE 
OPTIX_PAYLOAD_SEMANTICS_MS_NONE 
OPTIX_PAYLOAD_SEMANTICS_MS_READ 
OPTIX_PAYLOAD_SEMANTICS_MS_WRITE 
OPTIX_PAYLOAD_SEMANTICS_MS_READ_WRITE 
OPTIX_PAYLOAD_SEMANTICS_AH_NONE 
OPTIX_PAYLOAD_SEMANTICS_AH_READ 
OPTIX_PAYLOAD_SEMANTICS_AH_WRITE 
OPTIX_PAYLOAD_SEMANTICS_AH_READ_WRITE 
OPTIX_PAYLOAD_SEMANTICS_IS_NONE 
OPTIX_PAYLOAD_SEMANTICS_IS_READ 
OPTIX_PAYLOAD_SEMANTICS_IS_WRITE 
OPTIX_PAYLOAD_SEMANTICS_IS_READ_WRITE 

 OptixPayloadTypeID

Payload type identifiers.

Enumerator
OPTIX_PAYLOAD_TYPE_DEFAULT 
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_
OPTIX_PAYLOAD_TYPE_ID_

 OptixPixelFormat

Pixel formats used by the denoiser.

See also
OptixImage2D::format
Enumerator
OPTIX_PIXEL_FORMAT_HALF

two halfs, XY

OPTIX_PIXEL_FORMAT_HALF

three halfs, RGB

OPTIX_PIXEL_FORMAT_HALF

four halfs, RGBA

OPTIX_PIXEL_FORMAT_FLOAT

two floats, XY

OPTIX_PIXEL_FORMAT_FLOAT

three floats, RGB

OPTIX_PIXEL_FORMAT_FLOAT

four floats, RGBA

OPTIX_PIXEL_FORMAT_UCHAR

three unsigned chars, RGB

OPTIX_PIXEL_FORMAT_UCHAR

four unsigned chars, RGBA

OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER 

internal format

 OptixPrimitiveType

Builtin primitive types.

Enumerator
OPTIX_PRIMITIVE_TYPE_CUSTOM 

Custom primitive.

OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE 

B-spline curve of degree 2 with circular cross-section.

OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE 

B-spline curve of degree 3 with circular cross-section.

OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR 

Piecewise linear curve with circular cross-section.

OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM 

CatmullRom curve with circular cross-section.

OPTIX_PRIMITIVE_TYPE_SPHERE 
OPTIX_PRIMITIVE_TYPE_TRIANGLE 

Triangle.

 OptixPrimitiveTypeFlags

Builtin flags may be bitwise combined.

See also
OptixPipelineCompileOptions::usesPrimitiveTypeFlags
Enumerator
OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM 

Custom primitive.

OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_QUADRATIC_BSPLINE 

B-spline curve of degree 2 with circular cross-section.

OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BSPLINE 

B-spline curve of degree 3 with circular cross-section.

OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_LINEAR 

Piecewise linear curve with circular cross-section.

OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CATMULLROM 

CatmullRom curve with circular cross-section.

OPTIX_PRIMITIVE_TYPE_FLAGS_SPHERE 
OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE 

Triangle.

 OptixProgramGroupFlags

Flags for program groups.

Enumerator
OPTIX_PROGRAM_GROUP_FLAGS_NONE 

Currently there are no flags.

 OptixProgramGroupKind

Distinguishes different kinds of program groups.

Enumerator
OPTIX_PROGRAM_GROUP_KIND_RAYGEN 

Program group containing a raygen (RG) program.

See also
OptixProgramGroupSingleModule, OptixProgramGroupDesc::raygen
OPTIX_PROGRAM_GROUP_KIND_MISS 

Program group containing a miss (MS) program.

See also
OptixProgramGroupSingleModule, OptixProgramGroupDesc::miss
OPTIX_PROGRAM_GROUP_KIND_EXCEPTION 

Program group containing an exception (EX) program.

See also
OptixProgramGroupHitgroup, OptixProgramGroupDesc::exception
OPTIX_PROGRAM_GROUP_KIND_HITGROUP 

Program group containing an intersection (IS), any hit (AH), and/or closest hit (CH) program.

See also
OptixProgramGroupSingleModule, OptixProgramGroupDesc::hitgroup
OPTIX_PROGRAM_GROUP_KIND_CALLABLES 

Program group containing a direct (DC) or continuation (CC) callable program.

See also
OptixProgramGroupCallables, OptixProgramGroupDesc::callables

 OptixQueryFunctionTableOptions

Options that can be passed to optixQueryFunctionTable()

Enumerator
OPTIX_QUERY_FUNCTION_TABLE_OPTION_DUMMY 

Placeholder (there are no options yet)

 OptixRayFlags

Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invocation.

See also
optixTrace()
Enumerator
OPTIX_RAY_FLAG_NONE 

No change from the behavior configured for the individual AS.

OPTIX_RAY_FLAG_DISABLE_ANYHIT 

Disables anyhit programs for the ray. Overrides OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT. This flag is mutually exclusive with OPTIX_RAY_FLAG_ENFORCE_ANYHIT, OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT, OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT.

OPTIX_RAY_FLAG_ENFORCE_ANYHIT 

Forces anyhit program execution for the ray. Overrides OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT as well as OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT. This flag is mutually exclusive with OPTIX_RAY_FLAG_DISABLE_ANYHIT, OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT, OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT.

OPTIX_RAY_FLAG_TERMINATE_ON_FIRST_HIT 

Terminates the ray after the first hit and executes the closesthit program of that hit.

OPTIX_RAY_FLAG_DISABLE_CLOSESTHIT 

Disables closesthit programs for the ray, but still executes miss program in case of a miss.

OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES 

Do not intersect triangle back faces (respects a possible face change due to instance flag OPTIX_INSTANCE_FLAG_FLIP_TRIANGLE_FACING). This flag is mutually exclusive with OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES.

OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 

Do not intersect triangle front faces (respects a possible face change due to instance flag OPTIX_INSTANCE_FLAG_FLIP_TRIANGLE_FACING). This flag is mutually exclusive with OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES.

OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT 

Do not intersect geometry which disables anyhit programs (due to setting geometry flag OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT or instance flag OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT). This flag is mutually exclusive with OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT, OPTIX_RAY_FLAG_ENFORCE_ANYHIT, OPTIX_RAY_FLAG_DISABLE_ANYHIT.

OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT 

Do not intersect geometry which have an enabled anyhit program (due to not setting geometry flag OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT or setting instance flag OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT). This flag is mutually exclusive with OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT, OPTIX_RAY_FLAG_ENFORCE_ANYHIT, OPTIX_RAY_FLAG_DISABLE_ANYHIT.

OPTIX_RAY_FLAG_FORCE_OPACITY_MICROMAP_2_STATE 

Force 4-state opacity micromaps to behave as 2-state opactiy micromaps during traversal.

 OptixResult

Result codes returned from API functions.

All host side API functions return OptixResult with the exception of optixGetErrorName and optixGetErrorString. When successful OPTIX_SUCCESS is returned. All return codes except for OPTIX_SUCCESS should be assumed to be errors as opposed to a warning.

See also
optixGetErrorName(), optixGetErrorString()
Enumerator
OPTIX_SUCCESS 
OPTIX_ERROR_INVALID_VALUE 
OPTIX_ERROR_HOST_OUT_OF_MEMORY 
OPTIX_ERROR_INVALID_OPERATION 
OPTIX_ERROR_FILE_IO_ERROR 
OPTIX_ERROR_INVALID_FILE_FORMAT 
OPTIX_ERROR_DISK_CACHE_INVALID_PATH 
OPTIX_ERROR_DISK_CACHE_PERMISSION_ERROR 
OPTIX_ERROR_DISK_CACHE_DATABASE_ERROR 
OPTIX_ERROR_DISK_CACHE_INVALID_DATA 
OPTIX_ERROR_LAUNCH_FAILURE 
OPTIX_ERROR_INVALID_DEVICE_CONTEXT 
OPTIX_ERROR_CUDA_NOT_INITIALIZED 
OPTIX_ERROR_VALIDATION_FAILURE 
OPTIX_ERROR_INVALID_PTX 
OPTIX_ERROR_INVALID_LAUNCH_PARAMETER 
OPTIX_ERROR_INVALID_PAYLOAD_ACCESS 
OPTIX_ERROR_INVALID_ATTRIBUTE_ACCESS 
OPTIX_ERROR_INVALID_FUNCTION_USE 
OPTIX_ERROR_INVALID_FUNCTION_ARGUMENTS 
OPTIX_ERROR_PIPELINE_OUT_OF_CONSTANT_MEMORY 
OPTIX_ERROR_PIPELINE_LINK_ERROR 
OPTIX_ERROR_ILLEGAL_DURING_TASK_EXECUTE 
OPTIX_ERROR_INTERNAL_COMPILER_ERROR 
OPTIX_ERROR_DENOISER_MODEL_NOT_SET 
OPTIX_ERROR_DENOISER_NOT_INITIALIZED 
OPTIX_ERROR_NOT_COMPATIBLE 
OPTIX_ERROR_PAYLOAD_TYPE_MISMATCH 
OPTIX_ERROR_PAYLOAD_TYPE_RESOLUTION_FAILED 
OPTIX_ERROR_PAYLOAD_TYPE_ID_INVALID 
OPTIX_ERROR_NOT_SUPPORTED 
OPTIX_ERROR_UNSUPPORTED_ABI_VERSION 
OPTIX_ERROR_FUNCTION_TABLE_SIZE_MISMATCH 
OPTIX_ERROR_INVALID_ENTRY_FUNCTION_OPTIONS 
OPTIX_ERROR_LIBRARY_NOT_FOUND 
OPTIX_ERROR_ENTRY_SYMBOL_NOT_FOUND 
OPTIX_ERROR_LIBRARY_UNLOAD_FAILURE 
OPTIX_ERROR_DEVICE_OUT_OF_MEMORY 
OPTIX_ERROR_CUDA_ERROR 
OPTIX_ERROR_INTERNAL_ERROR 
OPTIX_ERROR_UNKNOWN 

 OptixTransformFormat

Format of transform used in OptixBuildInputTriangleArray::transformFormat.

Enumerator
OPTIX_TRANSFORM_FORMAT_NONE 

no transform, default for zero initialization

OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12 

3x4 row major affine matrix

 OptixTransformType

Transform.

OptixTransformType is used by the device function optixGetTransformTypeFromHandle() to determine the type of the OptixTraversableHandle returned from optixGetTransformListHandle().

Enumerator
OPTIX_TRANSFORM_TYPE_NONE 

Not a transformation.

OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM 
See also
OptixStaticTransform
OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM 
See also
OptixMatrixMotionTransform
OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM 
See also
OptixSRTMotionTransform
OPTIX_TRANSFORM_TYPE_INSTANCE 
See also
OptixInstance

 OptixTraversableGraphFlags

Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace(). Flags may be bitwise combined.

Enumerator
OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_ANY 

Used to signal that any traversable graphs is valid. This flag is mutually exclusive with all other flags.

OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_GAS 

Used to signal that a traversable graph of a single Geometry Acceleration Structure (GAS) without any transforms is valid. This flag may be combined with other flags except for OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_ANY.

OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_LEVEL_INSTANCING 

Used to signal that a traversable graph of a single Instance Acceleration Structure (IAS) directly connected to Geometry Acceleration Structure (GAS) traversables without transform traversables in between is valid. This flag may be combined with other flags except for OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_ANY.

 OptixTraversableType

Traversable Handles.

See also
optixConvertPointerToTraversableHandle()
Enumerator
OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM 

Static transforms.

See also
OptixStaticTransform
OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM 

Matrix motion transform.

See also
OptixMatrixMotionTransform
OPTIX_TRAVERSABLE_TYPE_SRT_MOTION_TRANSFORM 

SRT motion transform.

See also
OptixSRTMotionTransform

 OptixVertexFormat

Format of vertices used in OptixBuildInputTriangleArray::vertexFormat.

Enumerator
OPTIX_VERTEX_FORMAT_NONE 

No vertices.

OPTIX_VERTEX_FORMAT_FLOAT

Vertices are represented by three floats.

OPTIX_VERTEX_FORMAT_FLOAT

Vertices are represented by two floats.

OPTIX_VERTEX_FORMAT_HALF

Vertices are represented by three halfs.

OPTIX_VERTEX_FORMAT_HALF

Vertices are represented by two halfs.

OPTIX_VERTEX_FORMAT_SNORM16_3 
OPTIX_VERTEX_FORMAT_SNORM16_2 

Variable Documentation

 

union { ... } OptixBuildInput::@1

 

union { ... } OptixRelocateInput::@3

 

union { ... } OptixProgramGroupDesc::@5

 a

float OptixSRTData::a

 aabbBuffers

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.

 albedo

OptixImage2D OptixDenoiserGuideLayer::albedo

 allowOpacityMicromaps

int OptixPipelineCompileOptions::allowOpacityMicromaps

Boolean value indicating whether opacity micromaps could be used.

 annotation

const char* OptixModuleCompileBoundValueEntry::annotation

 b

float OptixSRTData::b

 blendFactor

float OptixDenoiserParams::blendFactor

blend factor. If set to 0 the output is 100% of the denoised input. If set to 1, the output is 100% of the unmodified input. Values between 0 and 1 will linearly interpolate between the denoised and unmodified input.

 boundValuePtr

const void* OptixModuleCompileBoundValueEntry::boundValuePtr

 boundValues

const OptixModuleCompileBoundValueEntry* OptixModuleCompileOptions::boundValues

Ingored if numBoundValues is set to 0.

 buildFlags [1/2]

unsigned int OptixAccelBuildOptions::buildFlags

Combinations of OptixBuildFlags.

 buildFlags [2/2]

unsigned int OptixBuiltinISOptions::buildFlags

Build flags, see OptixBuildFlags.

 builtinISModuleType

OptixPrimitiveType OptixBuiltinISOptions::builtinISModuleType

 byteOffset

unsigned int OptixOpacityMicromapDesc::byteOffset

Byte offset to opacity micromap in data input buffer of opacity micromap array build.

 c

float OptixSRTData::c

 callables [1/2]

OptixProgramGroupCallables OptixProgramGroupDesc::callables

  [2/2]

OptixProgramGroupCallables { ... } ::callables

 callablesRecordBase

CUdeviceptr OptixShaderBindingTable::callablesRecordBase

Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 callablesRecordCount

unsigned int OptixShaderBindingTable::callablesRecordCount

Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 callablesRecordStrideInBytes

unsigned int OptixShaderBindingTable::callablesRecordStrideInBytes

Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 child [1/3]

OptixTraversableHandle OptixStaticTransform::child

The traversable transformed by this transformation.

 child [2/3]

OptixTraversableHandle OptixMatrixMotionTransform::child

The traversable that is transformed by this transformation.

 child [3/3]

OptixTraversableHandle OptixSRTMotionTransform::child

The traversable transformed by this transformation.

 computeAverageColorSizeInBytes

size_t OptixDenoiserSizes::computeAverageColorSizeInBytes

Size of scratch memory passed to optixDenoiserComputeAverageColor. The size is independent of the tile/image resolution.

 computeIntensitySizeInBytes

size_t OptixDenoiserSizes::computeIntensitySizeInBytes

Size of scratch memory passed to optixDenoiserComputeIntensity. The size is independent of the tile/image resolution.

 count [1/2]

unsigned int OptixOpacityMicromapUsageCount::count

Number of opacity micromaps with this format and subdivision level referenced by triangles in the corresponding triangle build input at AS build time.

 count [2/2]

unsigned int OptixOpacityMicromapHistogramEntry::count

Number of opacity micromaps with the format and subdivision level that are input to the opacity micromap array build.

 cssAH

unsigned int OptixStackSizes::cssAH

Continuation stack size of AH programs in bytes.

 cssCC

unsigned int OptixStackSizes::cssCC

Continuation stack size of CC programs in bytes.

 cssCH

unsigned int OptixStackSizes::cssCH

Continuation stack size of CH programs in bytes.

 cssIS

unsigned int OptixStackSizes::cssIS

Continuation stack size of IS programs in bytes.

 cssMS

unsigned int OptixStackSizes::cssMS

Continuation stack size of MS programs in bytes.

 cssRG

unsigned int OptixStackSizes::cssRG

Continuation stack size of RG programs in bytes.

  [1/2]

OptixBuildInputCurveArray { ... } ::curveArray

Curve inputs.

 curveArray [2/2]

OptixBuildInputCurveArray OptixBuildInput::curveArray

Curve inputs.

 curveEndcapFlags

unsigned int OptixBuiltinISOptions::curveEndcapFlags

End cap properties of curves, see OptixCurveEndcapFlags, 0 for non-curve types.

 curveType

OptixPrimitiveType OptixBuildInputCurveArray::curveType

Curve degree and basis.

See also
OptixPrimitiveType

  [1/2]

OptixBuildInputCustomPrimitiveArray { ... } ::customPrimitiveArray

Custom primitive inputs.

 customPrimitiveArray [2/2]

OptixBuildInputCustomPrimitiveArray OptixBuildInput::customPrimitiveArray

Custom primitive inputs.

 data

CUdeviceptr OptixImage2D::data

Pointer to the actual pixel data.

 debugLevel [1/2]

OptixCompileDebugLevel OptixModuleCompileOptions::debugLevel

Generate debug information.

 debugLevel [2/2]

OptixCompileDebugLevel OptixPipelineLinkOptions::debugLevel

Generate debug information.

 denoiseAlpha

OptixDenoiserAlphaMode OptixDenoiserParams::denoiseAlpha

alpha denoise mode

 dssDC

unsigned int OptixStackSizes::dssDC

Direct stack size of DC programs in bytes.

 endcapFlags

unsigned int OptixBuildInputCurveArray::endcapFlags

End cap flags, see OptixCurveEndcapFlags.

 entryFunctionName

const char* OptixProgramGroupSingleModule::entryFunctionName

Entry function name of the single program.

 entryFunctionNameAH

const char* OptixProgramGroupHitgroup::entryFunctionNameAH

Entry function name of the any hit (AH) program.

 entryFunctionNameCC

const char* OptixProgramGroupCallables::entryFunctionNameCC

Entry function name of the continuation callable (CC) program.

 entryFunctionNameCH

const char* OptixProgramGroupHitgroup::entryFunctionNameCH

Entry function name of the closest hit (CH) program.

 entryFunctionNameDC

const char* OptixProgramGroupCallables::entryFunctionNameDC

Entry function name of the direct callable (DC) program.

 entryFunctionNameIS

const char* OptixProgramGroupHitgroup::entryFunctionNameIS

Entry function name of the intersection (IS) program.

 exception [1/2]

OptixProgramGroupSingleModule OptixProgramGroupDesc::exception

  [2/2]

OptixProgramGroupSingleModule { ... } ::exception

 exceptionFlags

unsigned int OptixPipelineCompileOptions::exceptionFlags

A bitmask of OptixExceptionFlags indicating which exceptions are enabled.

 exceptionRecord

CUdeviceptr OptixShaderBindingTable::exceptionRecord

Device address of the SBT record of the exception program. The address must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 flag

unsigned int OptixBuildInputCurveArray::flag

Combination of OptixGeometryFlags describing the primitive behavior.

 flags [1/7]

const unsigned int* OptixBuildInputTriangleArray::flags

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

 flags [2/7]

const unsigned int* OptixBuildInputSphereArray::flags

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

 flags [3/7]

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.

 flags [4/7]

unsigned int OptixInstance::flags

Any combination of OptixInstanceFlags is allowed.

 flags [5/7]

OptixOpacityMicromapFlags OptixOpacityMicromapArrayBuildInput::flags

Applies to all opacity micromaps in array.

 flags [6/7]

unsigned short OptixMotionOptions::flags

Combinations of OptixMotionFlags.

 flags [7/7]

unsigned int OptixProgramGroupDesc::flags

 flow

OptixImage2D OptixDenoiserGuideLayer::flow

 format [1/4]

OptixOpacityMicromapFormat OptixOpacityMicromapUsageCount::format

opacity micromap format.

 format [2/4]

unsigned short OptixOpacityMicromapDesc::format

OptixOpacityMicromapFormat.

 format [3/4]

OptixOpacityMicromapFormat OptixOpacityMicromapHistogramEntry::format

opacity micromap format.

 format [4/4]

OptixPixelFormat OptixImage2D::format

Pixel format.

 guideAlbedo

unsigned int OptixDenoiserOptions::guideAlbedo

 guideNormal

unsigned int OptixDenoiserOptions::guideNormal

 hdrAverageColor

CUdeviceptr OptixDenoiserParams::hdrAverageColor

this parameter is used when the OPTIX_DENOISER_MODEL_KIND_AOV model kind is set. average log color of input image, separate for RGB channels (default null pointer). points to three floats. with the default (null pointer) denoised results will not be optimal.

 hdrIntensity

CUdeviceptr OptixDenoiserParams::hdrIntensity

average log intensity of input image (default null pointer). points to a single float. with the default (null pointer) denoised results will not be optimal for very dark or bright input images.

 height

unsigned int OptixImage2D::height

Height of the image (in pixels)

 hitgroup [1/2]

OptixProgramGroupHitgroup OptixProgramGroupDesc::hitgroup

  [2/2]

OptixProgramGroupHitgroup { ... } ::hitgroup

 hitgroupRecordBase

CUdeviceptr OptixShaderBindingTable::hitgroupRecordBase

Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 hitgroupRecordCount

unsigned int OptixShaderBindingTable::hitgroupRecordCount

Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 hitgroupRecordStrideInBytes

unsigned int OptixShaderBindingTable::hitgroupRecordStrideInBytes

Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 indexBuffer [1/3]

CUdeviceptr OptixBuildInputOpacityMicromap::indexBuffer

int16 or int32 buffer specifying which opacity micromap index to use for each triangle. Instead of an actual index, one of the predefined indices OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_(FULLY_TRANSPARENT | FULLY_OPAQUE | FULLY_UNKNOWN_TRANSPARENT | FULLY_UNKNOWN_OPAQUE) can be used to indicate that there is no opacity micromap for this particular triangle but the triangle is in a uniform state and the selected behavior is applied to the entire triangle. This buffer is required when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED. Must be zero if OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR or OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE.

 indexBuffer [2/3]

CUdeviceptr OptixBuildInputTriangleArray::indexBuffer

Optional pointer to array of 16 or 32-bit int triplets, one triplet per triangle. The minimum alignment must match the natural alignment of the type as specified in the indexFormat, i.e., for OPTIX_INDICES_FORMAT_UNSIGNED_INT3 4-byte and for OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3 a 2-byte alignment.

 indexBuffer [3/3]

CUdeviceptr OptixBuildInputCurveArray::indexBuffer

Device pointer to array of unsigned ints, one per curve segment. This buffer is required (unlike for OptixBuildInputTriangleArray). Each index is the start of degree+1 consecutive vertices in vertexBuffers, and corresponding widths in widthBuffers and normals in normalBuffers. These define a single segment. Size of array is numPrimitives.

 indexFormat

OptixIndicesFormat OptixBuildInputTriangleArray::indexFormat

 indexingMode

OptixOpacityMicromapArrayIndexingMode OptixBuildInputOpacityMicromap::indexingMode

Indexing mode of triangle to opacity micromap array mapping.

 indexOffset

unsigned int OptixBuildInputOpacityMicromap::indexOffset

Constant offset to non-negative opacity micromap indices.

 indexSizeInBytes

unsigned int OptixBuildInputOpacityMicromap::indexSizeInBytes

0, 2 or 4 (unused, 16 or 32 bit) Must be non-zero when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED.

 indexStrideInBytes [1/3]

unsigned int OptixBuildInputOpacityMicromap::indexStrideInBytes

Opacity micromap index buffer stride. If set to zero, indices are assumed to be tightly packed and stride is inferred from OptixBuildInputOpacityMicromap::indexSizeInBytes.

 indexStrideInBytes [2/3]

unsigned int OptixBuildInputTriangleArray::indexStrideInBytes

Stride between triplets of indices. If set to zero, indices are assumed to be tightly packed and stride is inferred from indexFormat.

 indexStrideInBytes [3/3]

unsigned int OptixBuildInputCurveArray::indexStrideInBytes

Stride between indices. If set to zero, indices are assumed to be tightly packed and stride is sizeof( unsigned int ).

 info

unsigned long long OptixRelocationInfo::info[4]

Opaque data, used internally, should not be modified.

 input

OptixImage2D OptixDenoiserLayer::input

 inputBuffer

CUdeviceptr OptixOpacityMicromapArrayBuildInput::inputBuffer

128B aligned base pointer for raw opacity micromap input data.

 instanceArray [1/4]

OptixBuildInputInstanceArray OptixBuildInput::instanceArray

Instance and instance pointer inputs.

  [2/4]

OptixBuildInputInstanceArray { ... } ::instanceArray

Instance and instance pointer inputs.

 instanceArray [3/4]

OptixRelocateInputInstanceArray OptixRelocateInput::instanceArray

Instance and instance pointer inputs.

  [4/4]

OptixRelocateInputInstanceArray { ... } ::instanceArray

Instance and instance pointer inputs.

 instanceId

unsigned int OptixInstance::instanceId

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

 instances

CUdeviceptr OptixBuildInputInstanceArray::instances

If OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS instances and aabbs should be interpreted as arrays of pointers instead of arrays of structs.

This pointer must be a multiple of OPTIX_INSTANCE_BYTE_ALIGNMENT if OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCES. The array elements must be a multiple of OPTIX_INSTANCE_BYTE_ALIGNMENT if OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS.

 instanceStride

unsigned int OptixBuildInputInstanceArray::instanceStride

Only valid for OPTIX_BUILD_INPUT_TYPE_INSTANCE Defines the stride between instances. A stride of 0 indicates a tight packing, i.e., stride = sizeof( OptixInstance )

 internalGuideLayerPixelSizeInBytes

size_t OptixDenoiserSizes::internalGuideLayerPixelSizeInBytes

Number of bytes for each pixel in internal guide layers.

 invTransform

float OptixStaticTransform::invTransform[12]

Affine world-to-object transformation as 3x4 matrix in row-major layout Must be the inverse of the transform matrix.

 kind

OptixProgramGroupKind OptixProgramGroupDesc::kind

The kind of program group.

 logCallbackData

void* OptixDeviceContextOptions::logCallbackData

Pointer stored and passed to logCallbackFunction when a message is generated.

 logCallbackFunction

OptixLogCallback OptixDeviceContextOptions::logCallbackFunction

Function pointer used when OptiX wishes to generate messages.

 logCallbackLevel

int OptixDeviceContextOptions::logCallbackLevel

Maximum callback level to generate message for (see OptixLogCallback)

 maxRegisterCount

int OptixModuleCompileOptions::maxRegisterCount

Maximum number of registers allowed when compiling to SASS. Set to 0 for no explicit limit. May vary within a pipeline.

 maxTraceDepth

unsigned int OptixPipelineLinkOptions::maxTraceDepth

Maximum trace recursion depth. 0 means a ray generation program can be launched, but can't trace any rays. The maximum allowed value is 31.

 maxX

float OptixAabb::maxX

Upper extent in X direction.

 maxY

float OptixAabb::maxY

Upper extent in Y direction.

 maxZ

float OptixAabb::maxZ

Upper extent in Z direction.

 micromapHistogramEntries

const OptixOpacityMicromapHistogramEntry* OptixOpacityMicromapArrayBuildInput::micromapHistogramEntries

Histogram over opacity micromaps of input format and subdivision combinations. Counts of entries with equal format and subdivision combination (duplicates) are added together.

 micromapUsageCounts

const OptixOpacityMicromapUsageCount* OptixBuildInputOpacityMicromap::micromapUsageCounts

List of number of usages of opacity micromaps of format and subdivision combinations. Counts with equal format and subdivision combination (duplicates) are added together.

 minX

float OptixAabb::minX

Lower extent in X direction.

 minY

float OptixAabb::minY

Lower extent in Y direction.

 minZ

float OptixAabb::minZ

Lower extent in Z direction.

  [1/2]

OptixProgramGroupSingleModule { ... } ::miss

 miss [2/2]

OptixProgramGroupSingleModule OptixProgramGroupDesc::miss

 missRecordBase

CUdeviceptr OptixShaderBindingTable::missRecordBase

Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 missRecordCount

unsigned int OptixShaderBindingTable::missRecordCount

Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 missRecordStrideInBytes

unsigned int OptixShaderBindingTable::missRecordStrideInBytes

Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 module

OptixModule OptixProgramGroupSingleModule::module

Module holding single program.

 moduleAH

OptixModule OptixProgramGroupHitgroup::moduleAH

Module holding the any hit (AH) program.

 moduleCC

OptixModule OptixProgramGroupCallables::moduleCC

Module holding the continuation callable (CC) program.

 moduleCH

OptixModule OptixProgramGroupHitgroup::moduleCH

Module holding the closest hit (CH) program.

 moduleDC

OptixModule OptixProgramGroupCallables::moduleDC

Module holding the direct callable (DC) program.

 moduleIS

OptixModule OptixProgramGroupHitgroup::moduleIS

Module holding the intersection (Is) program.

 motionOptions [1/3]

OptixMotionOptions OptixAccelBuildOptions::motionOptions

Options for motion.

 motionOptions [2/3]

OptixMotionOptions OptixMatrixMotionTransform::motionOptions

The motion options for this transformation. Must have at least two motion keys.

 motionOptions [3/3]

OptixMotionOptions OptixSRTMotionTransform::motionOptions

The motion options for this transformation Must have at least two motion keys.

 normal

OptixImage2D OptixDenoiserGuideLayer::normal

 normalBuffers

const CUdeviceptr* OptixBuildInputCurveArray::normalBuffers

Reserved for future use.

 normalStrideInBytes

unsigned int OptixBuildInputCurveArray::normalStrideInBytes

Reserved for future use.

 numAttributeValues

int OptixPipelineCompileOptions::numAttributeValues

How much storage, in 32b words, to make available for the attributes. The minimum number is 2. Values below that will automatically be changed to 2. [2..8].

 numBoundValues

unsigned int OptixModuleCompileOptions::numBoundValues

set to 0 if unused

 numIndexTriplets

unsigned int OptixBuildInputTriangleArray::numIndexTriplets

Size of array in OptixBuildInputTriangleArray::indexBuffer. For build, needs to be zero if indexBuffer is nullptr.

 numInstances [1/2]

unsigned int OptixBuildInputInstanceArray::numInstances

 numInstances [2/2]

unsigned int OptixRelocateInputInstanceArray::numInstances

Number of elements in OptixRelocateInputInstanceArray::traversableHandles. Must match OptixBuildInputInstanceArray::numInstances of the source build input.

 numKeys

unsigned short OptixMotionOptions::numKeys

If numKeys > 1, motion is enabled. timeBegin, timeEnd and flags are all ignored when motion is disabled.

 numMicromapHistogramEntries

unsigned int OptixOpacityMicromapArrayBuildInput::numMicromapHistogramEntries

 numMicromapUsageCounts

unsigned int OptixBuildInputOpacityMicromap::numMicromapUsageCounts

 numPayloadTypes

unsigned int OptixModuleCompileOptions::numPayloadTypes

The number of different payload types available for compilation. Must be zero if OptixPipelineCompileOptions::numPayloadValues is not zero.

 numPayloadValues [1/2]

unsigned int OptixPayloadType::numPayloadValues

The number of 32b words the payload of this type holds.

 numPayloadValues [2/2]

int OptixPipelineCompileOptions::numPayloadValues

How much storage, in 32b words, to make available for the payload, [0..32] Must be zero if numPayloadTypes is not zero.

 numPrimitives [1/2]

unsigned int OptixBuildInputCurveArray::numPrimitives

Number of primitives. Each primitive is a polynomial curve segment.

 numPrimitives [2/2]

unsigned int OptixBuildInputCustomPrimitiveArray::numPrimitives

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

 numSbtRecords [1/4]

unsigned int OptixBuildInputTriangleArray::numSbtRecords

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

 numSbtRecords [2/4]

unsigned int OptixRelocateInputTriangleArray::numSbtRecords

Number of sbt records available to the sbt index offset override. Must match OptixBuildInputTriangleArray::numSbtRecords of the source build input.

 numSbtRecords [3/4]

unsigned int OptixBuildInputSphereArray::numSbtRecords

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

 numSbtRecords [4/4]

unsigned int OptixBuildInputCustomPrimitiveArray::numSbtRecords

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

 numVertices [1/3]

unsigned int OptixBuildInputTriangleArray::numVertices

Number of vertices in each of buffer in OptixBuildInputTriangleArray::vertexBuffers.

 numVertices [2/3]

unsigned int OptixBuildInputCurveArray::numVertices

Number of vertices in each buffer in vertexBuffers.

 numVertices [3/3]

unsigned int OptixBuildInputSphereArray::numVertices

Number of vertices in each buffer in vertexBuffers.

 opacityMicromap [1/2]

OptixBuildInputOpacityMicromap OptixBuildInputTriangleArray::opacityMicromap

Optional opacity micromap inputs.

 opacityMicromap [2/2]

OptixRelocateInputOpacityMicromap OptixRelocateInputTriangleArray::opacityMicromap

Opacity micromap inputs.

 opacityMicromapArray [1/2]

CUdeviceptr OptixBuildInputOpacityMicromap::opacityMicromapArray

Device pointer to a opacity micromap array used by this build input array. This buffer is required when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR or OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED. Must be zero if OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE.

 opacityMicromapArray [2/2]

CUdeviceptr OptixRelocateInputOpacityMicromap::opacityMicromapArray

Device pointer to a reloated opacity micromap array used by the source build input array. May be zero when no micromaps where used in the source accel, or the referenced opacity micromaps don't require relocation (for example relocation of a GAS on the source device).

 operation

OptixBuildOperation OptixAccelBuildOptions::operation

If OPTIX_BUILD_OPERATION_UPDATE the output buffer is assumed to contain the result of a full build with OPTIX_BUILD_FLAG_ALLOW_UPDATE set and using the same number of primitives. It is updated incrementally to reflect the current position of the primitives. If a BLAS has been built with OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE, new opacity micromap arrays and opacity micromap indices may be provided to the refit.

 optLevel

OptixCompileOptimizationLevel OptixModuleCompileOptions::optLevel

Optimization level. May vary within a pipeline.

 output [1/2]

CUdeviceptr OptixMicromapBuffers::output

Output buffer.

 output [2/2]

OptixImage2D OptixDenoiserLayer::output

 outputInternalGuideLayer

OptixImage2D OptixDenoiserGuideLayer::outputInternalGuideLayer

 outputSizeInBytes [1/3]

size_t OptixMicromapBufferSizes::outputSizeInBytes

 outputSizeInBytes [2/3]

size_t OptixMicromapBuffers::outputSizeInBytes

Output buffer size.

 outputSizeInBytes [3/3]

size_t OptixAccelBufferSizes::outputSizeInBytes

The size in bytes required for the outputBuffer parameter to optixAccelBuild when doing a build (OPTIX_BUILD_OPERATION_BUILD).

 overlapWindowSizeInPixels

unsigned int OptixDenoiserSizes::overlapWindowSizeInPixels

Overlap on all four tile sides.

  [1/6]

char { ... } ::pad[1024]

 pad [2/6]

char OptixBuildInput::pad[1024]

 pad [3/6]

unsigned int OptixInstance::pad[2]

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

 pad [4/6]

unsigned int OptixStaticTransform::pad[2]

Padding to make the transformations 16 byte aligned.

 pad [5/6]

unsigned int OptixMatrixMotionTransform::pad[3]

Padding to make the transformation 16 byte aligned.

 pad [6/6]

unsigned int OptixSRTMotionTransform::pad[3]

Padding to make the SRT data 16 byte aligned.

 payloadSemantics

const unsigned int* OptixPayloadType::payloadSemantics

Points to host array of payload word semantics, size must match numPayloadValues.

 payloadType

OptixPayloadType* OptixProgramGroupOptions::payloadType

Specifies the payload type of this program group. All programs in the group must support the payload type (Program support for a type is specified by calling.

See also
optixSetPayloadTypes or otherwise all types specified in
OptixModuleCompileOptions are supported). If a program is not available for the requested payload type, optixProgramGroupCreate returns OPTIX_ERROR_PAYLOAD_TYPE_MISMATCH. If the payloadType is left zero, a unique type is deduced. The payload type can be uniquely deduced if there is exactly one payload type for which all programs in the group are available. If the payload type could not be deduced uniquely optixProgramGroupCreate returns OPTIX_ERROR_PAYLOAD_TYPE_RESOLUTION_FAILED.

 payloadTypes

OptixPayloadType* OptixModuleCompileOptions::payloadTypes

Points to host array of payload type definitions, size must match numPayloadTypes.

 perMicromapDescBuffer

CUdeviceptr OptixOpacityMicromapArrayBuildInput::perMicromapDescBuffer

One OptixOpacityMicromapDesc entry per opacity micromap.

 perMicromapDescStrideInBytes

unsigned int OptixOpacityMicromapArrayBuildInput::perMicromapDescStrideInBytes

Stride between OptixOpacityMicromapDescs in perOmDescBuffer. If set to zero, the opacity micromap descriptors are assumed to be tightly packed and the stride is assumed to be sizeof( OptixOpacityMicromapDesc ).

 pipelineLaunchParamsVariableName

const char* OptixPipelineCompileOptions::pipelineLaunchParamsVariableName

The name of the pipeline parameter variable. If 0, no pipeline parameter will be available. This will be ignored if the launch param variable was optimized out or was not found in the modules linked to the pipeline.

 pipelineParamOffsetInBytes

size_t OptixModuleCompileBoundValueEntry::pipelineParamOffsetInBytes

 pixelStrideInBytes

unsigned int OptixImage2D::pixelStrideInBytes

Stride between subsequent pixels of the image (in bytes). If set to 0, dense packing (no gaps) is assumed. For pixel format OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER it must be set to at least OptixDenoiserSizes::internalGuideLayerSizeInBytes.

 preTransform

CUdeviceptr OptixBuildInputTriangleArray::preTransform

Optional pointer to array of floats representing a 3x4 row major affine transformation matrix. This pointer must be a multiple of OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT.

 previousOutput

OptixImage2D OptixDenoiserLayer::previousOutput

 previousOutputInternalGuideLayer

OptixImage2D OptixDenoiserGuideLayer::previousOutputInternalGuideLayer

 primitiveIndexOffset [1/4]

unsigned int OptixBuildInputTriangleArray::primitiveIndexOffset

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

 primitiveIndexOffset [2/4]

unsigned int OptixBuildInputCurveArray::primitiveIndexOffset

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

 primitiveIndexOffset [3/4]

unsigned int OptixBuildInputSphereArray::primitiveIndexOffset

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

 primitiveIndexOffset [4/4]

unsigned int OptixBuildInputCustomPrimitiveArray::primitiveIndexOffset

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

 pvx

float OptixSRTData::pvx

 pvy

float OptixSRTData::pvy

 pvz

float OptixSRTData::pvz

 qw

float OptixSRTData::qw

 qx

float OptixSRTData::qx

 qy

float OptixSRTData::qy

 qz

float OptixSRTData::qz

 radiusBuffers

const CUdeviceptr* OptixBuildInputSphereArray::radiusBuffers

Parallel to vertexBuffers: a device pointer per motion step, each with numRadii float values, specifying the sphere radius corresponding to each vertex.

 radiusStrideInBytes

unsigned int OptixBuildInputSphereArray::radiusStrideInBytes

Stride between radii. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).

 raygen [1/2]

OptixProgramGroupSingleModule OptixProgramGroupDesc::raygen

  [2/2]

OptixProgramGroupSingleModule { ... } ::raygen

 raygenRecord

CUdeviceptr OptixShaderBindingTable::raygenRecord

Device address of the SBT record of the ray gen program to start launch at. The address must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.

 result

CUdeviceptr OptixAccelEmitDesc::result

Output buffer for the properties.

 rowStrideInBytes

unsigned int OptixImage2D::rowStrideInBytes

Stride between subsequent rows of the image (in bytes).

 sbtIndexOffsetBuffer [1/3]

CUdeviceptr OptixBuildInputTriangleArray::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.

 sbtIndexOffsetBuffer [2/3]

CUdeviceptr OptixBuildInputSphereArray::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.

 sbtIndexOffsetBuffer [3/3]

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.

 sbtIndexOffsetSizeInBytes [1/3]

unsigned int OptixBuildInputTriangleArray::sbtIndexOffsetSizeInBytes

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

 sbtIndexOffsetSizeInBytes [2/3]

unsigned int OptixBuildInputSphereArray::sbtIndexOffsetSizeInBytes

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

 sbtIndexOffsetSizeInBytes [3/3]

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).

 sbtIndexOffsetStrideInBytes [1/3]

unsigned int OptixBuildInputTriangleArray::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).

 sbtIndexOffsetStrideInBytes [2/3]

unsigned int OptixBuildInputSphereArray::sbtIndexOffsetStrideInBytes

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

 sbtIndexOffsetStrideInBytes [3/3]

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).

 sbtOffset

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.

 singleRadius

int OptixBuildInputSphereArray::singleRadius

Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in radiusBuffers equals numVertices.

 sizeInBytes

size_t OptixModuleCompileBoundValueEntry::sizeInBytes

  [1/2]

OptixBuildInputSphereArray { ... } ::sphereArray

Sphere inputs.

 sphereArray [2/2]

OptixBuildInputSphereArray OptixBuildInput::sphereArray

Sphere inputs.

 srtData

OptixSRTData OptixSRTMotionTransform::srtData[2]

The actual SRT data describing the transformation.

 stateSizeInBytes

size_t OptixDenoiserSizes::stateSizeInBytes

Size of state memory passed to optixDenoiserSetup, optixDenoiserInvoke.

 strideInBytes

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.

 subdivisionLevel [1/3]

unsigned int OptixOpacityMicromapUsageCount::subdivisionLevel

Number of micro-triangles is 4^level. Valid levels are [0, 12].

 subdivisionLevel [2/3]

unsigned short OptixOpacityMicromapDesc::subdivisionLevel

Number of micro-triangles is 4^level. Valid levels are [0, 12].

 subdivisionLevel [3/3]

unsigned int OptixOpacityMicromapHistogramEntry::subdivisionLevel

Number of micro-triangles is 4^level. Valid levels are [0, 12].

 sx

float OptixSRTData::sx

 sy

float OptixSRTData::sy

 sz

float OptixSRTData::sz

 temp

CUdeviceptr OptixMicromapBuffers::temp

Temp buffer.

 temporalModeUsePreviousLayers

unsigned int OptixDenoiserParams::temporalModeUsePreviousLayers

In temporal modes this parameter must be set to 1 if previous layers (e.g. previousOutputInternalGuideLayer) contain valid data. This is the case in the second and subsequent frames of a sequence (for example after a change of camera angle). In the first frame of such a sequence this parameter must be set to 0.

 tempSizeInBytes [1/3]

size_t OptixMicromapBufferSizes::tempSizeInBytes

 tempSizeInBytes [2/3]

size_t OptixMicromapBuffers::tempSizeInBytes

Temp buffer size.

 tempSizeInBytes [3/3]

size_t OptixAccelBufferSizes::tempSizeInBytes

The size in bytes required for the tempBuffer paramter to optixAccelBuild when doing a build (OPTIX_BUILD_OPERATION_BUILD).

 tempUpdateSizeInBytes

size_t OptixAccelBufferSizes::tempUpdateSizeInBytes

The size in bytes required for the tempBuffer parameter to optixAccelBuild when doing an update (OPTIX_BUILD_OPERATION_UPDATE). This value can be different than tempSizeInBytes used for a full build. Only non-zero if OPTIX_BUILD_FLAG_ALLOW_UPDATE flag is set in OptixAccelBuildOptions.

 timeBegin

float OptixMotionOptions::timeBegin

Point in time where motion starts. Must be lesser than timeEnd.

 timeEnd

float OptixMotionOptions::timeEnd

Point in time where motion ends. Must be greater than timeBegin.

 transform [1/3]

float OptixInstance::transform[12]

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

 transform [2/3]

float OptixStaticTransform::transform[12]

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

 transform [3/3]

float OptixMatrixMotionTransform::transform[2][12]

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

 transformFormat

OptixTransformFormat OptixBuildInputTriangleArray::transformFormat

 traversableGraphFlags

unsigned int OptixPipelineCompileOptions::traversableGraphFlags

Traversable graph bitfield. See OptixTraversableGraphFlags.

 traversableHandle

OptixTraversableHandle OptixInstance::traversableHandle

Set with an OptixTraversableHandle.

 traversableHandles

CUdeviceptr OptixRelocateInputInstanceArray::traversableHandles

These are the traversable handles of the instances (See OptixInstance::traversableHandle) These can be used when also relocating the instances. No updates to the bounds are performed. Use optixAccelBuild to update the bounds. 'traversableHandles' may be zero when the traversables are not relocated (i.e. relocation of an IAS on the source device).

  [1/4]

OptixBuildInputTriangleArray { ... } ::triangleArray

Triangle inputs.

 triangleArray [2/4]

OptixBuildInputTriangleArray OptixBuildInput::triangleArray

Triangle inputs.

  [3/4]

OptixRelocateInputTriangleArray { ... } ::triangleArray

Triangle inputs.

 triangleArray [4/4]

OptixRelocateInputTriangleArray OptixRelocateInput::triangleArray

Triangle inputs.

 tx

float OptixSRTData::tx

 ty

float OptixSRTData::ty

 type [1/3]

OptixBuildInputType OptixBuildInput::type

The type of the build input.

 type [2/3]

OptixBuildInputType OptixRelocateInput::type

The type of the build input to relocate.

 type [3/3]

OptixAccelPropertyType OptixAccelEmitDesc::type

Requested property.

 tz

float OptixSRTData::tz

 usesMotionBlur [1/2]

int OptixPipelineCompileOptions::usesMotionBlur

Boolean value indicating whether motion blur could be used.

 usesMotionBlur [2/2]

int OptixBuiltinISOptions::usesMotionBlur

Boolean value indicating whether vertex motion blur is used (but not motion transform blur).

 usesPrimitiveTypeFlags

unsigned int OptixPipelineCompileOptions::usesPrimitiveTypeFlags

Bit field enabling primitive types. See OptixPrimitiveTypeFlags. Setting to zero corresponds to enabling OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM and OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE.

 validationMode

OptixDeviceContextValidationMode OptixDeviceContextOptions::validationMode

Validation mode of context.

 vertexBuffers [1/3]

const CUdeviceptr* OptixBuildInputTriangleArray::vertexBuffers

Points to host array of device pointers, one per motion step. Host array size must match the number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 0 or 1). Each per motion key device pointer must point to an array of vertices of the triangles in the format as described by vertexFormat. The minimum alignment must match the natural alignment of the type as specified in the vertexFormat, i.e., for OPTIX_VERTEX_FORMAT_FLOATX 4-byte, for all others a 2-byte alignment. However, an 16-byte stride (and buffer alignment) is recommended for vertices of format OPTIX_VERTEX_FORMAT_FLOAT3 for GAS build performance.

 vertexBuffers [2/3]

const CUdeviceptr* OptixBuildInputCurveArray::vertexBuffers

Pointer to host array of device pointers, 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 per-motion-key device pointer must point to an array of floats (the vertices of the curves).

 vertexBuffers [3/3]

const CUdeviceptr* OptixBuildInputSphereArray::vertexBuffers

Pointer to host array of device pointers, 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 per-motion-key device pointer must point to an array of floats (the center points of the spheres).

 vertexFormat

OptixVertexFormat OptixBuildInputTriangleArray::vertexFormat

 vertexStrideInBytes [1/3]

unsigned int OptixBuildInputTriangleArray::vertexStrideInBytes

Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is inferred from vertexFormat.

 vertexStrideInBytes [2/3]

unsigned int OptixBuildInputCurveArray::vertexStrideInBytes

Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).

 vertexStrideInBytes [3/3]

unsigned int OptixBuildInputSphereArray::vertexStrideInBytes

Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).

 visibilityMask

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.

 width

unsigned int OptixImage2D::width

Width of the image (in pixels)

 widthBuffers

const CUdeviceptr* OptixBuildInputCurveArray::widthBuffers

Parallel to vertexBuffers: a device pointer per motion step, each with numVertices float values, specifying the curve width (radius) corresponding to each vertex.

 widthStrideInBytes

unsigned int OptixBuildInputCurveArray::widthStrideInBytes

Stride between widths. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).

 withoutOverlapScratchSizeInBytes

size_t OptixDenoiserSizes::withoutOverlapScratchSizeInBytes

Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. No overlap added.

 withOverlapScratchSizeInBytes

size_t OptixDenoiserSizes::withOverlapScratchSizeInBytes

Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. Overlap added to dimensions passed to optixDenoiserComputeMemoryResources.