OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Enumerations
optix_prime_declarations.h File Reference

Detailed Description

OptiX Prime public API declarations.

Author
NVIDIA Corporation OptiX Prime public API declarations

Go to the source code of this file.

Enumerations

enum  RTPresult {
  RTP_SUCCESS = 0,
  RTP_ERROR_INVALID_VALUE = 1,
  RTP_ERROR_OUT_OF_MEMORY = 2,
  RTP_ERROR_INVALID_HANDLE = 3,
  RTP_ERROR_NOT_SUPPORTED = 4,
  RTP_ERROR_OBJECT_CREATION_FAILED = 5,
  RTP_ERROR_MEMORY_ALLOCATION_FAILED = 6,
  RTP_ERROR_INVALID_CONTEXT = 7,
  RTP_ERROR_VALIDATION_ERROR = 8,
  RTP_ERROR_INVALID_OPERATION = 9,
  RTP_ERROR_UNKNOWN = 999
}
 
enum  RTPcontexttype {
  RTP_CONTEXT_TYPE_CPU = 0x100,
  RTP_CONTEXT_TYPE_CUDA = 0x101
}
 
enum  RTPbuffertype {
  RTP_BUFFER_TYPE_HOST = 0x200,
  RTP_BUFFER_TYPE_CUDA_LINEAR = 0x201
}
 
enum  RTPbufferformat {
  RTP_BUFFER_FORMAT_INDICES_INT3 = 0x400,
  RTP_BUFFER_FORMAT_INDICES_INT3_MASK_INT = 0x401,
  RTP_BUFFER_FORMAT_VERTEX_FLOAT3 = 0x420,
  RTP_BUFFER_FORMAT_VERTEX_FLOAT4 = 0x421,
  RTP_BUFFER_FORMAT_RAY_ORIGIN_DIRECTION = 0x440,
  RTP_BUFFER_FORMAT_RAY_ORIGIN_TMIN_DIRECTION_TMAX = 0x441,
  RTP_BUFFER_FORMAT_RAY_ORIGIN_MASK_DIRECTION_TMAX = 0x442,
  RTP_BUFFER_FORMAT_HIT_BITMASK = 0x460,
  RTP_BUFFER_FORMAT_HIT_T = 0x461,
  RTP_BUFFER_FORMAT_HIT_T_TRIID = 0x462,
  RTP_BUFFER_FORMAT_HIT_T_TRIID_U_V = 0x463,
  RTP_BUFFER_FORMAT_HIT_T_TRIID_INSTID = 0x464,
  RTP_BUFFER_FORMAT_HIT_T_TRIID_INSTID_U_V = 0x465,
  RTP_BUFFER_FORMAT_INSTANCE_MODEL = 0x480,
  RTP_BUFFER_FORMAT_TRANSFORM_FLOAT4x4 = 0x490,
  RTP_BUFFER_FORMAT_TRANSFORM_FLOAT4x3 = 0x491
}
 
enum  RTPquerytype {
  RTP_QUERY_TYPE_ANY = 0x1000,
  RTP_QUERY_TYPE_CLOSEST = 0x1001
}
 
enum  RTPmodelhint {
  RTP_MODEL_HINT_NONE = 0x0000,
  RTP_MODEL_HINT_ASYNC = 0x2001,
  RTP_MODEL_HINT_MASK_UPDATE = 0x2002,
  RTP_MODEL_HINT_USER_TRIANGLES_AFTER_COPY_SET = 0x2004
}
 
enum  RTPqueryhint {
  RTP_QUERY_HINT_NONE = 0x0000,
  RTP_QUERY_HINT_ASYNC = 0x4001,
  RTP_QUERY_HINT_WATERTIGHT = 0x4002
}
 
enum  RTPbuilderparam {
  RTP_BUILDER_PARAM_CHUNK_SIZE = 0x800,
  RTP_BUILDER_PARAM_USE_CALLER_TRIANGLES = 0x801
}
 

Enumeration Type Documentation

Buffer formats

Enumerator
RTP_BUFFER_FORMAT_INDICES_INT3 

Index buffer with 3 integer vertex indices per triangle

RTP_BUFFER_FORMAT_INDICES_INT3_MASK_INT 

Index buffer with 3 integer vertex indices per triangle, and an integer visibility mask

RTP_BUFFER_FORMAT_VERTEX_FLOAT3 

Vertex buffer with 3 floats per vertex position

RTP_BUFFER_FORMAT_VERTEX_FLOAT4 

Vertex buffer with 4 floats per vertex position

RTP_BUFFER_FORMAT_RAY_ORIGIN_DIRECTION 

float3:origin float3:direction

RTP_BUFFER_FORMAT_RAY_ORIGIN_TMIN_DIRECTION_TMAX 

float3:origin, float:tmin, float3:direction, float:tmax

RTP_BUFFER_FORMAT_RAY_ORIGIN_MASK_DIRECTION_TMAX 

float3:origin, int:mask, float3:direction, float:tmax. If used, buffer format RTP_BUFFER_FORMAT_INDICES_INT3_MASK_INT is required!

RTP_BUFFER_FORMAT_HIT_BITMASK 

one bit per ray 0=miss, 1=hit

RTP_BUFFER_FORMAT_HIT_T 

float:ray distance (t < 0 for miss)

RTP_BUFFER_FORMAT_HIT_T_TRIID 

float:ray distance (t < 0 for miss), int:triangle id

RTP_BUFFER_FORMAT_HIT_T_TRIID_U_V 

float:ray distance (t < 0 for miss), int:triangle id, float2:barycentric coordinates u,v (w=1-u-v)

RTP_BUFFER_FORMAT_HIT_T_TRIID_INSTID 

float:ray distance (t < 0 for miss), int:triangle id, int:instance position in list

RTP_BUFFER_FORMAT_HIT_T_TRIID_INSTID_U_V 

float:ray distance (t < 0 for miss), int:triangle id, int:instance position in list, float2:barycentric coordinates u,v (w=1-u-v)

RTP_BUFFER_FORMAT_INSTANCE_MODEL 

RTPmodel:objects of type RTPmodel

RTP_BUFFER_FORMAT_TRANSFORM_FLOAT4x4 

float:row major 4x4 affine matrix (it is assumed that the last row has the entries 0.0f, 0.0f, 0.0f, 1.0f, and will be ignored)

RTP_BUFFER_FORMAT_TRANSFORM_FLOAT4x3 

float:row major 4x3 affine matrix

Buffer types

Enumerator
RTP_BUFFER_TYPE_HOST 

Buffer in host memory

RTP_BUFFER_TYPE_CUDA_LINEAR 

Linear buffer in device memory on a cuda device

Enumerator
RTP_BUILDER_PARAM_CHUNK_SIZE 

Number of bytes used for a chunk of the acceleration structure build

RTP_BUILDER_PARAM_USE_CALLER_TRIANGLES 

A hint to specify which data should be used for the intersection test

Context types

Enumerator
RTP_CONTEXT_TYPE_CPU 

CPU context

RTP_CONTEXT_TYPE_CUDA 

CUDA context

Model hints

Enumerator
RTP_MODEL_HINT_NONE 

No hints. Use default settings.

RTP_MODEL_HINT_ASYNC 

Asynchronous model updating

RTP_MODEL_HINT_MASK_UPDATE 

Upload buffer with mask data again

RTP_MODEL_HINT_USER_TRIANGLES_AFTER_COPY_SET 

Clear dirty flag of triangles.

Query hints

Enumerator
RTP_QUERY_HINT_NONE 

No hints. Use default settings.

RTP_QUERY_HINT_ASYNC 

Asynchronous query execution

RTP_QUERY_HINT_WATERTIGHT 

Use watertight ray-triangle intersection

Query types

Enumerator
RTP_QUERY_TYPE_ANY 

Return any hit along a ray

RTP_QUERY_TYPE_CLOSEST 

Return only the closest hit along a ray

enum RTPresult

Return value for OptiX Prime APIs

Enumerator
RTP_SUCCESS 

Success

RTP_ERROR_INVALID_VALUE 

An invalid value was provided

RTP_ERROR_OUT_OF_MEMORY 

Out of memory

RTP_ERROR_INVALID_HANDLE 

An invalid handle was supplied

RTP_ERROR_NOT_SUPPORTED 

An unsupported function was requested

RTP_ERROR_OBJECT_CREATION_FAILED 

Object creation failed

RTP_ERROR_MEMORY_ALLOCATION_FAILED 

Memory allocation failed

RTP_ERROR_INVALID_CONTEXT 

An invalid context was provided

RTP_ERROR_VALIDATION_ERROR 

A validation error occurred

RTP_ERROR_INVALID_OPERATION 

An invalid operation was performed

RTP_ERROR_UNKNOWN 

Unknown error