NVIDIA OptiX 7.7 nvidia_logo_transpbg.gif Up
optix_types.h File Reference

Go to the source code of this file.

Classes

struct  OptixDeviceContextOptions
 
struct  OptixOpacityMicromapUsageCount
 
struct  OptixBuildInputOpacityMicromap
 
struct  OptixRelocateInputOpacityMicromap
 
struct  OptixDisplacementMicromapDesc
 
struct  OptixDisplacementMicromapHistogramEntry
 
struct  OptixDisplacementMicromapArrayBuildInput
 
struct  OptixDisplacementMicromapUsageCount
 
struct  OptixBuildInputDisplacementMicromap
 
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_OPACITY_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT   8ull
 
#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
 
#define OPTIX_DISPLACEMENT_MICROMAP_MAX_SUBDIVISION_LEVEL   5
 
#define OPTIX_DISPLACEMENT_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT   8ull
 
#define OPTIX_DISPLACEMENT_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT   128ull
 

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 OptixDisplacementMicromapBiasAndScaleFormat OptixDisplacementMicromapBiasAndScaleFormat
 
typedef enum OptixDisplacementMicromapDirectionFormat OptixDisplacementMicromapDirectionFormat
 
typedef enum OptixOpacityMicromapFormat OptixOpacityMicromapFormat
 
typedef enum OptixOpacityMicromapArrayIndexingMode OptixOpacityMicromapArrayIndexingMode
 
typedef struct OptixOpacityMicromapUsageCount OptixOpacityMicromapUsageCount
 
typedef struct OptixBuildInputOpacityMicromap OptixBuildInputOpacityMicromap
 
typedef struct OptixRelocateInputOpacityMicromap OptixRelocateInputOpacityMicromap
 
typedef enum OptixDisplacementMicromapFormat OptixDisplacementMicromapFormat
 
typedef enum OptixDisplacementMicromapFlags OptixDisplacementMicromapFlags
 
typedef enum OptixDisplacementMicromapTriangleFlags OptixDisplacementMicromapTriangleFlags
 
typedef struct OptixDisplacementMicromapDesc OptixDisplacementMicromapDesc
 
typedef struct OptixDisplacementMicromapHistogramEntry OptixDisplacementMicromapHistogramEntry
 
typedef struct OptixDisplacementMicromapArrayBuildInput OptixDisplacementMicromapArrayBuildInput
 
typedef struct OptixDisplacementMicromapUsageCount OptixDisplacementMicromapUsageCount
 
typedef enum OptixDisplacementMicromapArrayIndexingMode OptixDisplacementMicromapArrayIndexingMode
 
typedef struct OptixBuildInputDisplacementMicromap OptixBuildInputDisplacementMicromap
 
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 enum OptixDenoiserAOVType OptixDenoiserAOVType
 
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_INPUT = 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  OptixDisplacementMicromapBiasAndScaleFormat {
  OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_FLOAT2 = 0x2241 ,
  OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_HALF2 = 0x2242
}
 
enum  OptixDisplacementMicromapDirectionFormat {
  OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_FLOAT3 = 0x2261 ,
  OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_HALF3 = 0x2262
}
 
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  OptixDisplacementMicromapFormat {
  OPTIX_DISPLACEMENT_MICROMAP_FORMAT_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_FORMAT_64_MICRO_TRIS_64_BYTES = 1 ,
  OPTIX_DISPLACEMENT_MICROMAP_FORMAT_256_MICRO_TRIS_128_BYTES = 2 ,
  OPTIX_DISPLACEMENT_MICROMAP_FORMAT_1024_MICRO_TRIS_128_BYTES = 3
}
 
enum  OptixDisplacementMicromapFlags {
  OPTIX_DISPLACEMENT_MICROMAP_FLAG_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_TRACE = 1 << 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_BUILD = 1 << 1
}
 
enum  OptixDisplacementMicromapTriangleFlags {
  OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_01 = 1 << 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_12 = 1 << 1 ,
  OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_20 = 1 << 2
}
 
enum  OptixDisplacementMicromapArrayIndexingMode {
  OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_NONE = 0 ,
  OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_LINEAR = 1 ,
  OPTIX_DISPLACEMENT_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_FLAT_QUADRATIC_BSPLINE = 0x2505 ,
  OPTIX_PRIMITIVE_TYPE_SPHERE = 0x2506 ,
  OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BEZIER = 0x2507 ,
  OPTIX_PRIMITIVE_TYPE_TRIANGLE = 0x2531 ,
  OPTIX_PRIMITIVE_TYPE_DISPLACED_MICROMESH_TRIANGLE = 0x2532
}
 
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_FLAT_QUADRATIC_BSPLINE = 1 << 5 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_SPHERE = 1 << 6 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BEZIER = 1 << 7 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE = 1 << 31 ,
  OPTIX_PRIMITIVE_TYPE_FLAGS_DISPLACED_MICROMESH_TRIANGLE = 1 << 30
}
 
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_HALF1 = 0x220a ,
  OPTIX_PIXEL_FORMAT_HALF2 = 0x2207 ,
  OPTIX_PIXEL_FORMAT_HALF3 = 0x2201 ,
  OPTIX_PIXEL_FORMAT_HALF4 = 0x2202 ,
  OPTIX_PIXEL_FORMAT_FLOAT1 = 0x220b ,
  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  OptixDenoiserAOVType {
  OPTIX_DENOISER_AOV_TYPE_NONE = 0 ,
  OPTIX_DENOISER_AOV_TYPE_BEAUTY = 0x7000 ,
  OPTIX_DENOISER_AOV_TYPE_SPECULAR = 0x7001 ,
  OPTIX_DENOISER_AOV_TYPE_REFLECTION = 0x7002 ,
  OPTIX_DENOISER_AOV_TYPE_REFRACTION = 0x7003 ,
  OPTIX_DENOISER_AOV_TYPE_DIFFUSE = 0x7004
}
 
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 }
 

Detailed Description

OptiX public API header.

Author
NVIDIA Corporation

OptiX types include file -- defines types and enums used by the API. For the math library routines include optix_math.h