NVIDIA OptiX 6.0 API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
optix_declarations.h File Reference

Go to the source code of this file.

Enumerations

enum  RTformat {
  RT_FORMAT_UNKNOWN = 0x100,
  RT_FORMAT_FLOAT,
  RT_FORMAT_FLOAT2,
  RT_FORMAT_FLOAT3,
  RT_FORMAT_FLOAT4,
  RT_FORMAT_BYTE,
  RT_FORMAT_BYTE2,
  RT_FORMAT_BYTE3,
  RT_FORMAT_BYTE4,
  RT_FORMAT_UNSIGNED_BYTE,
  RT_FORMAT_UNSIGNED_BYTE2,
  RT_FORMAT_UNSIGNED_BYTE3,
  RT_FORMAT_UNSIGNED_BYTE4,
  RT_FORMAT_SHORT,
  RT_FORMAT_SHORT2,
  RT_FORMAT_SHORT3,
  RT_FORMAT_SHORT4,
  RT_FORMAT_UNSIGNED_SHORT,
  RT_FORMAT_UNSIGNED_SHORT2,
  RT_FORMAT_UNSIGNED_SHORT3,
  RT_FORMAT_UNSIGNED_SHORT4,
  RT_FORMAT_INT,
  RT_FORMAT_INT2,
  RT_FORMAT_INT3,
  RT_FORMAT_INT4,
  RT_FORMAT_UNSIGNED_INT,
  RT_FORMAT_UNSIGNED_INT2,
  RT_FORMAT_UNSIGNED_INT3,
  RT_FORMAT_UNSIGNED_INT4,
  RT_FORMAT_USER,
  RT_FORMAT_BUFFER_ID,
  RT_FORMAT_PROGRAM_ID,
  RT_FORMAT_HALF,
  RT_FORMAT_HALF2,
  RT_FORMAT_HALF3,
  RT_FORMAT_HALF4,
  RT_FORMAT_LONG_LONG,
  RT_FORMAT_LONG_LONG2,
  RT_FORMAT_LONG_LONG3,
  RT_FORMAT_LONG_LONG4,
  RT_FORMAT_UNSIGNED_LONG_LONG,
  RT_FORMAT_UNSIGNED_LONG_LONG2,
  RT_FORMAT_UNSIGNED_LONG_LONG3,
  RT_FORMAT_UNSIGNED_LONG_LONG4,
  RT_FORMAT_UNSIGNED_BC1,
  RT_FORMAT_UNSIGNED_BC2,
  RT_FORMAT_UNSIGNED_BC3,
  RT_FORMAT_UNSIGNED_BC4,
  RT_FORMAT_BC4,
  RT_FORMAT_UNSIGNED_BC5,
  RT_FORMAT_BC5,
  RT_FORMAT_UNSIGNED_BC6H,
  RT_FORMAT_BC6H,
  RT_FORMAT_UNSIGNED_BC7
}
 
enum  RTobjecttype {
  RT_OBJECTTYPE_UNKNOWN = 0x200,
  RT_OBJECTTYPE_GROUP,
  RT_OBJECTTYPE_GEOMETRY_GROUP,
  RT_OBJECTTYPE_TRANSFORM,
  RT_OBJECTTYPE_SELECTOR,
  RT_OBJECTTYPE_GEOMETRY_INSTANCE,
  RT_OBJECTTYPE_BUFFER,
  RT_OBJECTTYPE_TEXTURE_SAMPLER,
  RT_OBJECTTYPE_OBJECT,
  RT_OBJECTTYPE_MATRIX_FLOAT2x2,
  RT_OBJECTTYPE_MATRIX_FLOAT2x3,
  RT_OBJECTTYPE_MATRIX_FLOAT2x4,
  RT_OBJECTTYPE_MATRIX_FLOAT3x2,
  RT_OBJECTTYPE_MATRIX_FLOAT3x3,
  RT_OBJECTTYPE_MATRIX_FLOAT3x4,
  RT_OBJECTTYPE_MATRIX_FLOAT4x2,
  RT_OBJECTTYPE_MATRIX_FLOAT4x3,
  RT_OBJECTTYPE_MATRIX_FLOAT4x4,
  RT_OBJECTTYPE_FLOAT,
  RT_OBJECTTYPE_FLOAT2,
  RT_OBJECTTYPE_FLOAT3,
  RT_OBJECTTYPE_FLOAT4,
  RT_OBJECTTYPE_INT,
  RT_OBJECTTYPE_INT2,
  RT_OBJECTTYPE_INT3,
  RT_OBJECTTYPE_INT4,
  RT_OBJECTTYPE_UNSIGNED_INT,
  RT_OBJECTTYPE_UNSIGNED_INT2,
  RT_OBJECTTYPE_UNSIGNED_INT3,
  RT_OBJECTTYPE_UNSIGNED_INT4,
  RT_OBJECTTYPE_USER,
  RT_OBJECTTYPE_PROGRAM,
  RT_OBJECTTYPE_COMMANDLIST,
  RT_OBJECTTYPE_POSTPROCESSINGSTAGE,
  RT_OBJECTTYPE_LONG_LONG,
  RT_OBJECTTYPE_LONG_LONG2,
  RT_OBJECTTYPE_LONG_LONG3,
  RT_OBJECTTYPE_LONG_LONG4,
  RT_OBJECTTYPE_UNSIGNED_LONG_LONG,
  RT_OBJECTTYPE_UNSIGNED_LONG_LONG2,
  RT_OBJECTTYPE_UNSIGNED_LONG_LONG3,
  RT_OBJECTTYPE_UNSIGNED_LONG_LONG4
}
 
enum  RTwrapmode {
  RT_WRAP_REPEAT,
  RT_WRAP_CLAMP_TO_EDGE,
  RT_WRAP_MIRROR,
  RT_WRAP_CLAMP_TO_BORDER
}
 
enum  RTfiltermode {
  RT_FILTER_NEAREST,
  RT_FILTER_LINEAR,
  RT_FILTER_NONE
}
 
enum  RTtexturereadmode {
  RT_TEXTURE_READ_ELEMENT_TYPE = 0,
  RT_TEXTURE_READ_NORMALIZED_FLOAT = 1,
  RT_TEXTURE_READ_ELEMENT_TYPE_SRGB = 2,
  RT_TEXTURE_READ_NORMALIZED_FLOAT_SRGB = 3
}
 
enum  RTgltarget {
  RT_TARGET_GL_TEXTURE_2D,
  RT_TARGET_GL_TEXTURE_RECTANGLE,
  RT_TARGET_GL_TEXTURE_3D,
  RT_TARGET_GL_RENDER_BUFFER,
  RT_TARGET_GL_TEXTURE_1D,
  RT_TARGET_GL_TEXTURE_1D_ARRAY,
  RT_TARGET_GL_TEXTURE_2D_ARRAY,
  RT_TARGET_GL_TEXTURE_CUBE_MAP,
  RT_TARGET_GL_TEXTURE_CUBE_MAP_ARRAY
}
 
enum  RTtextureindexmode {
  RT_TEXTURE_INDEX_NORMALIZED_COORDINATES,
  RT_TEXTURE_INDEX_ARRAY_INDEX
}
 
enum  RTbuffertype {
  RT_BUFFER_INPUT = 0x1,
  RT_BUFFER_OUTPUT = 0x2,
  RT_BUFFER_INPUT_OUTPUT = RT_BUFFER_INPUT | RT_BUFFER_OUTPUT,
  RT_BUFFER_PROGRESSIVE_STREAM = 0x10
}
 
enum  RTbufferflag {
  RT_BUFFER_GPU_LOCAL = 0x4,
  RT_BUFFER_COPY_ON_DIRTY = 0x8,
  RT_BUFFER_DISCARD_HOST_MEMORY = 0x20,
  RT_BUFFER_LAYERED = 0x200000,
  RT_BUFFER_CUBEMAP = 0x400000
}
 
enum  RTbuffermapflag {
  RT_BUFFER_MAP_READ = 0x1,
  RT_BUFFER_MAP_READ_WRITE = 0x2,
  RT_BUFFER_MAP_WRITE = 0x4,
  RT_BUFFER_MAP_WRITE_DISCARD = 0x8
}
 
enum  RTexception {
  RT_EXCEPTION_PAYLOAD_ACCESS_OUT_OF_BOUNDS = 0x3EB,
  RT_EXCEPTION_USER_EXCEPTION_CODE_OUT_OF_BOUNDS = 0x3EC,
  RT_EXCEPTION_TRACE_DEPTH_EXCEEDED = 0x3ED,
  RT_EXCEPTION_PROGRAM_ID_INVALID = 0x3EE,
  RT_EXCEPTION_TEXTURE_ID_INVALID = 0x3EF,
  RT_EXCEPTION_BUFFER_ID_INVALID = 0x3FA,
  RT_EXCEPTION_INDEX_OUT_OF_BOUNDS = 0x3FB,
  RT_EXCEPTION_STACK_OVERFLOW = 0x3FC,
  RT_EXCEPTION_BUFFER_INDEX_OUT_OF_BOUNDS = 0x3FD,
  RT_EXCEPTION_INVALID_RAY = 0x3FE,
  RT_EXCEPTION_INTERNAL_ERROR = 0x3FF,
  RT_EXCEPTION_USER = 0x400,
  RT_EXCEPTION_USER_MAX = 0xFFFF,
  RT_EXCEPTION_ALL = 0x7FFFFFFF
}
 
enum  RTresult {
  RT_SUCCESS = 0,
  RT_TIMEOUT_CALLBACK = 0x100,
  RT_ERROR_INVALID_CONTEXT = 0x500,
  RT_ERROR_INVALID_VALUE = 0x501,
  RT_ERROR_MEMORY_ALLOCATION_FAILED = 0x502,
  RT_ERROR_TYPE_MISMATCH = 0x503,
  RT_ERROR_VARIABLE_NOT_FOUND = 0x504,
  RT_ERROR_VARIABLE_REDECLARED = 0x505,
  RT_ERROR_ILLEGAL_SYMBOL = 0x506,
  RT_ERROR_INVALID_SOURCE = 0x507,
  RT_ERROR_VERSION_MISMATCH = 0x508,
  RT_ERROR_OBJECT_CREATION_FAILED = 0x600,
  RT_ERROR_NO_DEVICE = 0x601,
  RT_ERROR_INVALID_DEVICE = 0x602,
  RT_ERROR_INVALID_IMAGE = 0x603,
  RT_ERROR_FILE_NOT_FOUND = 0x604,
  RT_ERROR_ALREADY_MAPPED = 0x605,
  RT_ERROR_INVALID_DRIVER_VERSION = 0x606,
  RT_ERROR_CONTEXT_CREATION_FAILED = 0x607,
  RT_ERROR_RESOURCE_NOT_REGISTERED = 0x608,
  RT_ERROR_RESOURCE_ALREADY_REGISTERED = 0x609,
  RT_ERROR_OPTIX_NOT_LOADED = 0x60A,
  RT_ERROR_DENOISER_NOT_LOADED = 0x60B,
  RT_ERROR_SSIM_PREDICTOR_NOT_LOADED = 0x60C,
  RT_ERROR_DRIVER_VERSION_FAILED = 0x60D,
  RT_ERROR_DATABASE_FILE_PERMISSIONS = 0x60E,
  RT_ERROR_LAUNCH_FAILED = 0x900,
  RT_ERROR_NOT_SUPPORTED = 0xA00,
  RT_ERROR_CONNECTION_FAILED = 0xB00,
  RT_ERROR_AUTHENTICATION_FAILED = 0xB01,
  RT_ERROR_CONNECTION_ALREADY_EXISTS = 0xB02,
  RT_ERROR_NETWORK_LOAD_FAILED = 0xB03,
  RT_ERROR_NETWORK_INIT_FAILED = 0xB04,
  RT_ERROR_CLUSTER_NOT_RUNNING = 0xB06,
  RT_ERROR_CLUSTER_ALREADY_RUNNING = 0xB07,
  RT_ERROR_INSUFFICIENT_FREE_NODES = 0xB08,
  RT_ERROR_INVALID_GLOBAL_ATTRIBUTE = 0xC00,
  RT_ERROR_UNKNOWN = ~0
}
 
enum  RTdeviceattribute {
  RT_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK,
  RT_DEVICE_ATTRIBUTE_CLOCK_RATE,
  RT_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT,
  RT_DEVICE_ATTRIBUTE_EXECUTION_TIMEOUT_ENABLED,
  RT_DEVICE_ATTRIBUTE_MAX_HARDWARE_TEXTURE_COUNT,
  RT_DEVICE_ATTRIBUTE_NAME,
  RT_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY,
  RT_DEVICE_ATTRIBUTE_TOTAL_MEMORY,
  RT_DEVICE_ATTRIBUTE_TCC_DRIVER,
  RT_DEVICE_ATTRIBUTE_CUDA_DEVICE_ORDINAL,
  RT_DEVICE_ATTRIBUTE_PCI_BUS_ID,
  RT_DEVICE_ATTRIBUTE_COMPATIBLE_DEVICES
}
 
enum  RTglobalattribute {
  RT_GLOBAL_ATTRIBUTE_DISPLAY_DRIVER_VERSION_MAJOR =1,
  RT_GLOBAL_ATTRIBUTE_DISPLAY_DRIVER_VERSION_MINOR,
  RT_GLOBAL_ATTRIBUTE_ENABLE_RTX = 0x10000000,
  RT_GLOBAL_ATTRIBUTE_DEVELOPER_OPTIONS
}
 
enum  RTcontextattribute {
  RT_CONTEXT_ATTRIBUTE_MAX_TEXTURE_COUNT,
  RT_CONTEXT_ATTRIBUTE_CPU_NUM_THREADS,
  RT_CONTEXT_ATTRIBUTE_USED_HOST_MEMORY,
  RT_CONTEXT_ATTRIBUTE_GPU_PAGING_ACTIVE,
  RT_CONTEXT_ATTRIBUTE_GPU_PAGING_FORCED_OFF,
  RT_CONTEXT_ATTRIBUTE_DISK_CACHE_ENABLED,
  RT_CONTEXT_ATTRIBUTE_PREFER_FAST_RECOMPILES,
  RT_CONTEXT_ATTRIBUTE_FORCE_INLINE_USER_FUNCTIONS,
  RT_CONTEXT_ATTRIBUTE_OPTIX_SALT,
  RT_CONTEXT_ATTRIBUTE_VENDOR_SALT,
  RT_CONTEXT_ATTRIBUTE_PUBLIC_VENDOR_KEY,
  RT_CONTEXT_ATTRIBUTE_DISK_CACHE_LOCATION,
  RT_CONTEXT_ATTRIBUTE_DISK_CACHE_MEMORY_LIMITS,
  RT_CONTEXT_ATTRIBUTE_AVAILABLE_DEVICE_MEMORY = 0x10000000
}
 
enum  RTbufferattribute {
  RT_BUFFER_ATTRIBUTE_STREAM_FORMAT,
  RT_BUFFER_ATTRIBUTE_STREAM_BITRATE,
  RT_BUFFER_ATTRIBUTE_STREAM_FPS,
  RT_BUFFER_ATTRIBUTE_STREAM_GAMMA
}
 
enum  RTmotionbordermode {
  RT_MOTIONBORDERMODE_CLAMP,
  RT_MOTIONBORDERMODE_VANISH
}
 
enum  RTmotionkeytype {
  RT_MOTIONKEYTYPE_NONE = 0,
  RT_MOTIONKEYTYPE_MATRIX_FLOAT12,
  RT_MOTIONKEYTYPE_SRT_FLOAT16
}
 
enum  RTgeometrybuildflags {
  RT_GEOMETRY_BUILD_FLAG_NONE = 0x00,
  RT_GEOMETRY_BUILD_FLAG_RELEASE_BUFFERS = 0x10
}
 
enum  RTgeometryflags {
  RT_GEOMETRY_FLAG_NONE = 0x00,
  RT_GEOMETRY_FLAG_DISABLE_ANYHIT = 0x01,
  RT_GEOMETRY_FLAG_NO_SPLITTING = 0x02
}
 
enum  RTinstanceflags {
  RT_INSTANCE_FLAG_NONE = 0u,
  RT_INSTANCE_FLAG_DISABLE_TRIANGLE_CULLING = 1u << 0,
  RT_INSTANCE_FLAG_FLIP_TRIANGLE_FACING = 1u << 1,
  RT_INSTANCE_FLAG_DISABLE_ANYHIT = 1u << 2,
  RT_INSTANCE_FLAG_ENFORCE_ANYHIT = 1u << 3
}
 
enum  RTbufferidnull { RT_BUFFER_ID_NULL = 0 }
 
enum  RTprogramidnull { RT_PROGRAM_ID_NULL = 0 }
 
enum  RTtextureidnull { RT_TEXTURE_ID_NULL = 0 }
 
enum  RTcommandlistidnull { RT_COMMAND_LIST_ID_NULL = 0 }
 
enum  RTpostprocessingstagenull { RT_POSTPROCESSING_STAGE_ID_NULL = 0 }
 
enum  RTrayflags { ,
  RT_RAY_FLAG_DISABLE_ANYHIT = 1u << 0,
  RT_RAY_FLAG_ENFORCE_ANYHIT = 1u << 1,
  RT_RAY_FLAG_TERMINATE_ON_FIRST_HIT = 1u << 2,
  RT_RAY_FLAG_DISABLE_CLOSESTHIT = 1u << 3,
  RT_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 1u << 4,
  RT_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 1u << 5,
  RT_RAY_FLAG_CULL_DISABLED_ANYHIT = 1u << 6,
  RT_RAY_FLAG_CULL_ENFORCED_ANYHIT = 1u << 7
}
 
enum  { RT_VISIBILITY_ALL = 0xFFu }
 

Detailed Description

OptiX public API declarations.

Author
NVIDIA Corporation OptiX public API declarations

Enumeration Type Documentation

anonymous enum
Enumerator
RT_VISIBILITY_ALL 

Default RTvisibilitymask

Buffer attributes

Enumerator
RT_BUFFER_ATTRIBUTE_STREAM_FORMAT 

Format string

RT_BUFFER_ATTRIBUTE_STREAM_BITRATE 

sizeof(int)

RT_BUFFER_ATTRIBUTE_STREAM_FPS 

sizeof(int)

RT_BUFFER_ATTRIBUTE_STREAM_GAMMA 

sizeof(float)

Buffer flags

Enumerator
RT_BUFFER_GPU_LOCAL 

An RT_BUFFER_INPUT_OUTPUT has separate copies on each device that are not synchronized

RT_BUFFER_COPY_ON_DIRTY 

A CUDA Interop buffer will only be synchronized across devices when dirtied by rtBufferMap or rtBufferMarkDirty

RT_BUFFER_DISCARD_HOST_MEMORY 

An RT_BUFFER_INPUT for which a synchronize is forced on unmapping from host and the host memory is freed

RT_BUFFER_LAYERED 

Depth specifies the number of layers, not the depth of a 3D array

RT_BUFFER_CUBEMAP 

Enables creation of cubemaps. If this flag is set, Width must be equal to Height, and Depth must be six. If the RT_BUFFER_LAYERED flag is also set, then Depth must be a multiple of six

Sentinel values

Enumerator
RT_BUFFER_ID_NULL 

sentinel for describing a non-existent buffer id

Buffer mapping flags

Enumerator
RT_BUFFER_MAP_READ 

Map buffer memory for reading

RT_BUFFER_MAP_READ_WRITE 

Map buffer memory for both reading and writing

RT_BUFFER_MAP_WRITE 

Map buffer memory for writing

RT_BUFFER_MAP_WRITE_DISCARD 

Map buffer memory for writing, with the previous contents being undefined

Buffer type

Enumerator
RT_BUFFER_INPUT 

Input buffer for the GPU

RT_BUFFER_OUTPUT 

Output buffer for the GPU

RT_BUFFER_INPUT_OUTPUT 

Ouput/Input buffer for the GPU

RT_BUFFER_PROGRESSIVE_STREAM 

Progressive stream buffer

Enumerator
RT_COMMAND_LIST_ID_NULL 

sentinel for describing a non-existent command list id

Context attributes

Enumerator
RT_CONTEXT_ATTRIBUTE_MAX_TEXTURE_COUNT 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_CPU_NUM_THREADS 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_USED_HOST_MEMORY 

sizeof(RTsize)

RT_CONTEXT_ATTRIBUTE_GPU_PAGING_ACTIVE 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_GPU_PAGING_FORCED_OFF 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_DISK_CACHE_ENABLED 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_PREFER_FAST_RECOMPILES 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_FORCE_INLINE_USER_FUNCTIONS 

sizeof(int)

RT_CONTEXT_ATTRIBUTE_OPTIX_SALT 

32

RT_CONTEXT_ATTRIBUTE_VENDOR_SALT 

32

RT_CONTEXT_ATTRIBUTE_PUBLIC_VENDOR_KEY 

variable

RT_CONTEXT_ATTRIBUTE_DISK_CACHE_LOCATION 

sizeof(char*)

RT_CONTEXT_ATTRIBUTE_DISK_CACHE_MEMORY_LIMITS 

sizeof(RTsize[2])

RT_CONTEXT_ATTRIBUTE_AVAILABLE_DEVICE_MEMORY 

sizeof(RTsize)

Device attributes

Enumerator
RT_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK 

Max Threads per Block sizeof(int)

RT_DEVICE_ATTRIBUTE_CLOCK_RATE 

Clock rate sizeof(int)

RT_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT 

Multiprocessor count sizeof(int)

RT_DEVICE_ATTRIBUTE_EXECUTION_TIMEOUT_ENABLED 

Execution timeout enabled sizeof(int)

RT_DEVICE_ATTRIBUTE_MAX_HARDWARE_TEXTURE_COUNT 

Hardware Texture count sizeof(int)

RT_DEVICE_ATTRIBUTE_NAME 

Attribute Name

RT_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY 

Compute Capabilities sizeof(int2)

RT_DEVICE_ATTRIBUTE_TOTAL_MEMORY 

Total Memory sizeof(RTsize)

RT_DEVICE_ATTRIBUTE_TCC_DRIVER 

TCC driver sizeof(int)

RT_DEVICE_ATTRIBUTE_CUDA_DEVICE_ORDINAL 

CUDA device ordinal sizeof(int)

RT_DEVICE_ATTRIBUTE_PCI_BUS_ID 

PCI Bus Id

RT_DEVICE_ATTRIBUTE_COMPATIBLE_DEVICES 

Ordinals of compatible devices sizeof(int=N) + N*sizeof(int)

Exceptions

See also rtContextSetExceptionEnabled, rtContextGetExceptionEnabled, rtGetExceptionCode, rtThrow, rtPrintf

Enumerator
RT_EXCEPTION_PAYLOAD_ACCESS_OUT_OF_BOUNDS 

Payload access out of bounds - Added in OptiX 6.0

RT_EXCEPTION_USER_EXCEPTION_CODE_OUT_OF_BOUNDS 

Exception code of user exception out of bounds - Added in OptiX 6.0

RT_EXCEPTION_TRACE_DEPTH_EXCEEDED 

Trace depth exceeded - Added in Optix 6.0

RT_EXCEPTION_PROGRAM_ID_INVALID 

Program ID not valid

RT_EXCEPTION_TEXTURE_ID_INVALID 

Texture ID not valid

RT_EXCEPTION_BUFFER_ID_INVALID 

Buffer ID not valid

RT_EXCEPTION_INDEX_OUT_OF_BOUNDS 

Index out of bounds

RT_EXCEPTION_STACK_OVERFLOW 

Stack overflow

RT_EXCEPTION_BUFFER_INDEX_OUT_OF_BOUNDS 

Buffer index out of bounds

RT_EXCEPTION_INVALID_RAY 

Invalid ray

RT_EXCEPTION_INTERNAL_ERROR 

Internal error

RT_EXCEPTION_USER 

First user exception code

RT_EXCEPTION_USER_MAX 

Last user exception code

RT_EXCEPTION_ALL 

All exceptions

Filter mode

Enumerator
RT_FILTER_NEAREST 

Nearest

RT_FILTER_LINEAR 

Linear

RT_FILTER_NONE 

No filter

enum RTformat

OptiX formats

Enumerator
RT_FORMAT_UNKNOWN 

Format unknown

RT_FORMAT_FLOAT 

Float

RT_FORMAT_FLOAT2 

sizeof(float)*2

RT_FORMAT_FLOAT3 

sizeof(float)*3

RT_FORMAT_FLOAT4 

sizeof(float)*4

RT_FORMAT_BYTE 

BYTE

RT_FORMAT_BYTE2 

sizeof(CHAR)*2

RT_FORMAT_BYTE3 

sizeof(CHAR)*3

RT_FORMAT_BYTE4 

sizeof(CHAR)*4

RT_FORMAT_UNSIGNED_BYTE 

UCHAR

RT_FORMAT_UNSIGNED_BYTE2 

sizeof(UCHAR)*2

RT_FORMAT_UNSIGNED_BYTE3 

sizeof(UCHAR)*3

RT_FORMAT_UNSIGNED_BYTE4 

sizeof(UCHAR)*4

RT_FORMAT_SHORT 

SHORT

RT_FORMAT_SHORT2 

sizeof(SHORT)*2

RT_FORMAT_SHORT3 

sizeof(SHORT)*3

RT_FORMAT_SHORT4 

sizeof(SHORT)*4

RT_FORMAT_UNSIGNED_SHORT 

USHORT

RT_FORMAT_UNSIGNED_SHORT2 

sizeof(USHORT)*2

RT_FORMAT_UNSIGNED_SHORT3 

sizeof(USHORT)*3

RT_FORMAT_UNSIGNED_SHORT4 

sizeof(USHORT)*4

RT_FORMAT_INT 

INT

RT_FORMAT_INT2 

sizeof(INT)*2

RT_FORMAT_INT3 

sizeof(INT)*3

RT_FORMAT_INT4 

sizeof(INT)*4

RT_FORMAT_UNSIGNED_INT 

sizeof(UINT)

RT_FORMAT_UNSIGNED_INT2 

sizeof(UINT)*2

RT_FORMAT_UNSIGNED_INT3 

sizeof(UINT)*3

RT_FORMAT_UNSIGNED_INT4 

sizeof(UINT)*4

RT_FORMAT_USER 

User Format

RT_FORMAT_BUFFER_ID 

Buffer Id

RT_FORMAT_PROGRAM_ID 

Program Id

RT_FORMAT_HALF 

half float

RT_FORMAT_HALF2 

sizeof(half float)*2

RT_FORMAT_HALF3 

sizeof(half float)*3

RT_FORMAT_HALF4 

sizeof(half float)*4

RT_FORMAT_LONG_LONG 

LONG_LONG

RT_FORMAT_LONG_LONG2 

sizeof(LONG_LONG)*2

RT_FORMAT_LONG_LONG3 

sizeof(LONG_LONG)*3

RT_FORMAT_LONG_LONG4 

sizeof(LONG_LONG)*4

RT_FORMAT_UNSIGNED_LONG_LONG 

sizeof(ULONG_LONG)

RT_FORMAT_UNSIGNED_LONG_LONG2 

sizeof(ULONG_LONG)*2

RT_FORMAT_UNSIGNED_LONG_LONG3 

sizeof(ULONG_LONG)*3

RT_FORMAT_UNSIGNED_LONG_LONG4 

sizeof(ULONG_LONG)*4

RT_FORMAT_UNSIGNED_BC1 

Block Compressed RGB + optional 1-bit alpha BC1, sizeof(UINT)*2

RT_FORMAT_UNSIGNED_BC2 

Block Compressed RGB + 4-bit alpha BC2, sizeof(UINT)*4

RT_FORMAT_UNSIGNED_BC3 

Block Compressed RGBA BC3, sizeof(UINT)*4

RT_FORMAT_UNSIGNED_BC4 

Block Compressed unsigned grayscale BC4, sizeof(UINT)*2

RT_FORMAT_BC4 

Block Compressed signed grayscale BC4, sizeof(UINT)*2

RT_FORMAT_UNSIGNED_BC5 

Block Compressed unsigned 2 x grayscale BC5, sizeof(UINT)*4

RT_FORMAT_BC5 

Block compressed signed 2 x grayscale BC5, sizeof(UINT)*4

RT_FORMAT_UNSIGNED_BC6H 

Block compressed BC6 unsigned half-float, sizeof(UINT)*4

RT_FORMAT_BC6H 

Block compressed BC6 signed half-float, sizeof(UINT)*4

RT_FORMAT_UNSIGNED_BC7 

Block compressed BC7, sizeof(UINT)*4

GeometryX build flags

Enumerator
RT_GEOMETRY_BUILD_FLAG_NONE 

No special flags set

RT_GEOMETRY_BUILD_FLAG_RELEASE_BUFFERS 

User buffers are released after consumption by acceleration structure build

Material-dependent flags set on Geometry/GeometryTriangles

Enumerator
RT_GEOMETRY_FLAG_NONE 

No special flags set

RT_GEOMETRY_FLAG_DISABLE_ANYHIT 

Opaque flag, any hit program will be skipped

RT_GEOMETRY_FLAG_NO_SPLITTING 

Disable primitive splitting to avoid potential duplicate any hit program execution for a single intersection

Global attributes

Enumerator
RT_GLOBAL_ATTRIBUTE_DISPLAY_DRIVER_VERSION_MAJOR 

sizeof(int)

RT_GLOBAL_ATTRIBUTE_DISPLAY_DRIVER_VERSION_MINOR 

sizeof(int)

RT_GLOBAL_ATTRIBUTE_ENABLE_RTX 

sizeof(int)

RT_GLOBAL_ATTRIBUTE_DEVELOPER_OPTIONS 

Knobs string

enum RTgltarget

GL Target

Enumerator
RT_TARGET_GL_TEXTURE_2D 

GL texture 2D

RT_TARGET_GL_TEXTURE_RECTANGLE 

GL texture rectangle

RT_TARGET_GL_TEXTURE_3D 

GL texture 3D

RT_TARGET_GL_RENDER_BUFFER 

GL render buffer

RT_TARGET_GL_TEXTURE_1D 

GL texture 1D

RT_TARGET_GL_TEXTURE_1D_ARRAY 

GL array of 1D textures

RT_TARGET_GL_TEXTURE_2D_ARRAY 

GL array of 2D textures

RT_TARGET_GL_TEXTURE_CUBE_MAP 

GL cube map texture

RT_TARGET_GL_TEXTURE_CUBE_MAP_ARRAY 

GL array of cube maps

Instance flags which override the behavior of geometry.

Enumerator
RT_INSTANCE_FLAG_NONE 

No special flag set

RT_INSTANCE_FLAG_DISABLE_TRIANGLE_CULLING 

Prevent triangles from getting culled

RT_INSTANCE_FLAG_FLIP_TRIANGLE_FACING 

Flip triangle orientation. This affects front/backface culling.

RT_INSTANCE_FLAG_DISABLE_ANYHIT 

Disable any-hit programs. This may yield significantly higher performance even in cases where no any-hit programs are set.

RT_INSTANCE_FLAG_ENFORCE_ANYHIT 

Override RT_GEOMETRY_FLAG_DISABLE_ANYHIT

Motion border modes

Enumerator
RT_MOTIONBORDERMODE_CLAMP 

Clamp outside of bounds

RT_MOTIONBORDERMODE_VANISH 

Vanish outside of bounds

Motion key type

Enumerator
RT_MOTIONKEYTYPE_NONE 

No motion keys set

RT_MOTIONKEYTYPE_MATRIX_FLOAT12 

Affine matrix format - 12 floats

RT_MOTIONKEYTYPE_SRT_FLOAT16 

SRT format - 16 floats

OptiX Object Types

Enumerator
RT_OBJECTTYPE_UNKNOWN 

Object Type Unknown

RT_OBJECTTYPE_GROUP 

Group Type

RT_OBJECTTYPE_GEOMETRY_GROUP 

Geometry Group Type

RT_OBJECTTYPE_TRANSFORM 

Transform Type

RT_OBJECTTYPE_SELECTOR 

Selector Type

RT_OBJECTTYPE_GEOMETRY_INSTANCE 

Geometry Instance Type

RT_OBJECTTYPE_BUFFER 

Buffer Type

RT_OBJECTTYPE_TEXTURE_SAMPLER 

Texture Sampler Type

RT_OBJECTTYPE_OBJECT 

Object Type

RT_OBJECTTYPE_MATRIX_FLOAT2x2 

Matrix Float 2x2

RT_OBJECTTYPE_MATRIX_FLOAT2x3 

Matrix Float 2x3

RT_OBJECTTYPE_MATRIX_FLOAT2x4 

Matrix Float 2x4

RT_OBJECTTYPE_MATRIX_FLOAT3x2 

Matrix Float 3x2

RT_OBJECTTYPE_MATRIX_FLOAT3x3 

Matrix Float 3x3

RT_OBJECTTYPE_MATRIX_FLOAT3x4 

Matrix Float 3x4

RT_OBJECTTYPE_MATRIX_FLOAT4x2 

Matrix Float 4x2

RT_OBJECTTYPE_MATRIX_FLOAT4x3 

Matrix Float 4x3

RT_OBJECTTYPE_MATRIX_FLOAT4x4 

Matrix Float 4x4

RT_OBJECTTYPE_FLOAT 

Float Type

RT_OBJECTTYPE_FLOAT2 

Float2 Type

RT_OBJECTTYPE_FLOAT3 

Float3 Type

RT_OBJECTTYPE_FLOAT4 

Float4 Type

RT_OBJECTTYPE_INT 

32 Bit Integer Type

RT_OBJECTTYPE_INT2 

32 Bit Integer2 Type

RT_OBJECTTYPE_INT3 

32 Bit Integer3 Type

RT_OBJECTTYPE_INT4 

32 Bit Integer4 Type

RT_OBJECTTYPE_UNSIGNED_INT 

32 Bit Unsigned Integer Type

RT_OBJECTTYPE_UNSIGNED_INT2 

32 Bit Unsigned Integer2 Type

RT_OBJECTTYPE_UNSIGNED_INT3 

32 Bit Unsigned Integer3 Type

RT_OBJECTTYPE_UNSIGNED_INT4 

32 Bit Unsigned Integer4 Type

RT_OBJECTTYPE_USER 

User Object Type

RT_OBJECTTYPE_PROGRAM 

Object Type Program - Added in OptiX 3.0

RT_OBJECTTYPE_COMMANDLIST 

Object Type Command List - Added in OptiX 5.0

RT_OBJECTTYPE_POSTPROCESSINGSTAGE 

Object Type Postprocessing Stage - Added in OptiX 5.0

RT_OBJECTTYPE_LONG_LONG 

64 Bit Integer Type - Added in Optix 6.0

RT_OBJECTTYPE_LONG_LONG2 

64 Bit Integer2 Type - Added in Optix 6.0

RT_OBJECTTYPE_LONG_LONG3 

64 Bit Integer3 Type - Added in Optix 6.0

RT_OBJECTTYPE_LONG_LONG4 

64 Bit Integer4 Type - Added in Optix 6.0

RT_OBJECTTYPE_UNSIGNED_LONG_LONG 

64 Bit Unsigned Integer Type - Added in Optix 6.0

RT_OBJECTTYPE_UNSIGNED_LONG_LONG2 

64 Bit Unsigned Integer2 Type - Added in Optix 6.0

RT_OBJECTTYPE_UNSIGNED_LONG_LONG3 

64 Bit Unsigned Integer3 Type - Added in Optix 6.0

RT_OBJECTTYPE_UNSIGNED_LONG_LONG4 

64 Bit Unsigned Integer4 Type - Added in Optix 6.0

Enumerator
RT_POSTPROCESSING_STAGE_ID_NULL 

sentinel for describing a non-existent post-processing stage id

Enumerator
RT_PROGRAM_ID_NULL 

sentinel for describing a non-existent program id

enum RTrayflags

Ray flags

Enumerator
RT_RAY_FLAG_DISABLE_ANYHIT 

Disables any-hit programs for the ray.

RT_RAY_FLAG_ENFORCE_ANYHIT 

Forces any-hit program execution for the ray.

RT_RAY_FLAG_TERMINATE_ON_FIRST_HIT 

Terminates the ray after the first hit.

RT_RAY_FLAG_DISABLE_CLOSESTHIT 

Disables closest-hit programs for the ray.

RT_RAY_FLAG_CULL_BACK_FACING_TRIANGLES 

Do not intersect triangle back faces.

RT_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES 

Do not intersect triangle front faces.

RT_RAY_FLAG_CULL_DISABLED_ANYHIT 

Do not intersect geometry which disables any-hit programs.

RT_RAY_FLAG_CULL_ENFORCED_ANYHIT 

Do not intersect geometry which enforces any-hit programs.

enum RTresult

Result

Enumerator
RT_SUCCESS 

Success

RT_TIMEOUT_CALLBACK 

Timeout callback

RT_ERROR_INVALID_CONTEXT 

Invalid Context

RT_ERROR_INVALID_VALUE 

Invalid Value

RT_ERROR_MEMORY_ALLOCATION_FAILED 

Timeout callback

RT_ERROR_TYPE_MISMATCH 

Type Mismatch

RT_ERROR_VARIABLE_NOT_FOUND 

Variable not found

RT_ERROR_VARIABLE_REDECLARED 

Variable redeclared

RT_ERROR_ILLEGAL_SYMBOL 

Illegal symbol

RT_ERROR_INVALID_SOURCE 

Invalid source

RT_ERROR_VERSION_MISMATCH 

Version mismatch

RT_ERROR_OBJECT_CREATION_FAILED 

Object creation failed

RT_ERROR_NO_DEVICE 

No device

RT_ERROR_INVALID_DEVICE 

Invalid device

RT_ERROR_INVALID_IMAGE 

Invalid image

RT_ERROR_FILE_NOT_FOUND 

File not found

RT_ERROR_ALREADY_MAPPED 

Already mapped

RT_ERROR_INVALID_DRIVER_VERSION 

Invalid driver version

RT_ERROR_CONTEXT_CREATION_FAILED 

Context creation failed

RT_ERROR_RESOURCE_NOT_REGISTERED 

Resource not registered

RT_ERROR_RESOURCE_ALREADY_REGISTERED 

Resource already registered

RT_ERROR_OPTIX_NOT_LOADED 

OptiX DLL failed to load

RT_ERROR_DENOISER_NOT_LOADED 

Denoiser DLL failed to load

RT_ERROR_SSIM_PREDICTOR_NOT_LOADED 

SSIM predictor DLL failed to load

RT_ERROR_DRIVER_VERSION_FAILED 

Driver version retrieval failed

RT_ERROR_DATABASE_FILE_PERMISSIONS 

No write permission on disk cache file

RT_ERROR_LAUNCH_FAILED 

Launch failed

RT_ERROR_NOT_SUPPORTED 

Not supported

RT_ERROR_CONNECTION_FAILED 

Connection failed

RT_ERROR_AUTHENTICATION_FAILED 

Authentication failed

RT_ERROR_CONNECTION_ALREADY_EXISTS 

Connection already exists

RT_ERROR_NETWORK_LOAD_FAILED 

Network component failed to load

RT_ERROR_NETWORK_INIT_FAILED 

Network initialization failed

RT_ERROR_CLUSTER_NOT_RUNNING 

No cluster is running

RT_ERROR_CLUSTER_ALREADY_RUNNING 

Cluster is already running

RT_ERROR_INSUFFICIENT_FREE_NODES 

Not enough free nodes

RT_ERROR_INVALID_GLOBAL_ATTRIBUTE 

Invalid global attribute

RT_ERROR_UNKNOWN 

Error unknown

Enumerator
RT_TEXTURE_ID_NULL 

sentinel for describing a non-existent texture id

Texture index mode

Enumerator
RT_TEXTURE_INDEX_NORMALIZED_COORDINATES 

Texture Index normalized coordinates

RT_TEXTURE_INDEX_ARRAY_INDEX 

Texture Index Array

Texture read mode

Enumerator
RT_TEXTURE_READ_ELEMENT_TYPE 

Read element type

RT_TEXTURE_READ_NORMALIZED_FLOAT 

Read normalized float

RT_TEXTURE_READ_ELEMENT_TYPE_SRGB 

Read element type and apply sRGB to linear conversion during texture read for 8-bit integer buffer formats

RT_TEXTURE_READ_NORMALIZED_FLOAT_SRGB 

Read normalized float and apply sRGB to linear conversion during texture read for 8-bit integer buffer formats

enum RTwrapmode

Wrap mode

Enumerator
RT_WRAP_REPEAT 

Wrap repeat

RT_WRAP_CLAMP_TO_EDGE 

Clamp to edge

RT_WRAP_MIRROR 

Mirror

RT_WRAP_CLAMP_TO_BORDER 

Clamp to border