NVIDIA OptiX 7.2 API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Device API

Functions

static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2, unsigned int &p3)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2, unsigned int &p3, unsigned int &p4)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2, unsigned int &p3, unsigned int &p4, unsigned int &p5)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2, unsigned int &p3, unsigned int &p4, unsigned int &p5, unsigned int &p6)
 
static __forceinline__
__device__ void 
optixTrace (OptixTraversableHandle handle, float3 rayOrigin, float3 rayDirection, float tmin, float tmax, float rayTime, OptixVisibilityMask visibilityMask, unsigned int rayFlags, unsigned int SBToffset, unsigned int SBTstride, unsigned int missSBTIndex, unsigned int &p0, unsigned int &p1, unsigned int &p2, unsigned int &p3, unsigned int &p4, unsigned int &p5, unsigned int &p6, unsigned int &p7)
 
static __forceinline__
__device__ void 
optixSetPayload_0 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_1 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_2 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_3 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_4 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_5 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_6 (unsigned int p)
 
static __forceinline__
__device__ void 
optixSetPayload_7 (unsigned int p)
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_0 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_1 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_2 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_3 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_4 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_5 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_6 ()
 
static __forceinline__
__device__ unsigned int 
optixGetPayload_7 ()
 
static __forceinline__
__device__ unsigned int 
optixUndefinedValue ()
 
static __forceinline__
__device__ float3 
optixGetWorldRayOrigin ()
 
static __forceinline__
__device__ float3 
optixGetWorldRayDirection ()
 
static __forceinline__
__device__ float3 
optixGetObjectRayOrigin ()
 
static __forceinline__
__device__ float3 
optixGetObjectRayDirection ()
 
static __forceinline__
__device__ float 
optixGetRayTmin ()
 
static __forceinline__
__device__ float 
optixGetRayTmax ()
 
static __forceinline__
__device__ float 
optixGetRayTime ()
 
static __forceinline__
__device__ unsigned int 
optixGetRayFlags ()
 
static __forceinline__
__device__ unsigned int 
optixGetRayVisibilityMask ()
 
static __forceinline__
__device__ void 
optixGetTriangleVertexData (OptixTraversableHandle gas, unsigned int primIdx, unsigned int sbtGASIndex, float time, float3 data[3])
 
static __forceinline__
__device__ void 
optixGetLinearCurveVertexData (OptixTraversableHandle gas, unsigned int primIdx, unsigned int sbtGASIndex, float time, float4 data[2])
 
static __forceinline__
__device__ void 
optixGetQuadraticBSplineVertexData (OptixTraversableHandle gas, unsigned int primIdx, unsigned int sbtGASIndex, float time, float4 data[3])
 
static __forceinline__
__device__ void 
optixGetCubicBSplineVertexData (OptixTraversableHandle gas, unsigned int primIdx, unsigned int sbtGASIndex, float time, float4 data[4])
 
static __forceinline__
__device__
OptixTraversableHandle 
optixGetGASTraversableHandle ()
 
static __forceinline__
__device__ float 
optixGetGASMotionTimeBegin (OptixTraversableHandle gas)
 
static __forceinline__
__device__ float 
optixGetGASMotionTimeEnd (OptixTraversableHandle gas)
 
static __forceinline__
__device__ unsigned int 
optixGetGASMotionStepCount (OptixTraversableHandle gas)
 
static __forceinline__
__device__ void 
optixGetWorldToObjectTransformMatrix (float m[12])
 
static __forceinline__
__device__ void 
optixGetObjectToWorldTransformMatrix (float m[12])
 
static __forceinline__
__device__ float3 
optixTransformPointFromWorldToObjectSpace (float3 point)
 
static __forceinline__
__device__ float3 
optixTransformVectorFromWorldToObjectSpace (float3 vec)
 
static __forceinline__
__device__ float3 
optixTransformNormalFromWorldToObjectSpace (float3 normal)
 
static __forceinline__
__device__ float3 
optixTransformPointFromObjectToWorldSpace (float3 point)
 
static __forceinline__
__device__ float3 
optixTransformVectorFromObjectToWorldSpace (float3 vec)
 
static __forceinline__
__device__ float3 
optixTransformNormalFromObjectToWorldSpace (float3 normal)
 
static __forceinline__
__device__ unsigned int 
optixGetTransformListSize ()
 
static __forceinline__
__device__
OptixTraversableHandle 
optixGetTransformListHandle (unsigned int index)
 
static __forceinline__
__device__ OptixTransformType 
optixGetTransformTypeFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ const
OptixStaticTransform
optixGetStaticTransformFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ const
OptixSRTMotionTransform
optixGetSRTMotionTransformFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ const
OptixMatrixMotionTransform
optixGetMatrixMotionTransformFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ unsigned int 
optixGetInstanceIdFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ const float4 * 
optixGetInstanceTransformFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ const float4 * 
optixGetInstanceInverseTransformFromHandle (OptixTraversableHandle handle)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int a4)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int a4, unsigned int a5)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int a4, unsigned int a5, unsigned int a6)
 
static __forceinline__
__device__ bool 
optixReportIntersection (float hitT, unsigned int hitKind, unsigned int a0, unsigned int a1, unsigned int a2, unsigned int a3, unsigned int a4, unsigned int a5, unsigned int a6, unsigned int a7)
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_0 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_1 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_2 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_3 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_4 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_5 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_6 ()
 
static __forceinline__
__device__ unsigned int 
optixGetAttribute_7 ()
 
static __forceinline__
__device__ void 
optixTerminateRay ()
 
static __forceinline__
__device__ void 
optixIgnoreIntersection ()
 
static __forceinline__
__device__ unsigned int 
optixGetPrimitiveIndex ()
 
static __forceinline__
__device__ unsigned int 
optixGetSbtGASIndex ()
 
static __forceinline__
__device__ unsigned int 
optixGetInstanceId ()
 
static __forceinline__
__device__ unsigned int 
optixGetInstanceIndex ()
 
static __forceinline__
__device__ unsigned int 
optixGetHitKind ()
 
static __forceinline__
__device__ OptixPrimitiveType 
optixGetPrimitiveType (unsigned int hitKind)
 
static __forceinline__
__device__ bool 
optixIsFrontFaceHit (unsigned int hitKind)
 
static __forceinline__
__device__ bool 
optixIsBackFaceHit (unsigned int hitKind)
 
static __forceinline__
__device__ OptixPrimitiveType 
optixGetPrimitiveType ()
 
static __forceinline__
__device__ bool 
optixIsFrontFaceHit ()
 
static __forceinline__
__device__ bool 
optixIsBackFaceHit ()
 
static __forceinline__
__device__ bool 
optixIsTriangleHit ()
 
static __forceinline__
__device__ bool 
optixIsTriangleFrontFaceHit ()
 
static __forceinline__
__device__ bool 
optixIsTriangleBackFaceHit ()
 
static __forceinline__
__device__ float2 
optixGetTriangleBarycentrics ()
 
static __forceinline__
__device__ float 
optixGetCurveParameter ()
 
static __forceinline__
__device__ uint3 
optixGetLaunchIndex ()
 
static __forceinline__
__device__ uint3 
optixGetLaunchDimensions ()
 
static __forceinline__
__device__ CUdeviceptr 
optixGetSbtDataPointer ()
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2, unsigned int exceptionDetail3)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2, unsigned int exceptionDetail3, unsigned int exceptionDetail4)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2, unsigned int exceptionDetail3, unsigned int exceptionDetail4, unsigned int exceptionDetail5)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2, unsigned int exceptionDetail3, unsigned int exceptionDetail4, unsigned int exceptionDetail5, unsigned int exceptionDetail6)
 
static __forceinline__
__device__ void 
optixThrowException (int exceptionCode, unsigned int exceptionDetail0, unsigned int exceptionDetail1, unsigned int exceptionDetail2, unsigned int exceptionDetail3, unsigned int exceptionDetail4, unsigned int exceptionDetail5, unsigned int exceptionDetail6, unsigned int exceptionDetail7)
 
static __forceinline__
__device__ int 
optixGetExceptionCode ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_0 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_1 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_2 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_3 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_4 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_5 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_6 ()
 
static __forceinline__
__device__ unsigned int 
optixGetExceptionDetail_7 ()
 
static __forceinline__
__device__
OptixTraversableHandle 
optixGetExceptionInvalidTraversable ()
 
static __forceinline__
__device__ int 
optixGetExceptionInvalidSbtOffset ()
 
static __forceinline__
__device__
OptixInvalidRayExceptionDetails 
optixGetExceptionInvalidRay ()
 
static __forceinline__
__device__
OptixParameterMismatchExceptionDetails 
optixGetExceptionParameterMismatch ()
 
static __forceinline__
__device__ char * 
optixGetExceptionLineInfo ()
 
template<typename ReturnT , typename... ArgTypes>
static __forceinline__
__device__ ReturnT 
optixDirectCall (unsigned int sbtIndex, ArgTypes...args)
 
template<typename ReturnT , typename... ArgTypes>
static __forceinline__
__device__ ReturnT 
optixContinuationCall (unsigned int sbtIndex, ArgTypes...args)
 

Detailed Description

OptiX Device API.

Function Documentation

template<typename ReturnT , typename... ArgTypes>
static __forceinline__ __device__ ReturnT optixContinuationCall ( unsigned int  sbtIndex,
ArgTypes...  args 
)
static

Creates a call to the continuation callable program at the specified SBT entry.

This will call the program that was specified in the OptixProgramGroupCallables::entryFunctionNameCC in the module specified by OptixProgramGroupCallables::moduleCC. The address of the SBT entry is calculated by OptixShaderBindingTable::callablesRecordBase + ( OptixShaderBindingTable::callablesRecordStrideInBytes * sbtIndex ). As opposed to direct callable programs, continuation callable programs are allowed to call optixTrace recursively.

Behavior is undefined if there is no continuation callable program at the specified SBT entry.

Behavior is undefined if the number of arguments that are being passed in does not match the number of parameters expected by the program that is called. In that case an exception of type OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH will be thrown if OPTIX_EXCEPTION_FLAG_DEBUG was specified for the OptixPipelineCompileOptions::exceptionFlags.

Parameters
[in]sbtIndexThe offset of the SBT entry of the continuation callable program to call relative to OptixShaderBindingTable::callablesRecordBase.
[in]argsThe arguments to pass to the continuation callable program.
template<typename ReturnT , typename... ArgTypes>
static __forceinline__ __device__ ReturnT optixDirectCall ( unsigned int  sbtIndex,
ArgTypes...  args 
)
static

Creates a call to the direct callable program at the specified SBT entry.

This will call the program that was specified in the OptixProgramGroupCallables::entryFunctionNameDC in the module specified by OptixProgramGroupCallables::moduleDC. The address of the SBT entry is calculated by OptixShaderBindingTable::callablesRecordBase + ( OptixShaderBindingTable::callablesRecordStrideInBytes * sbtIndex ).

Behavior is undefined if there is no direct callable program at the specified SBT entry.

Behavior is undefined if the number of arguments that are being passed in does not match the number of parameters expected by the program that is called. In that case an exception of type OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH will be thrown if OPTIX_EXCEPTION_FLAG_DEBUG was specified for the OptixPipelineCompileOptions::exceptionFlags.

Parameters
[in]sbtIndexThe offset of the SBT entry of the direct callable program to call relative to OptixShaderBindingTable::callablesRecordBase.
[in]argsThe arguments to pass to the direct callable program.
static __forceinline__ __device__ unsigned int optixGetAttribute_0 ( )
static

Returns the attribute at slot 0.

static __forceinline__ __device__ unsigned int optixGetAttribute_1 ( )
static

Returns the attribute at slot 1.

static __forceinline__ __device__ unsigned int optixGetAttribute_2 ( )
static

Returns the attribute at slot 2.

static __forceinline__ __device__ unsigned int optixGetAttribute_3 ( )
static

Returns the attribute at slot 3.

static __forceinline__ __device__ unsigned int optixGetAttribute_4 ( )
static

Returns the attribute at slot 4.

static __forceinline__ __device__ unsigned int optixGetAttribute_5 ( )
static

Returns the attribute at slot 5.

static __forceinline__ __device__ unsigned int optixGetAttribute_6 ( )
static

Returns the attribute at slot 6.

static __forceinline__ __device__ unsigned int optixGetAttribute_7 ( )
static

Returns the attribute at slot 7.

static __forceinline__ __device__ void optixGetCubicBSplineVertexData ( OptixTraversableHandle  gas,
unsigned int  primIdx,
unsigned int  sbtGASIndex,
float  time,
float4  data[4] 
)
static

Return the object space curve control vertex data of a cubic BSpline curve in a Geometry Acceleration Structure (GAS) at a given motion time.

data[i] = {x,y,z,w} with {x,y,z} the position and w the radius of control vertex i. If motion is disabled via OptixPipelineCompileOptions::usesMotionBlur, or the GAS does not contain motion, the time parameter is ignored.

static __forceinline__ __device__ float optixGetCurveParameter ( )
static

Convenience function that returns the curve parameter.

When using OptixBuildInputCurveArray objects, during intersection the curve parameter is stored into the first attribute register.

static __forceinline__ __device__ int optixGetExceptionCode ( )
static

Returns the exception code.

Only available in EX.

static __forceinline__ __device__ unsigned int optixGetExceptionDetail_0 ( )
static

Returns the 32-bit exception detail at slot 0.

The behavior is undefined if the exception is not a user exception, or the used overload optixThrowException() did not provide the queried exception detail.

Only available in EX.

static __forceinline__ __device__ unsigned int optixGetExceptionDetail_1 ( )
static

Returns the 32-bit exception detail at slot 1.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_2 ( )
static

Returns the 32-bit exception detail at slot 2.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_3 ( )
static

Returns the 32-bit exception detail at slot 3.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_4 ( )
static

Returns the 32-bit exception detail at slot 4.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_5 ( )
static

Returns the 32-bit exception detail at slot 5.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_6 ( )
static

Returns the 32-bit exception detail at slot 6.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ unsigned int optixGetExceptionDetail_7 ( )
static

Returns the 32-bit exception detail at slot 7.

See Also
optixGetExceptionDetail_0()
static __forceinline__ __device__ OptixInvalidRayExceptionDetails optixGetExceptionInvalidRay ( )
static

Returns the invalid ray for exceptions with exception code OPTIX_EXCEPTION_CODE_INVALID_RAY. Exceptions of type OPTIX_EXCEPTION_CODE_INVALID_RAY are thrown when one or more values that were passed into optixTrace are either inf or nan.

OptixInvalidRayExceptionDetails::rayTime will always be 0 if OptixPipelineCompileOptions::usesMotionBlur is 0. Values in the returned struct are all zero for all other exception codes.

Only available in EX.

static __forceinline__ __device__ int optixGetExceptionInvalidSbtOffset ( )
static

Returns the invalid sbt offset for exceptions with exception code OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_MISS_SBT and OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT.

Returns zero for all other exception codes.

Only available in EX.

static __forceinline__ __device__ OptixTraversableHandle optixGetExceptionInvalidTraversable ( )
static

Returns the invalid traversable handle for exceptions with exception code OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_TRAVERSABLE.

Returns zero for all other exception codes.

Only available in EX.

static __forceinline__ __device__ char* optixGetExceptionLineInfo ( )
static

Returns a string that includes information about the source location that caused the current exception.

The source location is only available for exceptions of type OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH, OPTIX_EXCEPTION_CODE_UNSUPPORTED_PRIMITIVE_TYPE, OPTIX_EXCEPTION_CODE_INVALID_RAY, and for user exceptions. Line information needs to be present in the input PTX and OptixModuleCompileOptions::debugLevel may not be set to OPTIX_COMPILE_DEBUG_LEVEL_NONE.

Returns a NULL pointer if no line information is available.

Only available in EX.

static __forceinline__ __device__ OptixParameterMismatchExceptionDetails optixGetExceptionParameterMismatch ( )
static

Returns information about an exception with code OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH.

Exceptions of type OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH are called when the number of arguments that were passed into a call to optixDirectCall or optixContinuationCall does not match the number of parameters of the callable that is called. Note that the parameters are packed by OptiX into individual 32 bit values, so the number of expected and passed values may not correspond to the number of arguments passed into optixDirectCall or optixContinuationCall.

Values in the returned struct are all zero for all other exception codes.

Only available in EX.

static __forceinline__ __device__ unsigned int optixGetGASMotionStepCount ( OptixTraversableHandle  gas)
static

Returns the number of motion steps of a GAS (see OptixMotionOptions)

static __forceinline__ __device__ float optixGetGASMotionTimeBegin ( OptixTraversableHandle  gas)
static

Returns the motion begin time of a GAS (see OptixMotionOptions)

static __forceinline__ __device__ float optixGetGASMotionTimeEnd ( OptixTraversableHandle  gas)
static

Returns the motion end time of a GAS (see OptixMotionOptions)

static __forceinline__ __device__ OptixTraversableHandle optixGetGASTraversableHandle ( )
static

Returns the traversable handle for the Geometry Acceleration Structure (GAS) containing the current hit. May be called from IS, AH and CH.

static __forceinline__ __device__ unsigned int optixGetHitKind ( )
static

Returns the 8 bit hit kind associated with the current hit.

Use optixGetPrimitiveType() to interpret the hit kind. For custom intersections (primitive type OPTIX_PRIMITIVE_TYPE_CUSTOM), this is the 7-bit hitKind passed to optixReportIntersection(). Hit kinds greater than 127 are reserved for built-in primitives.

Available only in AH and CH.

static __forceinline__ __device__ unsigned int optixGetInstanceId ( )
static

Returns the OptixInstance::instanceId of the instance within the top level acceleration structure associated with the current intersection.

When building an acceleration structure using OptixBuildInputInstanceArray each OptixInstance has a user supplied instanceId. OptixInstance objects reference another acceleration structure. During traversal the acceleration structures are visited top down. In the IS and AH programs the OptixInstance::instanceId corresponding to the most recently visited OptixInstance is returned when calling optixGetInstanceId(). In CH optixGetInstanceId() returns the OptixInstance::instanceId when the hit was recorded with optixReportIntersection. In the case where there is no OptixInstance visited, optixGetInstanceId returns ~0u

static __forceinline__ __device__ unsigned int optixGetInstanceIdFromHandle ( OptixTraversableHandle  handle)
static

Returns instanceId from an OptixInstance traversable.

Returns 0 if the traversable handle does not reference an OptixInstance.

static __forceinline__ __device__ unsigned int optixGetInstanceIndex ( )
static

Returns the zero-based index of the instance within its instance acceleration structure associated with the current intersection.

In the IS and AH programs the index corresponding to the most recently visited OptixInstance is returned when calling optixGetInstanceIndex(). In CH optixGetInstanceIndex() returns the index when the hit was recorded with optixReportIntersection. In the case where there is no OptixInstance visited, optixGetInstanceIndex returns 0

static __forceinline__ __device__ const float4* optixGetInstanceInverseTransformFromHandle ( OptixTraversableHandle  handle)
static

Returns world-to-object transform from an OptixInstance traversable.

Returns 0 if the traversable handle does not reference an OptixInstance.

static __forceinline__ __device__ const float4* optixGetInstanceTransformFromHandle ( OptixTraversableHandle  handle)
static

Returns object-to-world transform from an OptixInstance traversable.

Returns 0 if the traversable handle does not reference an OptixInstance.

static __forceinline__ __device__ uint3 optixGetLaunchDimensions ( )
static

Available in any program, it returns the dimensions of the current launch specified by optixLaunch on the host.

static __forceinline__ __device__ uint3 optixGetLaunchIndex ( )
static

Available in any program, it returns the current launch index within the launch dimensions specified by optixLaunch on the host.

The raygen program is typically only launched once per launch index.

static __forceinline__ __device__ void optixGetLinearCurveVertexData ( OptixTraversableHandle  gas,
unsigned int  primIdx,
unsigned int  sbtGASIndex,
float  time,
float4  data[2] 
)
static

Return the object space curve control vertex data of a linear curve in a Geometry Acceleration Structure (GAS) at a given motion time.

data[i] = {x,y,z,w} with {x,y,z} the position and w the radius of control vertex i. If motion is disabled via OptixPipelineCompileOptions::usesMotionBlur, or the GAS does not contain motion, the time parameter is ignored.

static __forceinline__ __device__ const OptixMatrixMotionTransform* optixGetMatrixMotionTransformFromHandle ( OptixTraversableHandle  handle)
static

Returns a pointer to a OptixMatrixMotionTransform from its traversable handle.

Returns 0 if the traversable is not of type OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM.

static __forceinline__ __device__ float3 optixGetObjectRayDirection ( )
static

Returns the current object space ray direction based on the current transform stack.

Only available in IS and AH.

static __forceinline__ __device__ float3 optixGetObjectRayOrigin ( )
static

Returns the current object space ray origin based on the current transform stack.

Only available in IS and AH.

static __forceinline__ __device__ void optixGetObjectToWorldTransformMatrix ( float  m[12])
static

Returns the object-to-world transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ unsigned int optixGetPayload_0 ( )
static

Reads the 32-bit payload value at slot 0.

static __forceinline__ __device__ unsigned int optixGetPayload_1 ( )
static

Reads the 32-bit payload value at slot 1.

static __forceinline__ __device__ unsigned int optixGetPayload_2 ( )
static

Reads the 32-bit payload value at slot 2.

static __forceinline__ __device__ unsigned int optixGetPayload_3 ( )
static

Reads the 32-bit payload value at slot 3.

static __forceinline__ __device__ unsigned int optixGetPayload_4 ( )
static

Reads the 32-bit payload value at slot 4.

static __forceinline__ __device__ unsigned int optixGetPayload_5 ( )
static

Reads the 32-bit payload value at slot 5.

static __forceinline__ __device__ unsigned int optixGetPayload_6 ( )
static

Reads the 32-bit payload value at slot 6.

static __forceinline__ __device__ unsigned int optixGetPayload_7 ( )
static

Reads the 32-bit payload value at slot 7.

static __forceinline__ __device__ unsigned int optixGetPrimitiveIndex ( )
static

For a given OptixBuildInputTriangleArray the number of primitives is defined as "(OptixBuildInputTriangleArray::indexBuffer == 0) ? OptixBuildInputTriangleArray::numVertices/3 : OptixBuildInputTriangleArray::numIndexTriplets;". For a given OptixBuildInputCustomPrimitiveArray the number of primitives is defined as numAabbs.

The primitive index returns the index into the array of primitives plus the primitiveIndexOffset.

In IS and AH this corresponds to the currently intersected primitive. In CH this corresponds to the primitive index of the closest intersected primitive.

static __forceinline__ __device__ OptixPrimitiveType optixGetPrimitiveType ( unsigned int  hitKind)
static

Function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ OptixPrimitiveType optixGetPrimitiveType ( )
static

Function interpreting the hit kind associated with the current optixReportIntersection.

static __forceinline__ __device__ void optixGetQuadraticBSplineVertexData ( OptixTraversableHandle  gas,
unsigned int  primIdx,
unsigned int  sbtGASIndex,
float  time,
float4  data[3] 
)
static

Return the object space curve control vertex data of a quadratic BSpline curve in a Geometry Acceleration Structure (GAS) at a given motion time.

data[i] = {x,y,z,w} with {x,y,z} the position and w the radius of control vertex i. If motion is disabled via OptixPipelineCompileOptions::usesMotionBlur, or the GAS does not contain motion, the time parameter is ignored.

static __forceinline__ __device__ unsigned int optixGetRayFlags ( )
static

Returns the rayFlags passed into optixTrace.

Only available in IS, AH, CH, MS

static __forceinline__ __device__ float optixGetRayTime ( )
static

Returns the rayTime passed into optixTrace.

Will return 0 if motion is disabled. Only available in IS, AH, CH, MS

static __forceinline__ __device__ float optixGetRayTmax ( )
static

In IS and CH returns the current smallest reported hitT or the tmax passed into optixTrace if no hit has been reported In AH returns the hitT value as passed in to optixReportIntersection In MS returns the tmax passed into optixTrace Only available in IS, AH, CH, MS.

static __forceinline__ __device__ float optixGetRayTmin ( )
static

Returns the tmin passed into optixTrace.

Only available in IS, AH, CH, MS

static __forceinline__ __device__ unsigned int optixGetRayVisibilityMask ( )
static

Returns the visibilityMask passed into optixTrace.

Only available in IS, AH, CH, MS

static __forceinline__ __device__ CUdeviceptr optixGetSbtDataPointer ( )
static

Returns the generic memory space pointer to the data region (past the header) of the currently active SBT record corresponding to the current program.

static __forceinline__ __device__ unsigned int optixGetSbtGASIndex ( )
static

Returns the Sbt GAS index of the primitive associated with the current intersection.

In IS and AH this corresponds to the currently intersected primitive. In CH this corresponds to the Sbt GAS index of the closest intersected primitive. In EX with exception code OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT corresponds to the sbt index within the hit GAS. Returns zero for all other exceptions.

static __forceinline__ __device__ const OptixSRTMotionTransform* optixGetSRTMotionTransformFromHandle ( OptixTraversableHandle  handle)
static

Returns a pointer to a OptixSRTMotionTransform from its traversable handle.

Returns 0 if the traversable is not of type OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM.

static __forceinline__ __device__ const OptixStaticTransform* optixGetStaticTransformFromHandle ( OptixTraversableHandle  handle)
static

Returns a pointer to a OptixStaticTransform from its traversable handle.

Returns 0 if the traversable is not of type OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM.

static __forceinline__ __device__ OptixTraversableHandle optixGetTransformListHandle ( unsigned int  index)
static

Returns the traversable handle for a transform on the current transform list.

Only available in IS, AH, CH, EX

static __forceinline__ __device__ unsigned int optixGetTransformListSize ( )
static

Returns the number of transforms on the current transform list.

Only available in IS, AH, CH, EX

static __forceinline__ __device__ OptixTransformType optixGetTransformTypeFromHandle ( OptixTraversableHandle  handle)
static

Returns the transform type of a traversable handle from a transform list.

static __forceinline__ __device__ float2 optixGetTriangleBarycentrics ( )
static

Convenience function that returns the first two attributes as floats.

When using OptixBuildInputTriangleArray objects, during intersection the barycentric coordinates are stored into the first two attribute registers.

static __forceinline__ __device__ void optixGetTriangleVertexData ( OptixTraversableHandle  gas,
unsigned int  primIdx,
unsigned int  sbtGASIndex,
float  time,
float3  data[3] 
)
static

Return the object space triangle vertex positions of a given triangle in a Geometry Acceleration Structure (GAS) at a given motion time.

If motion is disabled via OptixPipelineCompileOptions::usesMotionBlur, or the GAS does not contain motion, the time parameter is ignored.

static __forceinline__ __device__ float3 optixGetWorldRayDirection ( )
static

Returns the rayDirection passed into optixTrace.

May be more expensive to call in IS and AH than their object space counterparts, so effort should be made to use the object space ray in those programs. Only available in IS, AH, CH, MS

static __forceinline__ __device__ float3 optixGetWorldRayOrigin ( )
static

Returns the rayOrigin passed into optixTrace.

May be more expensive to call in IS and AH than their object space counterparts, so effort should be made to use the object space ray in those programs. Only available in IS, AH, CH, MS

static __forceinline__ __device__ void optixGetWorldToObjectTransformMatrix ( float  m[12])
static

Returns the world-to-object transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ void optixIgnoreIntersection ( )
static

Discards the hit, and returns control to the calling optixReportIntersection or built-in intersection routine.

Available only in AH.

static __forceinline__ __device__ bool optixIsBackFaceHit ( unsigned int  hitKind)
static

Function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ bool optixIsBackFaceHit ( )
static

Function interpreting the hit kind associated with the current optixReportIntersection.

static __forceinline__ __device__ bool optixIsFrontFaceHit ( unsigned int  hitKind)
static

Function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ bool optixIsFrontFaceHit ( )
static

Function interpreting the hit kind associated with the current optixReportIntersection.

static __forceinline__ __device__ bool optixIsTriangleBackFaceHit ( )
static

Convenience function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ bool optixIsTriangleFrontFaceHit ( )
static

Convenience function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ bool optixIsTriangleHit ( )
static

Convenience function interpreting the result of optixGetHitKind().

static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind 
)
static

Reports an intersections (overload without attributes).

If optixGetRayTmin() <= hitT <= optixGetRayTmax(), the any hit program associated with this intersection program (via the SBT entry) is called. The AH program can do one of three things:

  1. call optixIgnoreIntersection - no hit is recorded, optixReportIntersection returns false
  2. call optixTerminateRay - hit is recorded, optixReportIntersection does not return, no further traversal occurs, and the associated closest hit program is called
  3. neither - hit is recorded, optixReportIntersection returns true hitKind - Only the 7 least significant bits should be written [0..127]. Any values above 127 are reserved for built in intersection. The value can be queried with optixGetHitKind() in AH and CH.

The attributes specified with a0..a7 are available in the AH and CH programs. Note that the attributes available in the CH program correspond to the closest recorded intersection. The number of attributes in registers and memory can be configured in the pipeline.

Parameters
[in]hitT
[in]hitKind
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0 
)
static

Reports an intersection (overload with 1 attribute register).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1 
)
static

Reports an intersection (overload with 2 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2 
)
static

Reports an intersection (overload with 3 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2,
unsigned int  a3 
)
static

Reports an intersection (overload with 4 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2,
unsigned int  a3,
unsigned int  a4 
)
static

Reports an intersection (overload with 5 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2,
unsigned int  a3,
unsigned int  a4,
unsigned int  a5 
)
static

Reports an intersection (overload with 6 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2,
unsigned int  a3,
unsigned int  a4,
unsigned int  a5,
unsigned int  a6 
)
static

Reports an intersection (overload with 7 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ bool optixReportIntersection ( float  hitT,
unsigned int  hitKind,
unsigned int  a0,
unsigned int  a1,
unsigned int  a2,
unsigned int  a3,
unsigned int  a4,
unsigned int  a5,
unsigned int  a6,
unsigned int  a7 
)
static

Reports an intersection (overload with 8 attribute registers).

See Also
optixReportIntersection(float,unsigned int)
static __forceinline__ __device__ void optixSetPayload_0 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 0.

static __forceinline__ __device__ void optixSetPayload_1 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 1.

static __forceinline__ __device__ void optixSetPayload_2 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 2.

static __forceinline__ __device__ void optixSetPayload_3 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 3.

static __forceinline__ __device__ void optixSetPayload_4 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 4.

static __forceinline__ __device__ void optixSetPayload_5 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 5.

static __forceinline__ __device__ void optixSetPayload_6 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 6.

static __forceinline__ __device__ void optixSetPayload_7 ( unsigned int  p)
static

Writes the 32-bit payload value at slot 7.

static __forceinline__ __device__ void optixTerminateRay ( )
static

Record the hit, stops traversal, and proceeds to CH.

Available only in AH.

static __forceinline__ __device__ void optixThrowException ( int  exceptionCode)
static

Throws a user exception with the given exception code (overload without exception details).

The exception code must be in the range from 0 to 2^30 - 1. Up to 8 optional exception details can be passed. They can be queried in the EX program using optixGetExceptionDetail_0() to ..._8().

The exception details must not be used to encode pointers to the stack since the current stack is not preserved in the EX program.

Not available in EX.

Parameters
[in]exceptionCodeThe exception code to be thrown.
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0 
)
static

Throws a user exception with the given exception code (overload with 1 exception detail).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1 
)
static

Throws a user exception with the given exception code (overload with 2 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2 
)
static

Throws a user exception with the given exception code (overload with 3 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2,
unsigned int  exceptionDetail3 
)
static

Throws a user exception with the given exception code (overload with 4 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2,
unsigned int  exceptionDetail3,
unsigned int  exceptionDetail4 
)
static

Throws a user exception with the given exception code (overload with 5 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2,
unsigned int  exceptionDetail3,
unsigned int  exceptionDetail4,
unsigned int  exceptionDetail5 
)
static

Throws a user exception with the given exception code (overload with 6 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2,
unsigned int  exceptionDetail3,
unsigned int  exceptionDetail4,
unsigned int  exceptionDetail5,
unsigned int  exceptionDetail6 
)
static

Throws a user exception with the given exception code (overload with 7 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixThrowException ( int  exceptionCode,
unsigned int  exceptionDetail0,
unsigned int  exceptionDetail1,
unsigned int  exceptionDetail2,
unsigned int  exceptionDetail3,
unsigned int  exceptionDetail4,
unsigned int  exceptionDetail5,
unsigned int  exceptionDetail6,
unsigned int  exceptionDetail7 
)
static

Throws a user exception with the given exception code (overload with 8 exception details).

See Also
optixThrowException(int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex 
)
static

Initiates a ray tracing query starting with the given traversable (overload without payload).

Parameters
[in]handle
[in]rayOrigin
[in]rayDirection
[in]tmin
[in]tmax
[in]rayTime
[in]visibilityMaskreally only 8 bits
[in]rayFlagsreally only 8 bits, combination of OptixRayFlags
[in]SBToffsetreally only 8 bits
[in]SBTstridereally only 8 bits
[in]missSBTIndexspecifies the miss program invoked on a miss
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 1 payload register).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 2 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 3 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2,
unsigned int &  p3 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 4 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2,
unsigned int &  p3,
unsigned int &  p4 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 5 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2,
unsigned int &  p3,
unsigned int &  p4,
unsigned int &  p5 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 6 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2,
unsigned int &  p3,
unsigned int &  p4,
unsigned int &  p5,
unsigned int &  p6 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 7 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ void optixTrace ( OptixTraversableHandle  handle,
float3  rayOrigin,
float3  rayDirection,
float  tmin,
float  tmax,
float  rayTime,
OptixVisibilityMask  visibilityMask,
unsigned int  rayFlags,
unsigned int  SBToffset,
unsigned int  SBTstride,
unsigned int  missSBTIndex,
unsigned int &  p0,
unsigned int &  p1,
unsigned int &  p2,
unsigned int &  p3,
unsigned int &  p4,
unsigned int &  p5,
unsigned int &  p6,
unsigned int &  p7 
)
static

Initiates a ray tracing query starting with the given traversable (overload with 8 payload registers).

See Also
optixTrace(OptixTraversableHandle,float3,float3,float,float,float,OptixVisibilityMask,unsigned int,unsigned int,unsigned int,unsigned int)
static __forceinline__ __device__ float3 optixTransformNormalFromObjectToWorldSpace ( float3  normal)
static

Transforms the normal using object-to-world transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ float3 optixTransformNormalFromWorldToObjectSpace ( float3  normal)
static

Transforms the normal using world-to-object transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ float3 optixTransformPointFromObjectToWorldSpace ( float3  point)
static

Transforms the point using object-to-world transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ float3 optixTransformPointFromWorldToObjectSpace ( float3  point)
static

Transforms the point using world-to-object transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ float3 optixTransformVectorFromObjectToWorldSpace ( float3  vec)
static

Transforms the vector using object-to-world transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ float3 optixTransformVectorFromWorldToObjectSpace ( float3  vec)
static

Transforms the vector using world-to-object transformation matrix resulting from the current active transformation list.

The cost of this function may be proportional to the size of the transformation list.

static __forceinline__ __device__ unsigned int optixUndefinedValue ( )
static

Returns an undefined value.