Parameters describing the SRT transformation | |
float | OptixSRTData::sx |
float | OptixSRTData::a |
float | OptixSRTData::b |
float | OptixSRTData::pvx |
float | OptixSRTData::sy |
float | OptixSRTData::c |
float | OptixSRTData::pvy |
float | OptixSRTData::sz |
float | OptixSRTData::pvz |
float | OptixSRTData::qx |
float | OptixSRTData::qy |
float | OptixSRTData::qz |
float | OptixSRTData::qw |
float | OptixSRTData::tx |
float | OptixSRTData::ty |
float | OptixSRTData::tz |
CUdeviceptr | OptixShaderBindingTable::missRecordBase |
unsigned int | OptixShaderBindingTable::missRecordStrideInBytes |
unsigned int | OptixShaderBindingTable::missRecordCount |
CUdeviceptr | OptixShaderBindingTable::hitgroupRecordBase |
unsigned int | OptixShaderBindingTable::hitgroupRecordStrideInBytes |
unsigned int | OptixShaderBindingTable::hitgroupRecordCount |
CUdeviceptr | OptixShaderBindingTable::callablesRecordBase |
unsigned int | OptixShaderBindingTable::callablesRecordStrideInBytes |
unsigned int | OptixShaderBindingTable::callablesRecordCount |
OptiX Types.
#define OPTIX_AABB_BUFFER_BYTE_ALIGNMENT 8ull |
Alignment requirement for OptixBuildInputCustomPrimitiveArray::aabbBuffers.
#define OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT 128ull |
Alignment requirement for output and temporay buffers for acceleration structures.
#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT 8 |
Maximum number of payload types allowed.
#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT 32 |
Maximum number of payload values allowed.
#define OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT 0 |
Maximum number of registers allowed. Defaults to no explicit limit.
#define OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT 16ull |
Alignment requirement for OptixBuildInputTriangleArray::preTransform.
#define OPTIX_INSTANCE_BYTE_ALIGNMENT 16ull |
#define OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT 128ull |
Alignment requirement for opacity micromap array buffers.
#define OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL 12 |
Maximum subdivision level for opacity micromaps.
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE ( -2 ) |
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT ( -1 ) |
Predefined index to indicate that a triangle in the BVH build doesn't have an associated opacity micromap, and that it should revert to one of the four possible states for the full triangle.
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE ( -4 ) |
#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT ( -3 ) |
#define OPTIX_OPACITY_MICROMAP_STATE_OPAQUE ( 1 ) |
#define OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT ( 0 ) |
Opacity micromaps encode the states of microtriangles in either 1 bit (2-state) or 2 bits (4-state) using the following values.
#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE ( 3 ) |
#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT ( 2 ) |
#define OPTIX_SBT_RECORD_ALIGNMENT 16ull |
Alignment requirement for device pointers in OptixShaderBindingTable.
#define OPTIX_SBT_RECORD_HEADER_SIZE ( (size_t)32 ) |
Size of the SBT record headers.
#define OPTIX_TRANSFORM_BYTE_ALIGNMENT 64ull |
Alignment requirement for OptixStaticTransform, OptixMatrixMotionTransform, OptixSRTMotionTransform.
typedef unsigned long long CUdeviceptr |
CUDA device pointer.
typedef struct OptixAccelBufferSizes OptixAccelBufferSizes |
Struct for querying builder allocation requirements.
Once queried the sizes should be used to allocate device memory of at least these sizes.
typedef struct OptixAccelBuildOptions OptixAccelBuildOptions |
Build options for acceleration structures.
typedef struct OptixAccelEmitDesc OptixAccelEmitDesc |
Specifies a type and output destination for emitted post-build properties.
typedef enum OptixAccelPropertyType OptixAccelPropertyType |
Properties which can be emitted during acceleration structure build.
typedef enum OptixBuildFlags OptixBuildFlags |
Builder Options.
Used for OptixAccelBuildOptions::buildFlags. Can be or'ed together.
typedef struct OptixBuildInput OptixBuildInput |
Build inputs.
All of them support motion and the size of the data arrays needs to match the number of motion steps
typedef struct OptixBuildInputCurveArray OptixBuildInputCurveArray |
Curve inputs.
A curve is a swept surface defined by a 3D spline curve and a varying width (radius). A curve (or "strand") of degree d (3=cubic, 2=quadratic, 1=linear) is represented by N > d vertices and N width values, and comprises N - d segments. Each segment is defined by d+1 consecutive vertices. Each curve may have a different number of vertices.
OptiX describes the curve array as a list of curve segments. The primitive id is the segment number. It is the user's responsibility to maintain a mapping between curves and curve segments. Each index buffer entry i = indexBuffer[primid] specifies the start of a curve segment, represented by d+1 consecutive vertices in the vertex buffer, and d+1 consecutive widths in the width buffer. Width is interpolated the same way vertices are interpolated, that is, using the curve basis.
Each curves build input has only one SBT record. To create curves with different materials in the same BVH, use multiple build inputs.
Custom primitive inputs.
typedef struct OptixBuildInputInstanceArray OptixBuildInputInstanceArray |
Instance and instance pointer inputs.
typedef struct OptixBuildInputOpacityMicromap OptixBuildInputOpacityMicromap |
typedef struct OptixBuildInputSphereArray OptixBuildInputSphereArray |
Sphere inputs.
A sphere is defined by a center point and a radius. Each center point is represented by a vertex in the vertex buffer. There is either a single radius for all spheres, or the radii are represented by entries in the radius buffer.
The vertex buffers and radius buffers point to a host array of device pointers, one per motion step. Host array size must match the number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 0 or 1). Each per motion key device pointer must point to an array of vertices corresponding to the center points of the spheres, or an array of 1 or N radii. Format OPTIX_VERTEX_FORMAT_FLOAT3 is used for vertices, OPTIX_VERTEX_FORMAT_FLOAT for radii.
typedef struct OptixBuildInputTriangleArray OptixBuildInputTriangleArray |
Triangle inputs.
typedef enum OptixBuildInputType OptixBuildInputType |
Enum to distinguish the different build input types.
typedef enum OptixBuildOperation OptixBuildOperation |
Enum to specify the acceleration build operation.
Used in OptixAccelBuildOptions, which is then passed to optixAccelBuild and optixAccelComputeMemoryUsage, this enum indicates whether to do a build or an update of the acceleration structure.
Acceleration structure updates utilize the same acceleration structure, but with updated bounds. Updates are typically much faster than builds, however, large perturbations can degrade the quality of the acceleration structure.
typedef struct OptixBuiltinISOptions OptixBuiltinISOptions |
Specifies the options for retrieving an intersection program for a built-in primitive type. The primitive type must not be OPTIX_PRIMITIVE_TYPE_CUSTOM.
typedef enum OptixCompileDebugLevel OptixCompileDebugLevel |
Debug levels.
Optimization levels.
typedef enum OptixCurveEndcapFlags OptixCurveEndcapFlags |
Curve end cap types, for non-linear curves.
typedef struct OptixDenoiser_t* OptixDenoiser |
Opaque type representing a denoiser instance.
typedef enum OptixDenoiserAlphaMode OptixDenoiserAlphaMode |
Various parameters used by the denoiser.
typedef struct OptixDenoiserGuideLayer OptixDenoiserGuideLayer |
Guide layer for the denoiser.
typedef struct OptixDenoiserLayer OptixDenoiserLayer |
Input/Output layers for the denoiser.
typedef enum OptixDenoiserModelKind OptixDenoiserModelKind |
Model kind used by the denoiser.
typedef struct OptixDenoiserOptions OptixDenoiserOptions |
Options used by the denoiser.
typedef struct OptixDenoiserParams OptixDenoiserParams |
typedef struct OptixDenoiserSizes OptixDenoiserSizes |
Various sizes related to the denoiser.
typedef struct OptixDeviceContext_t* OptixDeviceContext |
Opaque type representing a device context.
typedef struct OptixDeviceContextOptions OptixDeviceContextOptions |
Parameters used for optixDeviceContextCreate()
Validation mode settings.
When enabled, certain device code utilities will be enabled to provide as good debug and error checking facilities as possible.
typedef enum OptixDeviceProperty OptixDeviceProperty |
Parameters used for optixDeviceContextGetProperty()
typedef enum OptixExceptionCodes OptixExceptionCodes |
The following values are used to indicate which exception was thrown.
typedef enum OptixExceptionFlags OptixExceptionFlags |
Exception flags.
typedef enum OptixGeometryFlags OptixGeometryFlags |
Flags used by OptixBuildInputTriangleArray::flags and #OptixBuildInput::flag and OptixBuildInputCustomPrimitiveArray::flags.
typedef enum OptixHitKind OptixHitKind |
Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use optixGetPrimitiveType(), together with optixIsFrontFaceHit() or optixIsBackFaceHit().
typedef struct OptixImage2D OptixImage2D |
Image descriptor used by the denoiser.
typedef enum OptixIndicesFormat OptixIndicesFormat |
Format of indices used int OptixBuildInputTriangleArray::indexFormat.
typedef struct OptixInstance OptixInstance |
typedef enum OptixInstanceFlags OptixInstanceFlags |
Flags set on the OptixInstance::flags.
These can be or'ed together to combine multiple flags.
typedef void(* OptixLogCallback) (unsigned int level, const char *tag, const char *message, void *cbdata) |
Type of the callback function used for log messages.
[in] | level | The log level indicates the severity of the message. See below for possible values. |
[in] | tag | A terse message category description (e.g., 'SCENE STAT'). |
[in] | message | Null terminated log message (without newline at the end). |
[in] | cbdata | Callback data that was provided with the callback pointer. |
It is the users responsibility to ensure thread safety within this function.
The following log levels are defined.
0 disable Setting the callback level will disable all messages. The callback function will not be called in this case. 1 fatal A non-recoverable error. The context and/or OptiX itself might no longer be in a usable state. 2 error A recoverable error, e.g., when passing invalid call parameters. 3 warning Hints that OptiX might not behave exactly as requested by the user or may perform slower than expected. 4 print Status or progress messages.
Higher levels might occur.
typedef struct OptixMatrixMotionTransform OptixMatrixMotionTransform |
Represents a matrix motion transformation.
The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.
This struct, as defined here, handles only N=2 motion keys due to the fixed array length of its transform member. The following example shows how to create instances for an arbitrary number N of motion keys:
typedef struct OptixMicromapBuffers OptixMicromapBuffers |
Buffer inputs for opacity micromap array builds.
typedef struct OptixMicromapBufferSizes OptixMicromapBufferSizes |
Conservative memory requirements for building a opacity micromap array.
typedef struct OptixModule_t* OptixModule |
Opaque type representing a module.
Struct for specifying specializations for pipelineParams as specified in OptixPipelineCompileOptions::pipelineLaunchParamsVariableName.
The bound values are supposed to represent a constant value in the pipelineParams. OptiX will attempt to locate all loads from the pipelineParams and correlate them to the appropriate bound value, but there are cases where OptiX cannot safely or reliably do this. For example if the pointer to the pipelineParams is passed as an argument to a non-inline function or the offset of the load to the pipelineParams cannot be statically determined (e.g. accessed in a loop). No module should rely on the value being specialized in order to work correctly. The values in the pipelineParams specified on optixLaunch should match the bound value. If validation mode is enabled on the context, OptiX will verify that the bound values specified matches the values in pipelineParams specified to optixLaunch.
These values are compiled in to the module as constants. Once the constants are inserted into the code, an optimization pass will be run that will attempt to propagate the consants and remove unreachable code.
If caching is enabled, changes in these values will result in newly compiled modules.
The pipelineParamOffset and sizeInBytes must be within the bounds of the pipelineParams variable. OPTIX_ERROR_INVALID_VALUE will be returned from optixModuleCreateFromPTX otherwise.
If more than one bound value overlaps or the size of a bound value is equal to 0, an OPTIX_ERROR_INVALID_VALUE will be returned from optixModuleCreateFromPTX.
The same set of bound values do not need to be used for all modules in a pipeline, but overlapping values between modules must have the same value. OPTIX_ERROR_INVALID_VALUE will be returned from optixPipelineCreate otherwise.
typedef struct OptixModuleCompileOptions OptixModuleCompileOptions |
Compilation options for module.
typedef enum OptixModuleCompileState OptixModuleCompileState |
Module compilation state.
typedef enum OptixMotionFlags OptixMotionFlags |
Enum to specify motion flags.
typedef struct OptixMotionOptions OptixMotionOptions |
Inputs to opacity micromap array construction.
indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.
typedef struct OptixOpacityMicromapDesc OptixOpacityMicromapDesc |
Opacity micromap descriptor.
typedef enum OptixOpacityMicromapFlags OptixOpacityMicromapFlags |
Flags defining behavior of opacity micromaps in a opacity micromap array.
typedef enum OptixOpacityMicromapFormat OptixOpacityMicromapFormat |
Specifies whether to use a 2- or 4-state opacity micromap format.
Opacity micromap histogram entry. Specifies how many opacity micromaps of a specific type are input to the opacity micromap array build. Note that while this is similar to OptixOpacityMicromapUsageCount, the histogram entry specifies how many opacity micromaps of a specific type are combined into a opacity micromap array.
typedef struct OptixOpacityMicromapUsageCount OptixOpacityMicromapUsageCount |
Opacity micromap usage count for acceleration structure builds. Specifies how many opacity micromaps of a specific type are referenced by triangles when building the AS. Note that while this is similar to OptixOpacityMicromapHistogramEntry, the usage count specifies how many opacity micromaps of a specific type are referenced by triangles in the AS.
typedef enum OptixPayloadSemantics OptixPayloadSemantics |
Semantic flags for a single payload word.
Used to specify the semantics of a payload word per shader type. "read": Shader of this type may read the payload word. "write": Shader of this type may write the payload word.
"trace_caller_write": Shaders may consume the value of the payload word passed to optixTrace by the caller. "trace_caller_read": The caller to optixTrace may read the payload word after the call to optixTrace.
Semantics can be bitwise combined. Combining "read" and "write" is equivalent to specifying "read_write". A payload needs to be writable by the caller or at least one shader type. A payload needs to be readable by the caller or at least one shader type after a being writable.
typedef struct OptixPayloadType OptixPayloadType |
Specifies a single payload type.
typedef enum OptixPayloadTypeID OptixPayloadTypeID |
Payload type identifiers.
typedef struct OptixPipeline_t* OptixPipeline |
Opaque type representing a pipeline.
typedef struct OptixPipelineCompileOptions OptixPipelineCompileOptions |
Compilation options for all modules of a pipeline.
Similar to OptixModuleCompileOptions, but these options here need to be equal for all modules of a pipeline.
typedef struct OptixPipelineLinkOptions OptixPipelineLinkOptions |
Link options for a pipeline.
typedef enum OptixPixelFormat OptixPixelFormat |
Pixel formats used by the denoiser.
typedef enum OptixPrimitiveType OptixPrimitiveType |
Builtin primitive types.
typedef enum OptixPrimitiveTypeFlags OptixPrimitiveTypeFlags |
Builtin flags may be bitwise combined.
typedef struct OptixProgramGroup_t* OptixProgramGroup |
Opaque type representing a program group.
typedef struct OptixProgramGroupCallables OptixProgramGroupCallables |
Program group representing callables.
Module and entry function name need to be valid for at least one of the two callables.
typedef struct OptixProgramGroupDesc OptixProgramGroupDesc |
Descriptor for program groups.
typedef enum OptixProgramGroupFlags OptixProgramGroupFlags |
Flags for program groups.
typedef struct OptixProgramGroupHitgroup OptixProgramGroupHitgroup |
Program group representing the hitgroup.
For each of the three program types, module and entry function name might both be nullptr
.
typedef enum OptixProgramGroupKind OptixProgramGroupKind |
Distinguishes different kinds of program groups.
typedef struct OptixProgramGroupOptions OptixProgramGroupOptions |
Program group options.
typedef struct OptixProgramGroupSingleModule OptixProgramGroupSingleModule |
Program group representing a single module.
Used for raygen, miss, and exception programs. In case of raygen and exception programs, module and entry function name need to be valid. For miss programs, module and entry function name might both be nullptr
.
typedef OptixResult() OptixQueryFunctionTable_t(int abiId, unsigned int numOptions, OptixQueryFunctionTableOptions *, const void **, void *functionTable, size_t sizeOfTable) |
Type of the function optixQueryFunctionTable()
Options that can be passed to optixQueryFunctionTable()
typedef enum OptixRayFlags OptixRayFlags |
Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invocation.
typedef struct OptixRelocateInput OptixRelocateInput |
Relocation inputs.
typedef struct OptixRelocateInputInstanceArray OptixRelocateInputInstanceArray |
Instance and instance pointer inputs.
typedef struct OptixRelocateInputTriangleArray OptixRelocateInputTriangleArray |
Triangle inputs.
typedef struct OptixRelocationInfo OptixRelocationInfo |
Used to store information related to relocation of optix data structures.
typedef enum OptixResult OptixResult |
Result codes returned from API functions.
All host side API functions return OptixResult with the exception of optixGetErrorName and optixGetErrorString. When successful OPTIX_SUCCESS is returned. All return codes except for OPTIX_SUCCESS should be assumed to be errors as opposed to a warning.
typedef struct OptixShaderBindingTable OptixShaderBindingTable |
Describes the shader binding table (SBT)
typedef struct OptixSRTData OptixSRTData |
Represents an SRT transformation.
An SRT transformation can represent a smooth rotation with fewer motion keys than a matrix transformation. Each motion key is constructed from elements taken from a matrix S, a quaternion R, and a translation T.
The scaling matrix \(S = \begin{bmatrix} sx & a & b & pvx \\ 0 & sy & c & pvy \\ 0 & 0 & sz & pvz \end{bmatrix}\) defines an affine transformation that can include scale, shear, and a translation. The translation allows to define the pivot point for the subsequent rotation.
The quaternion R = [ qx, qy, qz, qw ] describes a rotation with angular component qw = cos(theta/2) and other components [ qx, qy, qz ] = sin(theta/2) * [ ax, ay, az ] where the axis [ ax, ay, az ] is normalized.
The translation matrix \(T = \begin{bmatrix} 1 & 0 & 0 & tx \\ 0 & 1 & 0 & ty \\ 0 & 0 & 1 & tz \end{bmatrix}\) defines another translation that is applied after the rotation. Typically, this translation includes the inverse translation from the matrix S to reverse the translation for the pivot point for R.
To obtain the effective transformation at time t, the elements of the components of S, R, and T will be interpolated linearly. The components are then multiplied to obtain the combined transformation C = T * R * S. The transformation C is the effective object-to-world transformations at time t, and C^(-1) is the effective world-to-object transformation at time t.
typedef struct OptixSRTMotionTransform OptixSRTMotionTransform |
Represents an SRT motion transformation.
The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.
This struct, as defined here, handles only N=2 motion keys due to the fixed array length of its srtData member. The following example shows how to create instances for an arbitrary number N of motion keys:
typedef struct OptixStackSizes OptixStackSizes |
Describes the stack size requirements of a program group.
typedef struct OptixStaticTransform OptixStaticTransform |
Static transform.
The device address of instances of this type must be a multiple of OPTIX_TRANSFORM_BYTE_ALIGNMENT.
typedef struct OptixTask_t* OptixTask |
Opaque type representing a work task.
typedef enum OptixTransformFormat OptixTransformFormat |
Format of transform used in OptixBuildInputTriangleArray::transformFormat.
typedef enum OptixTransformType OptixTransformType |
Transform.
OptixTransformType is used by the device function optixGetTransformTypeFromHandle() to determine the type of the OptixTraversableHandle returned from optixGetTransformListHandle().
typedef enum OptixTraversableGraphFlags OptixTraversableGraphFlags |
Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace(). Flags may be bitwise combined.
typedef unsigned long long OptixTraversableHandle |
Traversable handle.
typedef enum OptixTraversableType OptixTraversableType |
Traversable Handles.
typedef enum OptixVertexFormat OptixVertexFormat |
Format of vertices used in OptixBuildInputTriangleArray::vertexFormat.
typedef unsigned int OptixVisibilityMask |
Visibility mask.
Properties which can be emitted during acceleration structure build.
Enumerator | |
---|---|
OPTIX_PROPERTY_TYPE_COMPACTED_SIZE | Size of a compacted acceleration structure. The device pointer points to a uint64. |
OPTIX_PROPERTY_TYPE_AABBS | OptixAabb * numMotionSteps. |
enum OptixBuildFlags |
Builder Options.
Used for OptixAccelBuildOptions::buildFlags. Can be or'ed together.
enum OptixBuildInputType |
Enum to distinguish the different build input types.
Enumerator | |
---|---|
OPTIX_BUILD_INPUT_TYPE_TRIANGLES | Triangle inputs.
|
OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES | Custom primitive inputs. |
OPTIX_BUILD_INPUT_TYPE_INSTANCES | Instance inputs.
|
OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS | Instance pointer inputs.
|
OPTIX_BUILD_INPUT_TYPE_CURVES | Curve inputs.
|
OPTIX_BUILD_INPUT_TYPE_SPHERES | Sphere inputs.
|
enum OptixBuildOperation |
Enum to specify the acceleration build operation.
Used in OptixAccelBuildOptions, which is then passed to optixAccelBuild and optixAccelComputeMemoryUsage, this enum indicates whether to do a build or an update of the acceleration structure.
Acceleration structure updates utilize the same acceleration structure, but with updated bounds. Updates are typically much faster than builds, however, large perturbations can degrade the quality of the acceleration structure.
Enumerator | |
---|---|
OPTIX_BUILD_OPERATION_BUILD | Perform a full build operation. |
OPTIX_BUILD_OPERATION_UPDATE | Perform an update using new bounds. |
Debug levels.
Optimization levels.
Various parameters used by the denoiser.
Model kind used by the denoiser.
Validation mode settings.
When enabled, certain device code utilities will be enabled to provide as good debug and error checking facilities as possible.
Enumerator | |
---|---|
OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_OFF | |
OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_ALL |
enum OptixDeviceProperty |
Parameters used for optixDeviceContextGetProperty()
Enumerator | |
---|---|
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRACE_DEPTH | Maximum value for OptixPipelineLinkOptions::maxTraceDepth. sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRAVERSABLE_GRAPH_DEPTH | Maximum value to pass into optixPipelineSetStackSize for parameter maxTraversableGraphDepth. sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_PRIMITIVES_PER_GAS | The maximum number of primitives (over all build inputs) as input to a single Geometry Acceleration Structure (GAS). sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCES_PER_IAS | The maximum number of instances (over all build inputs) as input to a single Instance Acceleration Structure (IAS). sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_RTCORE_VERSION | The RT core version supported by the device (0 for no support, 10 for version 1.0). sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID | The maximum value for OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE...">OptixInstance::instanceId. sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_NUM_BITS_INSTANCE_VISIBILITY_MASK | The number of bits available for the OptixInstance::visibilityMask. Higher bits must be set to zero. sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_RECORDS_PER_GAS | The maximum number of instances that can be added to a single Instance Acceleration Structure (IAS). sizeof( unsigned int ) |
OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_OFFSET | The maximum value for OptixInstance::sbtOffset. sizeof( unsigned int ) |
enum OptixExceptionCodes |
The following values are used to indicate which exception was thrown.
Enumerator | |
---|---|
OPTIX_EXCEPTION_CODE_STACK_OVERFLOW | Stack overflow of the continuation stack. no exception details. |
OPTIX_EXCEPTION_CODE_TRACE_DEPTH_EXCEEDED | The trace depth is exceeded. no exception details. |
OPTIX_EXCEPTION_CODE_TRAVERSAL_DEPTH_EXCEEDED | The traversal depth is exceeded. Exception details: optixGetTransformListSize() optixGetTransformListHandle() |
OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_TRAVERSABLE | Traversal encountered an invalid traversable type. Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidTraversable() |
OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_MISS_SBT | The miss SBT record index is out of bounds A miss SBT record index is valid within the range [0, OptixShaderBindingTable::missRecordCount) (See optixLaunch) Exception details: optixGetExceptionInvalidSbtOffset() |
OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT | The traversal hit SBT record index out of bounds. A traversal hit SBT record index is valid within the range [0, OPTIX_SBT...">OptixShaderBindingTable::hitgroupRecordCount) (See optixLaunch) The following formula relates the sbt-geometry-acceleration-structure-index (See optixGetSbtGASIndex), sbt-stride-from-trace-call and sbt-offset-from-trace-call (See optixTrace) sbt-index = sbt-instance-offset + (sbt-geometry-acceleration-structure-index * sbt-stride-from-trace-call) + sbt-offset-from-trace-call Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidSbtOffset() optixGetSbtGASIndex() |
OPTIX_EXCEPTION_CODE_UNSUPPORTED_PRIMITIVE_TYPE | The shader encountered an unsupported primitive type (See OptixPipelineCompileOptions::usesPrimitiveTypeFlags). no exception details. |
OPTIX_EXCEPTION_CODE_INVALID_RAY | The shader encountered a call to optixTrace with at least one of the float arguments being inf or nan, or the tmin argument is negative. Exception details: optixGetExceptionInvalidRay() |
OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH | The shader encountered a call to either optixDirectCall or optixCallableCall where the argument count does not match the parameter count of the callable program which is called. Exception details: optixGetExceptionParameterMismatch. |
OPTIX_EXCEPTION_CODE_BUILTIN_IS_MISMATCH | The invoked builtin IS does not match the current GAS. |
OPTIX_EXCEPTION_CODE_CALLABLE_INVALID_SBT | Tried to call a callable program using an SBT offset that is larger than the number of passed in callable SBT records. Exception details: optixGetExceptionInvalidSbtOffset() |
OPTIX_EXCEPTION_CODE_CALLABLE_NO_DC_SBT_RECORD | Tried to call a direct callable using an SBT offset of a record that was built from a program group that did not include a direct callable. |
OPTIX_EXCEPTION_CODE_CALLABLE_NO_CC_SBT_RECORD | Tried to call a continuation callable using an SBT offset of a record that was built from a program group that did not include a continuation callable. |
OPTIX_EXCEPTION_CODE_UNSUPPORTED_SINGLE_LEVEL_GAS | Tried to directly traverse a single gas while single gas traversable graphs are not enabled (see OptixTraversableGraphFlags::OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_GAS). Exception details: optixGetTransformListSize() optixGetTransformListHandle() optixGetExceptionInvalidTraversable() |
OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_0 | argument passed to an optix call is not within an acceptable range of values. |
OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_1 | |
OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_2 | |
OPTIX_EXCEPTION_CODE_UNSUPPORTED_DATA_ACCESS | Tried to access data on an AS without random data access support (See OptixBuildFlags). |
OPTIX_EXCEPTION_CODE_PAYLOAD_TYPE_MISMATCH | The program payload type doesn't match the trace payload type. |
enum OptixExceptionFlags |
Exception flags.
Enumerator | |
---|---|
OPTIX_EXCEPTION_FLAG_NONE | No exception are enabled. |
OPTIX_EXCEPTION_FLAG_STACK_OVERFLOW | Enables exceptions check related to the continuation stack. |
OPTIX_EXCEPTION_FLAG_TRACE_DEPTH | Enables exceptions check related to trace depth. |
OPTIX_EXCEPTION_FLAG_USER | Enables user exceptions via optixThrowException(). This flag must be specified for all modules in a pipeline if any module calls optixThrowException(). |
OPTIX_EXCEPTION_FLAG_DEBUG | Enables various exceptions check related to traversal. |
enum OptixGeometryFlags |
Flags used by OptixBuildInputTriangleArray::flags and #OptixBuildInput::flag and OptixBuildInputCustomPrimitiveArray::flags.
enum OptixHitKind |
Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use optixGetPrimitiveType(), together with optixIsFrontFaceHit() or optixIsBackFaceHit().
Enumerator | |
---|---|
OPTIX_HIT_KIND_TRIANGLE_FRONT_FACE | Ray hit the triangle on the front face. |
OPTIX_HIT_KIND_TRIANGLE_BACK_FACE | Ray hit the triangle on the back face. |
enum OptixIndicesFormat |
Format of indices used int OptixBuildInputTriangleArray::indexFormat.
enum OptixInstanceFlags |
Flags set on the OptixInstance::flags.
These can be or'ed together to combine multiple flags.
Module compilation state.
enum OptixMotionFlags |
Enum to specify motion flags.
Enumerator | |
---|---|
OPTIX_MOTION_FLAG_NONE | |
OPTIX_MOTION_FLAG_START_VANISH | |
OPTIX_MOTION_FLAG_END_VANISH |
indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.
Enumerator | |
---|---|
OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE | No opacity micromap is used. |
OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR | An implicit linear mapping of triangles to opacity micromaps in the opacity micromap array is used. triangle[i] will use opacityMicromapArray[i]. |
OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED | OptixBuildInputVisibleMap::indexBuffer provides a per triangle array of predefined indices and/or indices into OptixBuildInputVisibleMap::opacityMicromapArray. See OptixBuildInputOpacityMicromap::indexBuffer for more details. |
Semantic flags for a single payload word.
Used to specify the semantics of a payload word per shader type. "read": Shader of this type may read the payload word. "write": Shader of this type may write the payload word.
"trace_caller_write": Shaders may consume the value of the payload word passed to optixTrace by the caller. "trace_caller_read": The caller to optixTrace may read the payload word after the call to optixTrace.
Semantics can be bitwise combined. Combining "read" and "write" is equivalent to specifying "read_write". A payload needs to be writable by the caller or at least one shader type. A payload needs to be readable by the caller or at least one shader type after a being writable.
enum OptixPayloadTypeID |
enum OptixPixelFormat |
Pixel formats used by the denoiser.
enum OptixPrimitiveType |
Builtin primitive types.
Builtin flags may be bitwise combined.
Distinguishes different kinds of program groups.
enum OptixRayFlags |
Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invocation.
enum OptixResult |
Result codes returned from API functions.
All host side API functions return OptixResult with the exception of optixGetErrorName and optixGetErrorString. When successful OPTIX_SUCCESS is returned. All return codes except for OPTIX_SUCCESS should be assumed to be errors as opposed to a warning.
enum OptixTransformFormat |
Format of transform used in OptixBuildInputTriangleArray::transformFormat.
Enumerator | |
---|---|
OPTIX_TRANSFORM_FORMAT_NONE | no transform, default for zero initialization |
OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12 | 3x4 row major affine matrix |
enum OptixTransformType |
Transform.
OptixTransformType is used by the device function optixGetTransformTypeFromHandle() to determine the type of the OptixTraversableHandle returned from optixGetTransformListHandle().
Enumerator | |
---|---|
OPTIX_TRANSFORM_TYPE_NONE | Not a transformation. |
OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM |
|
OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM |
|
OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM |
|
OPTIX_TRANSFORM_TYPE_INSTANCE |
|
Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace(). Flags may be bitwise combined.
enum OptixTraversableType |
Traversable Handles.
Enumerator | |
---|---|
OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM | Static transforms.
|
OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM | Matrix motion transform.
|
OPTIX_TRAVERSABLE_TYPE_SRT_MOTION_TRANSFORM | SRT motion transform.
|
enum OptixVertexFormat |
Format of vertices used in OptixBuildInputTriangleArray::vertexFormat.
union { ... } OptixBuildInput::@1 |
union { ... } OptixRelocateInput::@3 |
union { ... } OptixProgramGroupDesc::@5 |
float OptixSRTData::a |
const CUdeviceptr* OptixBuildInputCustomPrimitiveArray::aabbBuffers |
Points to host array of device pointers to AABBs (type OptixAabb), one per motion step. Host array size must match number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 1). Each device pointer must be a multiple of OPTIX_AABB_BUFFER_BYTE_ALIGNMENT.
OptixImage2D OptixDenoiserGuideLayer::albedo |
int OptixPipelineCompileOptions::allowOpacityMicromaps |
Boolean value indicating whether opacity micromaps could be used.
const char* OptixModuleCompileBoundValueEntry::annotation |
float OptixSRTData::b |
float OptixDenoiserParams::blendFactor |
blend factor. If set to 0 the output is 100% of the denoised input. If set to 1, the output is 100% of the unmodified input. Values between 0 and 1 will linearly interpolate between the denoised and unmodified input.
const void* OptixModuleCompileBoundValueEntry::boundValuePtr |
const OptixModuleCompileBoundValueEntry* OptixModuleCompileOptions::boundValues |
Ingored if numBoundValues is set to 0.
unsigned int OptixAccelBuildOptions::buildFlags |
Combinations of OptixBuildFlags.
unsigned int OptixBuiltinISOptions::buildFlags |
Build flags, see OptixBuildFlags.
OptixPrimitiveType OptixBuiltinISOptions::builtinISModuleType |
unsigned int OptixOpacityMicromapDesc::byteOffset |
Byte offset to opacity micromap in data input buffer of opacity micromap array build.
float OptixSRTData::c |
OptixProgramGroupCallables OptixProgramGroupDesc::callables |
OptixProgramGroupCallables { ... } ::callables |
CUdeviceptr OptixShaderBindingTable::callablesRecordBase |
Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::callablesRecordCount |
Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::callablesRecordStrideInBytes |
Arrays of SBT records for callable programs. If the base address is not null, the stride and count must not be zero. If the base address is null, then the count needs to zero. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
OptixTraversableHandle OptixStaticTransform::child |
The traversable transformed by this transformation.
OptixTraversableHandle OptixMatrixMotionTransform::child |
The traversable that is transformed by this transformation.
OptixTraversableHandle OptixSRTMotionTransform::child |
The traversable transformed by this transformation.
size_t OptixDenoiserSizes::computeAverageColorSizeInBytes |
Size of scratch memory passed to optixDenoiserComputeAverageColor. The size is independent of the tile/image resolution.
size_t OptixDenoiserSizes::computeIntensitySizeInBytes |
Size of scratch memory passed to optixDenoiserComputeIntensity. The size is independent of the tile/image resolution.
unsigned int OptixOpacityMicromapUsageCount::count |
Number of opacity micromaps with this format and subdivision level referenced by triangles in the corresponding triangle build input at AS build time.
unsigned int OptixOpacityMicromapHistogramEntry::count |
Number of opacity micromaps with the format and subdivision level that are input to the opacity micromap array build.
unsigned int OptixStackSizes::cssAH |
Continuation stack size of AH programs in bytes.
unsigned int OptixStackSizes::cssCC |
Continuation stack size of CC programs in bytes.
unsigned int OptixStackSizes::cssCH |
Continuation stack size of CH programs in bytes.
unsigned int OptixStackSizes::cssIS |
Continuation stack size of IS programs in bytes.
unsigned int OptixStackSizes::cssMS |
Continuation stack size of MS programs in bytes.
unsigned int OptixStackSizes::cssRG |
Continuation stack size of RG programs in bytes.
OptixBuildInputCurveArray { ... } ::curveArray |
Curve inputs.
OptixBuildInputCurveArray OptixBuildInput::curveArray |
Curve inputs.
unsigned int OptixBuiltinISOptions::curveEndcapFlags |
End cap properties of curves, see OptixCurveEndcapFlags, 0 for non-curve types.
OptixPrimitiveType OptixBuildInputCurveArray::curveType |
Curve degree and basis.
OptixBuildInputCustomPrimitiveArray { ... } ::customPrimitiveArray |
Custom primitive inputs.
OptixBuildInputCustomPrimitiveArray OptixBuildInput::customPrimitiveArray |
Custom primitive inputs.
CUdeviceptr OptixImage2D::data |
Pointer to the actual pixel data.
OptixCompileDebugLevel OptixModuleCompileOptions::debugLevel |
Generate debug information.
OptixCompileDebugLevel OptixPipelineLinkOptions::debugLevel |
Generate debug information.
OptixDenoiserAlphaMode OptixDenoiserParams::denoiseAlpha |
alpha denoise mode
unsigned int OptixStackSizes::dssDC |
Direct stack size of DC programs in bytes.
unsigned int OptixBuildInputCurveArray::endcapFlags |
End cap flags, see OptixCurveEndcapFlags.
const char* OptixProgramGroupSingleModule::entryFunctionName |
Entry function name of the single program.
const char* OptixProgramGroupHitgroup::entryFunctionNameAH |
Entry function name of the any hit (AH) program.
const char* OptixProgramGroupCallables::entryFunctionNameCC |
Entry function name of the continuation callable (CC) program.
const char* OptixProgramGroupHitgroup::entryFunctionNameCH |
Entry function name of the closest hit (CH) program.
const char* OptixProgramGroupCallables::entryFunctionNameDC |
Entry function name of the direct callable (DC) program.
const char* OptixProgramGroupHitgroup::entryFunctionNameIS |
Entry function name of the intersection (IS) program.
OptixProgramGroupSingleModule OptixProgramGroupDesc::exception |
OptixProgramGroupSingleModule { ... } ::exception |
unsigned int OptixPipelineCompileOptions::exceptionFlags |
A bitmask of OptixExceptionFlags indicating which exceptions are enabled.
CUdeviceptr OptixShaderBindingTable::exceptionRecord |
Device address of the SBT record of the exception program. The address must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixBuildInputCurveArray::flag |
Combination of OptixGeometryFlags describing the primitive behavior.
const unsigned int* OptixBuildInputTriangleArray::flags |
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the primitive behavior, size must match numSbtRecords.
const unsigned int* OptixBuildInputSphereArray::flags |
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the primitive behavior, size must match numSbtRecords.
const unsigned int* OptixBuildInputCustomPrimitiveArray::flags |
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the primitive behavior, size must match numSbtRecords.
unsigned int OptixInstance::flags |
Any combination of OptixInstanceFlags is allowed.
OptixOpacityMicromapFlags OptixOpacityMicromapArrayBuildInput::flags |
Applies to all opacity micromaps in array.
unsigned short OptixMotionOptions::flags |
Combinations of OptixMotionFlags.
unsigned int OptixProgramGroupDesc::flags |
OptixImage2D OptixDenoiserGuideLayer::flow |
OptixOpacityMicromapFormat OptixOpacityMicromapUsageCount::format |
opacity micromap format.
unsigned short OptixOpacityMicromapDesc::format |
OptixOpacityMicromapFormat.
OptixOpacityMicromapFormat OptixOpacityMicromapHistogramEntry::format |
opacity micromap format.
OptixPixelFormat OptixImage2D::format |
Pixel format.
unsigned int OptixDenoiserOptions::guideAlbedo |
unsigned int OptixDenoiserOptions::guideNormal |
CUdeviceptr OptixDenoiserParams::hdrAverageColor |
this parameter is used when the OPTIX_DENOISER_MODEL_KIND_AOV model kind is set. average log color of input image, separate for RGB channels (default null pointer). points to three floats. with the default (null pointer) denoised results will not be optimal.
CUdeviceptr OptixDenoiserParams::hdrIntensity |
average log intensity of input image (default null pointer). points to a single float. with the default (null pointer) denoised results will not be optimal for very dark or bright input images.
unsigned int OptixImage2D::height |
Height of the image (in pixels)
OptixProgramGroupHitgroup OptixProgramGroupDesc::hitgroup |
OptixProgramGroupHitgroup { ... } ::hitgroup |
CUdeviceptr OptixShaderBindingTable::hitgroupRecordBase |
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::hitgroupRecordCount |
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::hitgroupRecordStrideInBytes |
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
CUdeviceptr OptixBuildInputOpacityMicromap::indexBuffer |
int16 or int32 buffer specifying which opacity micromap index to use for each triangle. Instead of an actual index, one of the predefined indices OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_(FULLY_TRANSPARENT | FULLY_OPAQUE | FULLY_UNKNOWN_TRANSPARENT | FULLY_UNKNOWN_OPAQUE) can be used to indicate that there is no opacity micromap for this particular triangle but the triangle is in a uniform state and the selected behavior is applied to the entire triangle. This buffer is required when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED. Must be zero if OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR or OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE.
CUdeviceptr OptixBuildInputTriangleArray::indexBuffer |
Optional pointer to array of 16 or 32-bit int triplets, one triplet per triangle. The minimum alignment must match the natural alignment of the type as specified in the indexFormat, i.e., for OPTIX_INDICES_FORMAT_UNSIGNED_INT3 4-byte and for OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3 a 2-byte alignment.
CUdeviceptr OptixBuildInputCurveArray::indexBuffer |
Device pointer to array of unsigned ints, one per curve segment. This buffer is required (unlike for OptixBuildInputTriangleArray). Each index is the start of degree+1 consecutive vertices in vertexBuffers, and corresponding widths in widthBuffers and normals in normalBuffers. These define a single segment. Size of array is numPrimitives.
OptixIndicesFormat OptixBuildInputTriangleArray::indexFormat |
OptixOpacityMicromapArrayIndexingMode OptixBuildInputOpacityMicromap::indexingMode |
Indexing mode of triangle to opacity micromap array mapping.
unsigned int OptixBuildInputOpacityMicromap::indexOffset |
Constant offset to non-negative opacity micromap indices.
unsigned int OptixBuildInputOpacityMicromap::indexSizeInBytes |
0, 2 or 4 (unused, 16 or 32 bit) Must be non-zero when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED.
unsigned int OptixBuildInputOpacityMicromap::indexStrideInBytes |
Opacity micromap index buffer stride. If set to zero, indices are assumed to be tightly packed and stride is inferred from OptixBuildInputOpacityMicromap::indexSizeInBytes.
unsigned int OptixBuildInputTriangleArray::indexStrideInBytes |
Stride between triplets of indices. If set to zero, indices are assumed to be tightly packed and stride is inferred from indexFormat.
unsigned int OptixBuildInputCurveArray::indexStrideInBytes |
Stride between indices. If set to zero, indices are assumed to be tightly packed and stride is sizeof( unsigned int ).
unsigned long long OptixRelocationInfo::info[4] |
Opaque data, used internally, should not be modified.
OptixImage2D OptixDenoiserLayer::input |
CUdeviceptr OptixOpacityMicromapArrayBuildInput::inputBuffer |
128B aligned base pointer for raw opacity micromap input data.
OptixBuildInputInstanceArray OptixBuildInput::instanceArray |
Instance and instance pointer inputs.
OptixBuildInputInstanceArray { ... } ::instanceArray |
Instance and instance pointer inputs.
OptixRelocateInputInstanceArray OptixRelocateInput::instanceArray |
Instance and instance pointer inputs.
OptixRelocateInputInstanceArray { ... } ::instanceArray |
Instance and instance pointer inputs.
unsigned int OptixInstance::instanceId |
Application supplied ID. The maximal ID can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID.
CUdeviceptr OptixBuildInputInstanceArray::instances |
If OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS instances and aabbs should be interpreted as arrays of pointers instead of arrays of structs.
This pointer must be a multiple of OPTIX_INSTANCE_BYTE_ALIGNMENT if OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCES. The array elements must be a multiple of OPTIX_INSTANCE_BYTE_ALIGNMENT if OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS.
unsigned int OptixBuildInputInstanceArray::instanceStride |
Only valid for OPTIX_BUILD_INPUT_TYPE_INSTANCE Defines the stride between instances. A stride of 0 indicates a tight packing, i.e., stride = sizeof( OptixInstance )
size_t OptixDenoiserSizes::internalGuideLayerPixelSizeInBytes |
Number of bytes for each pixel in internal guide layers.
float OptixStaticTransform::invTransform[12] |
Affine world-to-object transformation as 3x4 matrix in row-major layout Must be the inverse of the transform matrix.
OptixProgramGroupKind OptixProgramGroupDesc::kind |
The kind of program group.
void* OptixDeviceContextOptions::logCallbackData |
Pointer stored and passed to logCallbackFunction when a message is generated.
OptixLogCallback OptixDeviceContextOptions::logCallbackFunction |
Function pointer used when OptiX wishes to generate messages.
int OptixDeviceContextOptions::logCallbackLevel |
Maximum callback level to generate message for (see OptixLogCallback)
int OptixModuleCompileOptions::maxRegisterCount |
Maximum number of registers allowed when compiling to SASS. Set to 0 for no explicit limit. May vary within a pipeline.
unsigned int OptixPipelineLinkOptions::maxTraceDepth |
Maximum trace recursion depth. 0 means a ray generation program can be launched, but can't trace any rays. The maximum allowed value is 31.
float OptixAabb::maxX |
Upper extent in X direction.
float OptixAabb::maxY |
Upper extent in Y direction.
float OptixAabb::maxZ |
Upper extent in Z direction.
const OptixOpacityMicromapHistogramEntry* OptixOpacityMicromapArrayBuildInput::micromapHistogramEntries |
Histogram over opacity micromaps of input format and subdivision combinations. Counts of entries with equal format and subdivision combination (duplicates) are added together.
const OptixOpacityMicromapUsageCount* OptixBuildInputOpacityMicromap::micromapUsageCounts |
List of number of usages of opacity micromaps of format and subdivision combinations. Counts with equal format and subdivision combination (duplicates) are added together.
float OptixAabb::minX |
Lower extent in X direction.
float OptixAabb::minY |
Lower extent in Y direction.
float OptixAabb::minZ |
Lower extent in Z direction.
OptixProgramGroupSingleModule { ... } ::miss |
OptixProgramGroupSingleModule OptixProgramGroupDesc::miss |
CUdeviceptr OptixShaderBindingTable::missRecordBase |
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::missRecordCount |
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
unsigned int OptixShaderBindingTable::missRecordStrideInBytes |
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
OptixModule OptixProgramGroupSingleModule::module |
Module holding single program.
OptixModule OptixProgramGroupHitgroup::moduleAH |
Module holding the any hit (AH) program.
OptixModule OptixProgramGroupCallables::moduleCC |
Module holding the continuation callable (CC) program.
OptixModule OptixProgramGroupHitgroup::moduleCH |
Module holding the closest hit (CH) program.
OptixModule OptixProgramGroupCallables::moduleDC |
Module holding the direct callable (DC) program.
OptixModule OptixProgramGroupHitgroup::moduleIS |
Module holding the intersection (Is) program.
OptixMotionOptions OptixAccelBuildOptions::motionOptions |
Options for motion.
OptixMotionOptions OptixMatrixMotionTransform::motionOptions |
The motion options for this transformation. Must have at least two motion keys.
OptixMotionOptions OptixSRTMotionTransform::motionOptions |
The motion options for this transformation Must have at least two motion keys.
OptixImage2D OptixDenoiserGuideLayer::normal |
const CUdeviceptr* OptixBuildInputCurveArray::normalBuffers |
Reserved for future use.
unsigned int OptixBuildInputCurveArray::normalStrideInBytes |
Reserved for future use.
int OptixPipelineCompileOptions::numAttributeValues |
How much storage, in 32b words, to make available for the attributes. The minimum number is 2. Values below that will automatically be changed to 2. [2..8].
unsigned int OptixModuleCompileOptions::numBoundValues |
set to 0 if unused
unsigned int OptixBuildInputTriangleArray::numIndexTriplets |
Size of array in OptixBuildInputTriangleArray::indexBuffer. For build, needs to be zero if indexBuffer is nullptr
.
unsigned int OptixBuildInputInstanceArray::numInstances |
unsigned int OptixRelocateInputInstanceArray::numInstances |
Number of elements in OptixRelocateInputInstanceArray::traversableHandles. Must match OptixBuildInputInstanceArray::numInstances of the source build input.
unsigned short OptixMotionOptions::numKeys |
If numKeys > 1, motion is enabled. timeBegin, timeEnd and flags are all ignored when motion is disabled.
unsigned int OptixOpacityMicromapArrayBuildInput::numMicromapHistogramEntries |
Number of OptixOpacityMicromapHistogramEntry.
unsigned int OptixBuildInputOpacityMicromap::numMicromapUsageCounts |
Number of OptixOpacityMicromapUsageCount.
unsigned int OptixModuleCompileOptions::numPayloadTypes |
The number of different payload types available for compilation. Must be zero if OptixPipelineCompileOptions::numPayloadValues is not zero.
unsigned int OptixPayloadType::numPayloadValues |
The number of 32b words the payload of this type holds.
int OptixPipelineCompileOptions::numPayloadValues |
How much storage, in 32b words, to make available for the payload, [0..32] Must be zero if numPayloadTypes is not zero.
unsigned int OptixBuildInputCurveArray::numPrimitives |
Number of primitives. Each primitive is a polynomial curve segment.
unsigned int OptixBuildInputCustomPrimitiveArray::numPrimitives |
Number of primitives in each buffer (i.e., per motion step) in OptixBuildInputCustomPrimitiveArray::aabbBuffers.
unsigned int OptixBuildInputTriangleArray::numSbtRecords |
Number of sbt records available to the sbt index offset override.
unsigned int OptixRelocateInputTriangleArray::numSbtRecords |
Number of sbt records available to the sbt index offset override. Must match OptixBuildInputTriangleArray::numSbtRecords of the source build input.
unsigned int OptixBuildInputSphereArray::numSbtRecords |
Number of sbt records available to the sbt index offset override.
unsigned int OptixBuildInputCustomPrimitiveArray::numSbtRecords |
Number of sbt records available to the sbt index offset override.
unsigned int OptixBuildInputTriangleArray::numVertices |
Number of vertices in each of buffer in OptixBuildInputTriangleArray::vertexBuffers.
unsigned int OptixBuildInputCurveArray::numVertices |
Number of vertices in each buffer in vertexBuffers.
unsigned int OptixBuildInputSphereArray::numVertices |
Number of vertices in each buffer in vertexBuffers.
OptixBuildInputOpacityMicromap OptixBuildInputTriangleArray::opacityMicromap |
Optional opacity micromap inputs.
OptixRelocateInputOpacityMicromap OptixRelocateInputTriangleArray::opacityMicromap |
Opacity micromap inputs.
CUdeviceptr OptixBuildInputOpacityMicromap::opacityMicromapArray |
Device pointer to a opacity micromap array used by this build input array. This buffer is required when OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR or OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED. Must be zero if OptixBuildInputOpacityMicromap::indexingMode is OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE.
CUdeviceptr OptixRelocateInputOpacityMicromap::opacityMicromapArray |
Device pointer to a reloated opacity micromap array used by the source build input array. May be zero when no micromaps where used in the source accel, or the referenced opacity micromaps don't require relocation (for example relocation of a GAS on the source device).
OptixBuildOperation OptixAccelBuildOptions::operation |
If OPTIX_BUILD_OPERATION_UPDATE the output buffer is assumed to contain the result of a full build with OPTIX_BUILD_FLAG_ALLOW_UPDATE set and using the same number of primitives. It is updated incrementally to reflect the current position of the primitives. If a BLAS has been built with OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE, new opacity micromap arrays and opacity micromap indices may be provided to the refit.
OptixCompileOptimizationLevel OptixModuleCompileOptions::optLevel |
Optimization level. May vary within a pipeline.
CUdeviceptr OptixMicromapBuffers::output |
Output buffer.
OptixImage2D OptixDenoiserLayer::output |
OptixImage2D OptixDenoiserGuideLayer::outputInternalGuideLayer |
size_t OptixMicromapBufferSizes::outputSizeInBytes |
size_t OptixMicromapBuffers::outputSizeInBytes |
Output buffer size.
size_t OptixAccelBufferSizes::outputSizeInBytes |
The size in bytes required for the outputBuffer parameter to optixAccelBuild when doing a build (OPTIX_BUILD_OPERATION_BUILD).
unsigned int OptixDenoiserSizes::overlapWindowSizeInPixels |
Overlap on all four tile sides.
char { ... } ::pad[1024] |
char OptixBuildInput::pad[1024] |
unsigned int OptixInstance::pad[2] |
round up to 80-byte, to ensure 16-byte alignment
unsigned int OptixStaticTransform::pad[2] |
Padding to make the transformations 16 byte aligned.
unsigned int OptixMatrixMotionTransform::pad[3] |
Padding to make the transformation 16 byte aligned.
unsigned int OptixSRTMotionTransform::pad[3] |
Padding to make the SRT data 16 byte aligned.
const unsigned int* OptixPayloadType::payloadSemantics |
Points to host array of payload word semantics, size must match numPayloadValues.
OptixPayloadType* OptixProgramGroupOptions::payloadType |
Specifies the payload type of this program group. All programs in the group must support the payload type (Program support for a type is specified by calling.
OptixPayloadType* OptixModuleCompileOptions::payloadTypes |
Points to host array of payload type definitions, size must match numPayloadTypes.
CUdeviceptr OptixOpacityMicromapArrayBuildInput::perMicromapDescBuffer |
One OptixOpacityMicromapDesc entry per opacity micromap.
unsigned int OptixOpacityMicromapArrayBuildInput::perMicromapDescStrideInBytes |
Stride between OptixOpacityMicromapDescs in perOmDescBuffer. If set to zero, the opacity micromap descriptors are assumed to be tightly packed and the stride is assumed to be sizeof( OptixOpacityMicromapDesc ).
const char* OptixPipelineCompileOptions::pipelineLaunchParamsVariableName |
The name of the pipeline parameter variable. If 0, no pipeline parameter will be available. This will be ignored if the launch param variable was optimized out or was not found in the modules linked to the pipeline.
size_t OptixModuleCompileBoundValueEntry::pipelineParamOffsetInBytes |
unsigned int OptixImage2D::pixelStrideInBytes |
Stride between subsequent pixels of the image (in bytes). If set to 0, dense packing (no gaps) is assumed. For pixel format OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER it must be set to at least OptixDenoiserSizes::internalGuideLayerSizeInBytes.
CUdeviceptr OptixBuildInputTriangleArray::preTransform |
Optional pointer to array of floats representing a 3x4 row major affine transformation matrix. This pointer must be a multiple of OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT.
OptixImage2D OptixDenoiserLayer::previousOutput |
OptixImage2D OptixDenoiserGuideLayer::previousOutputInternalGuideLayer |
unsigned int OptixBuildInputTriangleArray::primitiveIndexOffset |
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of triangles must not overflow 32bits.
unsigned int OptixBuildInputCurveArray::primitiveIndexOffset |
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitives must not overflow 32bits.
unsigned int OptixBuildInputSphereArray::primitiveIndexOffset |
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitives must not overflow 32bits.
unsigned int OptixBuildInputCustomPrimitiveArray::primitiveIndexOffset |
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of primitive must not overflow 32bits.
float OptixSRTData::pvx |
float OptixSRTData::pvy |
float OptixSRTData::pvz |
float OptixSRTData::qw |
float OptixSRTData::qx |
float OptixSRTData::qy |
float OptixSRTData::qz |
const CUdeviceptr* OptixBuildInputSphereArray::radiusBuffers |
Parallel to vertexBuffers: a device pointer per motion step, each with numRadii float values, specifying the sphere radius corresponding to each vertex.
unsigned int OptixBuildInputSphereArray::radiusStrideInBytes |
Stride between radii. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).
OptixProgramGroupSingleModule OptixProgramGroupDesc::raygen |
OptixProgramGroupSingleModule { ... } ::raygen |
CUdeviceptr OptixShaderBindingTable::raygenRecord |
Device address of the SBT record of the ray gen program to start launch at. The address must be a multiple of OPTIX_SBT_RECORD_ALIGNMENT.
CUdeviceptr OptixAccelEmitDesc::result |
Output buffer for the properties.
unsigned int OptixImage2D::rowStrideInBytes |
Stride between subsequent rows of the image (in bytes).
CUdeviceptr OptixBuildInputTriangleArray::sbtIndexOffsetBuffer |
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in range [0,numSbtRecords-1]. Size needs to be the number of primitives.
CUdeviceptr OptixBuildInputSphereArray::sbtIndexOffsetBuffer |
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in range [0,numSbtRecords-1]. Size needs to be the number of primitives.
CUdeviceptr OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetBuffer |
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in range [0,numSbtRecords-1]. Size needs to be the number of primitives.
unsigned int OptixBuildInputTriangleArray::sbtIndexOffsetSizeInBytes |
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetSizeInBytes |
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetSizeInBytes |
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
unsigned int OptixBuildInputTriangleArray::sbtIndexOffsetStrideInBytes |
Stride between the index offsets. If set to zero, the offsets are assumed to be tightly packed and the stride matches the size of the type (sbtIndexOffsetSizeInBytes).
unsigned int OptixBuildInputSphereArray::sbtIndexOffsetStrideInBytes |
Stride between the sbt index offsets. If set to zero, the offsets are assumed to be tightly packed and the stride matches the size of the type (sbtIndexOffsetSizeInBytes).
unsigned int OptixBuildInputCustomPrimitiveArray::sbtIndexOffsetStrideInBytes |
Stride between the index offsets. If set to zero, the offsets are assumed to be tightly packed and the stride matches the size of the type (sbtIndexOffsetSizeInBytes).
unsigned int OptixInstance::sbtOffset |
SBT record offset. Will only be used for instances of geometry acceleration structure (GAS) objects. Needs to be set to 0 for instances of instance acceleration structure (IAS) objects. The maximal SBT offset can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_SBT_OFFSET.
int OptixBuildInputSphereArray::singleRadius |
Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in radiusBuffers equals numVertices.
size_t OptixModuleCompileBoundValueEntry::sizeInBytes |
OptixBuildInputSphereArray { ... } ::sphereArray |
Sphere inputs.
OptixBuildInputSphereArray OptixBuildInput::sphereArray |
Sphere inputs.
OptixSRTData OptixSRTMotionTransform::srtData[2] |
The actual SRT data describing the transformation.
size_t OptixDenoiserSizes::stateSizeInBytes |
Size of state memory passed to optixDenoiserSetup, optixDenoiserInvoke.
unsigned int OptixBuildInputCustomPrimitiveArray::strideInBytes |
Stride between AABBs (per motion key). If set to zero, the aabbs are assumed to be tightly packed and the stride is assumed to be sizeof( OptixAabb ). If non-zero, the value must be a multiple of OPTIX_AABB_BUFFER_BYTE_ALIGNMENT.
unsigned int OptixOpacityMicromapUsageCount::subdivisionLevel |
Number of micro-triangles is 4^level. Valid levels are [0, 12].
unsigned short OptixOpacityMicromapDesc::subdivisionLevel |
Number of micro-triangles is 4^level. Valid levels are [0, 12].
unsigned int OptixOpacityMicromapHistogramEntry::subdivisionLevel |
Number of micro-triangles is 4^level. Valid levels are [0, 12].
float OptixSRTData::sx |
float OptixSRTData::sy |
float OptixSRTData::sz |
CUdeviceptr OptixMicromapBuffers::temp |
Temp buffer.
unsigned int OptixDenoiserParams::temporalModeUsePreviousLayers |
In temporal modes this parameter must be set to 1 if previous layers (e.g. previousOutputInternalGuideLayer) contain valid data. This is the case in the second and subsequent frames of a sequence (for example after a change of camera angle). In the first frame of such a sequence this parameter must be set to 0.
size_t OptixMicromapBufferSizes::tempSizeInBytes |
size_t OptixMicromapBuffers::tempSizeInBytes |
Temp buffer size.
size_t OptixAccelBufferSizes::tempSizeInBytes |
The size in bytes required for the tempBuffer paramter to optixAccelBuild when doing a build (OPTIX_BUILD_OPERATION_BUILD).
size_t OptixAccelBufferSizes::tempUpdateSizeInBytes |
The size in bytes required for the tempBuffer parameter to optixAccelBuild when doing an update (OPTIX_BUILD_OPERATION_UPDATE). This value can be different than tempSizeInBytes used for a full build. Only non-zero if OPTIX_BUILD_FLAG_ALLOW_UPDATE flag is set in OptixAccelBuildOptions.
float OptixMotionOptions::timeBegin |
Point in time where motion starts. Must be lesser than timeEnd.
float OptixMotionOptions::timeEnd |
Point in time where motion ends. Must be greater than timeBegin.
float OptixInstance::transform[12] |
affine object-to-world transformation as 3x4 matrix in row-major layout
float OptixStaticTransform::transform[12] |
Affine object-to-world transformation as 3x4 matrix in row-major layout.
float OptixMatrixMotionTransform::transform[2][12] |
Affine object-to-world transformation as 3x4 matrix in row-major layout.
OptixTransformFormat OptixBuildInputTriangleArray::transformFormat |
unsigned int OptixPipelineCompileOptions::traversableGraphFlags |
Traversable graph bitfield. See OptixTraversableGraphFlags.
OptixTraversableHandle OptixInstance::traversableHandle |
Set with an OptixTraversableHandle.
CUdeviceptr OptixRelocateInputInstanceArray::traversableHandles |
These are the traversable handles of the instances (See OptixInstance::traversableHandle) These can be used when also relocating the instances. No updates to the bounds are performed. Use optixAccelBuild to update the bounds. 'traversableHandles' may be zero when the traversables are not relocated (i.e. relocation of an IAS on the source device).
OptixBuildInputTriangleArray { ... } ::triangleArray |
Triangle inputs.
OptixBuildInputTriangleArray OptixBuildInput::triangleArray |
Triangle inputs.
OptixRelocateInputTriangleArray { ... } ::triangleArray |
Triangle inputs.
OptixRelocateInputTriangleArray OptixRelocateInput::triangleArray |
Triangle inputs.
float OptixSRTData::tx |
float OptixSRTData::ty |
OptixBuildInputType OptixBuildInput::type |
The type of the build input.
OptixBuildInputType OptixRelocateInput::type |
The type of the build input to relocate.
OptixAccelPropertyType OptixAccelEmitDesc::type |
Requested property.
float OptixSRTData::tz |
int OptixPipelineCompileOptions::usesMotionBlur |
Boolean value indicating whether motion blur could be used.
int OptixBuiltinISOptions::usesMotionBlur |
Boolean value indicating whether vertex motion blur is used (but not motion transform blur).
unsigned int OptixPipelineCompileOptions::usesPrimitiveTypeFlags |
Bit field enabling primitive types. See OptixPrimitiveTypeFlags. Setting to zero corresponds to enabling OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM and OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE.
OptixDeviceContextValidationMode OptixDeviceContextOptions::validationMode |
Validation mode of context.
const CUdeviceptr* OptixBuildInputTriangleArray::vertexBuffers |
Points to host array of device pointers, one per motion step. Host array size must match the number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 0 or 1). Each per motion key device pointer must point to an array of vertices of the triangles in the format as described by vertexFormat. The minimum alignment must match the natural alignment of the type as specified in the vertexFormat, i.e., for OPTIX_VERTEX_FORMAT_FLOATX 4-byte, for all others a 2-byte alignment. However, an 16-byte stride (and buffer alignment) is recommended for vertices of format OPTIX_VERTEX_FORMAT_FLOAT3 for GAS build performance.
const CUdeviceptr* OptixBuildInputCurveArray::vertexBuffers |
Pointer to host array of device pointers, one per motion step. Host array size must match number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 1). Each per-motion-key device pointer must point to an array of floats (the vertices of the curves).
const CUdeviceptr* OptixBuildInputSphereArray::vertexBuffers |
Pointer to host array of device pointers, one per motion step. Host array size must match number of motion keys as set in OptixMotionOptions (or an array of size 1 if OptixMotionOptions::numKeys is set to 1). Each per-motion-key device pointer must point to an array of floats (the center points of the spheres).
OptixVertexFormat OptixBuildInputTriangleArray::vertexFormat |
unsigned int OptixBuildInputTriangleArray::vertexStrideInBytes |
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is inferred from vertexFormat.
unsigned int OptixBuildInputCurveArray::vertexStrideInBytes |
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).
unsigned int OptixBuildInputSphereArray::vertexStrideInBytes |
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is sizeof( float3 ).
unsigned int OptixInstance::visibilityMask |
Visibility mask. If rayMask & instanceMask == 0 the instance is culled. The number of available bits can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_NUM_BITS_INSTANCE_VISIBILITY_MASK.
unsigned int OptixImage2D::width |
Width of the image (in pixels)
const CUdeviceptr* OptixBuildInputCurveArray::widthBuffers |
Parallel to vertexBuffers: a device pointer per motion step, each with numVertices float values, specifying the curve width (radius) corresponding to each vertex.
unsigned int OptixBuildInputCurveArray::widthStrideInBytes |
Stride between widths. If set to zero, widths are assumed to be tightly packed and stride is sizeof( float ).
size_t OptixDenoiserSizes::withoutOverlapScratchSizeInBytes |
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. No overlap added.
size_t OptixDenoiserSizes::withOverlapScratchSizeInBytes |
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. Overlap added to dimensions passed to optixDenoiserComputeMemoryResources.