NVIDIA OptiX 7.7 nvidia_logo_transpbg.gif Up
optix_types.h
Go to the documentation of this file.
1
2/*
3 * Copyright (c) 2021 NVIDIA Corporation. All rights reserved.
4 *
5 * NVIDIA Corporation and its licensors retain all intellectual property and proprietary
6 * rights in and to this software, related documentation and any modifications thereto.
7 * Any use, reproduction, disclosure or distribution of this software and related
8 * documentation without an express license agreement from NVIDIA Corporation is strictly
9 * prohibited.
10 *
11 * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS*
12 * AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
13 * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
14 * PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY
15 * SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT
16 * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
17 * BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
18 * INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF
19 * SUCH DAMAGES
20 */
21
28
29#ifndef OPTIX_OPTIX_TYPES_H
30#define OPTIX_OPTIX_TYPES_H
31
32#if !defined(__CUDACC_RTC__)
33#include <stddef.h> /* for size_t */
34#endif
35
36#ifdef NV_MODULE_OPTIX
37// This is a mechanism to include <g_nvconfig.h> in driver builds only and translate any nvconfig macro to a custom OPTIX-specific macro, that can also be used in SDK builds/installs
38#include <exp/misc/optix_nvconfig_translate.h> // includes <g_nvconfig.h>
39#endif // NV_MODULE_OPTIX
40
41
44
49// This typedef should match the one in cuda.h in order to avoid compilation errors.
50#if defined(_WIN64) || defined(__LP64__)
52typedef unsigned long long CUdeviceptr;
53#else
55typedef unsigned int CUdeviceptr;
56#endif
57
59typedef struct OptixDeviceContext_t* OptixDeviceContext;
60
62typedef struct OptixModule_t* OptixModule;
63
65typedef struct OptixProgramGroup_t* OptixProgramGroup;
66
68typedef struct OptixPipeline_t* OptixPipeline;
69
71typedef struct OptixDenoiser_t* OptixDenoiser;
72
74typedef struct OptixTask_t* OptixTask;
75
77typedef unsigned long long OptixTraversableHandle;
78
80typedef unsigned int OptixVisibilityMask;
81
83#define OPTIX_SBT_RECORD_HEADER_SIZE ( (size_t)32 )
84
86#define OPTIX_SBT_RECORD_ALIGNMENT 16ull
87
89#define OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT 128ull
90
92#define OPTIX_INSTANCE_BYTE_ALIGNMENT 16ull
93
95#define OPTIX_AABB_BUFFER_BYTE_ALIGNMENT 8ull
96
98#define OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT 16ull
99
101#define OPTIX_TRANSFORM_BYTE_ALIGNMENT 64ull
102
104#define OPTIX_OPACITY_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT 8ull
105
107#define OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT 0
108
110#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT 8
111
113#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT 32
114
117#define OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT ( 0 )
118#define OPTIX_OPACITY_MICROMAP_STATE_OPAQUE ( 1 )
119#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT ( 2 )
120#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE ( 3 )
121
124#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT ( -1 )
125#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE ( -2 )
126#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT ( -3 )
127#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE ( -4 )
128
130#define OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT 128ull
131
133#define OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL 12
134
136#define OPTIX_DISPLACEMENT_MICROMAP_MAX_SUBDIVISION_LEVEL 5
137
139#define OPTIX_DISPLACEMENT_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT 8ull
140
142#define OPTIX_DISPLACEMENT_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT 128ull
143
151typedef enum OptixResult
152{
195
200{
203
207
211
215
219
222
226
230
236
261typedef void ( *OptixLogCallback )( unsigned int level, const char* tag, const char* message, void* cbdata );
262
271{
275
280{
290
294{
297
301
306
312
318typedef enum OptixHitKind
319{
325
328{
336
339{
348
351{
355
357{
362
364{
369
372{
380
383{
394
400{
403 unsigned int count;
405 unsigned int subdivisionLevel;
409
411{
414
420
431
434 unsigned int indexSizeInBytes;
435
438 unsigned int indexStrideInBytes;
439
441 unsigned int indexOffset;
442
449
451{
457
458
461{
467
470{
472
475
478
480
482{
492
494{
496 unsigned int byteOffset;
498 unsigned short subdivisionLevel;
500 unsigned short format;
502
508{
510 unsigned int count;
512 unsigned int subdivisionLevel;
516
519{
537
543{
546 unsigned int count;
548 unsigned int subdivisionLevel;
552
555{
566
569{
572
583
591
596
601
604
610
612
613
618{
627
629 unsigned int numVertices;
630
633
637
642
644 unsigned int numIndexTriplets;
645
648
651 unsigned int indexStrideInBytes;
652
657
661 const unsigned int* flags;
662
664 unsigned int numSbtRecords;
665
670
673
677
681
684
689
691
696{
699 unsigned int numSbtRecords;
700
704
708{
730
735{
757
761{
767
786{
791 unsigned int numPrimitives;
792
799 unsigned int numVertices;
803
809 unsigned int widthStrideInBytes;
810
815
824 unsigned int indexStrideInBytes;
825
828 unsigned int flag;
829
833
835 unsigned int endcapFlags;
837
851{
857
862 unsigned int numVertices;
863
873
877 const unsigned int* flags;
878
880 unsigned int numSbtRecords;
890
895
897typedef struct OptixAabb
898{
899 float minX;
900 float minY;
901 float minZ;
902 float maxX;
903 float maxY;
904 float maxZ;
906
911{
917
920 unsigned int numPrimitives;
921
925 unsigned int strideInBytes;
926
930 const unsigned int* flags;
931
933 unsigned int numSbtRecords;
934
939
942
946
951
956{
965
967 unsigned int numInstances;
968
972 unsigned int instanceStride;
974
979{
982 unsigned int numInstances;
983
990
992
997{
1011
1017typedef struct OptixBuildInput
1018{
1021
1022 union
1023 {
1034 char pad[1024];
1035 };
1037
1042{
1045
1046 union
1047 {
1050
1053
1055 };
1057
1058// Some 32-bit tools use this header. This static_assert fails for them because
1059// the default enum size is 4 bytes, rather than 8, under 32-bit compilers.
1060// This #ifndef allows them to disable the static assert.
1061
1062// TODO Define a static assert for C/pre-C++-11
1063#if defined( __cplusplus ) && __cplusplus >= 201103L
1064static_assert( sizeof( OptixBuildInput ) == 8 + 1024, "OptixBuildInput has wrong size" );
1065#endif
1066
1071{
1074
1079
1083
1088
1094
1095
1101
1103
1107typedef struct OptixInstance
1108{
1110 float transform[12];
1111
1113 unsigned int instanceId;
1114
1118 unsigned int sbtOffset;
1119
1122 unsigned int visibilityMask;
1123
1125 unsigned int flags;
1126
1129
1131 unsigned int pad[2];
1133
1138{
1141
1145
1147
1150
1153
1164
1168
1173
1179
1180
1183{
1185
1188
1192
1195{
1197 unsigned int byteOffset;
1199 unsigned short subdivisionLevel;
1201 unsigned short format;
1203
1209{
1211 unsigned int count;
1213 unsigned int subdivisionLevel;
1217
1220{
1222 unsigned int flags;
1223
1226
1230
1235
1242
1245{
1249
1252{
1262
1263
1276{
1282
1287{
1292
1298{
1301 unsigned short numKeys;
1302
1304 unsigned short flags;
1305
1308
1310 float timeEnd;
1312
1317{
1319 unsigned int buildFlags;
1320
1328
1332
1339{
1343
1347
1354
1359{
1362
1366
1371{
1374
1378
1384{
1386 unsigned long long info[4];
1388
1395{
1398
1400 unsigned int pad[2];
1401
1403 float transform[12];
1404
1407 float invTransform[12];
1409
1435{
1438
1442
1444 unsigned int pad[3];
1445
1447 float transform[2][12];
1449
1457// [ sx a b pvx ]
1458// S = [ 0 sy c pvy ]
1459// [ 0 0 sz pvz ]
1468// [ 1 0 0 tx ]
1469// T = [ 0 1 0 ty ]
1470// [ 0 0 1 tz ]
1480typedef struct OptixSRTData
1481{
1484 float sx, a, b, pvx, sy, c, pvy, sz, pvz, qx, qy, qz, qw, tx, ty, tz;
1487
1488// TODO Define a static assert for C/pre-C++-11
1489#if defined( __cplusplus ) && __cplusplus >= 201103L
1490static_assert( sizeof( OptixSRTData ) == 16 * 4, "OptixSRTData has wrong size" );
1491#endif
1492
1518{
1521
1525
1527 unsigned int pad[3];
1528
1532
1533// TODO Define a static assert for C/pre-C++-11
1534#if defined( __cplusplus ) && __cplusplus >= 201103L
1535static_assert( sizeof( OptixSRTMotionTransform ) == 8 + 12 + 12 + 2 * 16 * 4, "OptixSRTMotionTransform has wrong size" );
1536#endif
1537
1542{
1550
1555{
1568
1572typedef struct OptixImage2D
1573{
1577 unsigned int width;
1579 unsigned int height;
1581 unsigned int rowStrideInBytes;
1590
1595{
1598
1601
1604
1607
1610
1613
1618
1623{
1624 // if nonzero, albedo image must be given in OptixDenoiserGuideLayer
1625 unsigned int guideAlbedo;
1626
1627 // if nonzero, normal image must be given in OptixDenoiserGuideLayer
1628 unsigned int guideNormal;
1630
1635{
1636 // albedo/bsdf image
1638
1639 // normal vector image (2d or 3d pixel format)
1641
1642 // 2d flow image, pixel flow from previous to current frame for each pixel
1644
1645 // Internal images used in temporal AOV denoising modes,
1646 // pixel format OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER
1649
1650 // 1d image specifying how trustworthy the flow vector at x,y position in
1651 // OptixDenoiserGuideLayer::flow is. Range 0..1 (low->high trustworthiness).
1652 // Ignored if data pointer in the image is zero.
1654
1656
1660{
1663
1669
1671
1676{
1677 // input image (beauty or AOV)
1679
1680 // denoised output image from previous frame if temporal model kind selected
1682
1683 // denoised output for given input
1685
1686 // Type of AOV, used in temporal AOV modes as a hint to improve image quality.
1689
1696{
1699
1702
1708{
1711
1716
1722
1728
1735
1740{
1743
1747
1751
1754
1758
1762
1766
1771typedef enum OptixRayFlags
1772{
1775
1781
1787
1791
1794
1800
1806
1813
1820
1824
1831{
1838
1842{
1846
1851
1858
1863{
1875
1880{
1893
1898{
1901
1904
1907
1910
1914
1915
1916
1952 const void* boundValuePtr;
1953 const char* annotation; // optional string to display, set to 0 if unused. If unused,
1954 // OptiX will report the annotation as "No annotation"
1956
1967 OPTIX_PAYLOAD_TYPE_ID_7 = (1 << 7u)
1969
1984{
1989
1994
1999
2004
2010
2012typedef struct OptixPayloadType
2013{
2015 unsigned int numPayloadValues;
2016
2018 const unsigned int *payloadSemantics;
2020
2025{
2029
2032
2035
2038
2040 unsigned int numBoundValues;
2041
2044 unsigned int numPayloadTypes;
2045
2048
2050
2053{
2057
2061
2065
2069
2074
2077{
2081
2089{
2095
2102{
2116
2123{
2133
2136{
2139
2141 unsigned int flags;
2142
2143 union
2144 {
2155 };
2157
2162{
2177
2180{
2184
2188
2194
2201
2207
2212 // sbt-index (See optixGetExceptionInvalidSbtOffset),
2213 // sbt-instance-offset (See OptixInstance::sbtOffset),
2225
2229
2235
2242
2245
2251
2255
2259
2267
2273
2276
2280
2285{
2288
2291
2294
2298
2302
2309{
2312
2315
2319
2323
2325 unsigned int exceptionFlags;
2326
2331
2335
2339
2344{
2347 unsigned int maxTraceDepth;
2348
2350
2355{
2359
2363
2369 unsigned int missRecordCount;
2371
2379
2388
2390
2394typedef struct OptixStackSizes
2395{
2397 unsigned int cssRG;
2399 unsigned int cssMS;
2401 unsigned int cssCH;
2403 unsigned int cssAH;
2405 unsigned int cssIS;
2407 unsigned int cssCC;
2409 unsigned int dssDC;
2410
2412
2415{
2418
2420
2423 unsigned int numOptions,
2424 OptixQueryFunctionTableOptions* /*optionKeys*/,
2425 const void** /*optionValues*/,
2426 void* functionTable,
2427 size_t sizeOfTable );
2428
2434{
2439 unsigned int buildFlags;
2441 unsigned int curveEndcapFlags;
2443
2444#if defined( __CUDACC__ )
2449typedef struct OptixInvalidRayExceptionDetails
2450{
2451 float3 origin;
2452 float3 direction;
2453 float tmin;
2454 float tmax;
2455 float time;
2456} OptixInvalidRayExceptionDetails;
2457
2464typedef struct OptixParameterMismatchExceptionDetails
2465{
2467 unsigned int expectedParameterCount;
2469 unsigned int passedArgumentCount;
2471 unsigned int sbtIndex;
2473 char* callableName;
2474} OptixParameterMismatchExceptionDetails;
2475#endif
2476
2477 // end group optix_types
2479
2480#endif // OPTIX_OPTIX_TYPES_H
struct OptixStackSizes OptixStackSizes
Describes the stack size requirements of a program group.
struct OptixRelocateInputTriangleArray OptixRelocateInputTriangleArray
Triangle inputs.
struct OptixProgramGroup_t * OptixProgramGroup
Opaque type representing a program group.
Definition: optix_types.h:65
struct OptixDenoiser_t * OptixDenoiser
Opaque type representing a denoiser instance.
Definition: optix_types.h:71
struct OptixRelocateInputOpacityMicromap OptixRelocateInputOpacityMicromap
OptixDeviceContextValidationMode
Validation mode settings.
Definition: optix_types.h:271
OptixPrimitiveTypeFlags
Builtin flags may be bitwise combined.
Definition: optix_types.h:735
struct OptixProgramGroupOptions OptixProgramGroupOptions
Program group options.
OptixGeometryFlags
Flags used by OptixBuildInputTriangleArray::flags and OptixBuildInputCustomPrimitiveArray::flags.
Definition: optix_types.h:294
struct OptixAabb OptixAabb
AABB inputs.
OptixDeviceProperty
Parameters used for optixDeviceContextGetProperty()
Definition: optix_types.h:200
struct OptixMotionOptions OptixMotionOptions
Motion options.
OptixDisplacementMicromapFlags
Flags defining behavior of DMMs in a DMM array.
Definition: optix_types.h:470
struct OptixDisplacementMicromapArrayBuildInput OptixDisplacementMicromapArrayBuildInput
Inputs to displacement micromaps array construction.
struct OptixProgramGroupDesc OptixProgramGroupDesc
Descriptor for program groups.
OptixMotionFlags
Enum to specify motion flags.
Definition: optix_types.h:1287
struct OptixPayloadType OptixPayloadType
Specifies a single payload type.
struct OptixDenoiserLayer OptixDenoiserLayer
Input/Output layers for the denoiser.
OptixExceptionCodes
The following values are used to indicate which exception was thrown.
Definition: optix_types.h:2180
struct OptixPipelineLinkOptions OptixPipelineLinkOptions
Link options for a pipeline.
struct OptixDenoiserGuideLayer OptixDenoiserGuideLayer
Guide layer for the denoiser.
OptixDenoiserAlphaMode
Various parameters used by the denoiser.
Definition: optix_types.h:1696
OptixCompileDebugLevel
Debug levels.
Definition: optix_types.h:1880
struct OptixAccelBuildOptions OptixAccelBuildOptions
Build options for acceleration structures.
struct OptixBuildInputOpacityMicromap OptixBuildInputOpacityMicromap
struct OptixOpacityMicromapHistogramEntry OptixOpacityMicromapHistogramEntry
Opacity micromap histogram entry. Specifies how many opacity micromaps of a specific type are input t...
struct OptixMatrixMotionTransform OptixMatrixMotionTransform
Represents a matrix motion transformation.
OptixTransformType
Transform.
Definition: optix_types.h:1831
unsigned long long CUdeviceptr
CUDA device pointer.
Definition: optix_types.h:52
OptixPayloadSemantics
Semantic flags for a single payload word.
Definition: optix_types.h:1984
OptixResult
Result codes returned from API functions.
Definition: optix_types.h:152
OptixBuildOperation
Enum to specify the acceleration build operation.
Definition: optix_types.h:1276
OptixResult() OptixQueryFunctionTable_t(int abiId, unsigned int numOptions, OptixQueryFunctionTableOptions *, const void **, void *functionTable, size_t sizeOfTable)
Type of the function optixQueryFunctionTable()
Definition: optix_types.h:2422
struct OptixShaderBindingTable OptixShaderBindingTable
Describes the shader binding table (SBT)
OptixOpacityMicromapFormat
Specifies whether to use a 2- or 4-state opacity micromap format.
Definition: optix_types.h:372
OptixAccelPropertyType
Properties which can be emitted during acceleration structure build.
Definition: optix_types.h:1359
struct OptixBuildInputSphereArray OptixBuildInputSphereArray
Sphere inputs.
struct OptixBuildInputCurveArray OptixBuildInputCurveArray
Curve inputs.
struct OptixAccelBufferSizes OptixAccelBufferSizes
Struct for querying builder allocation requirements.
struct OptixDisplacementMicromapHistogramEntry OptixDisplacementMicromapHistogramEntry
Displacement micromap histogram entry. Specifies how many displacement micromaps of a specific type a...
struct OptixProgramGroupHitgroup OptixProgramGroupHitgroup
Program group representing the hitgroup.
OptixDenoiserAOVType
AOV type used by the denoiser.
Definition: optix_types.h:1660
OptixRayFlags
Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invo...
Definition: optix_types.h:1772
struct OptixStaticTransform OptixStaticTransform
Static transform.
OptixModuleCompileState
Module compilation state.
Definition: optix_types.h:1898
OptixVertexFormat
Format of vertices used in OptixBuildInputTriangleArray::vertexFormat.
Definition: optix_types.h:339
struct OptixPipelineCompileOptions OptixPipelineCompileOptions
Compilation options for all modules of a pipeline.
OptixPixelFormat
Pixel formats used by the denoiser.
Definition: optix_types.h:1555
OptixDisplacementMicromapArrayIndexingMode
indexing mode of triangles to displacement micromaps in an array, used in OptixBuildInputDisplacement...
Definition: optix_types.h:555
OptixDisplacementMicromapDirectionFormat
Definition: optix_types.h:364
struct OptixRelocateInput OptixRelocateInput
Relocation inputs.
struct OptixDeviceContextOptions OptixDeviceContextOptions
Parameters used for optixDeviceContextCreate()
struct OptixProgramGroupCallables OptixProgramGroupCallables
Program group representing callables.
struct OptixImage2D OptixImage2D
Image descriptor used by the denoiser.
struct OptixMicromapBuffers OptixMicromapBuffers
Buffer inputs for opacity/displacement micromap array builds.
struct OptixModule_t * OptixModule
Opaque type representing a module.
Definition: optix_types.h:62
struct OptixProgramGroupSingleModule OptixProgramGroupSingleModule
Program group representing a single module.
struct OptixOpacityMicromapDesc OptixOpacityMicromapDesc
Opacity micromap descriptor.
OptixDenoiserModelKind
Model kind used by the denoiser.
Definition: optix_types.h:1595
struct OptixSRTData OptixSRTData
Represents an SRT transformation.
struct OptixSRTMotionTransform OptixSRTMotionTransform
Represents an SRT motion transformation.
struct OptixModuleCompileBoundValueEntry OptixModuleCompileBoundValueEntry
Struct for specifying specializations for pipelineParams as specified in OptixPipelineCompileOptions:...
OptixBuildInputType
Enum to distinguish the different build input types.
Definition: optix_types.h:997
struct OptixRelocateInputInstanceArray OptixRelocateInputInstanceArray
Instance and instance pointer inputs.
struct OptixAccelEmitDesc OptixAccelEmitDesc
Specifies a type and output destination for emitted post-build properties.
OptixDisplacementMicromapBiasAndScaleFormat
Definition: optix_types.h:357
struct OptixDisplacementMicromapDesc OptixDisplacementMicromapDesc
struct OptixBuildInputTriangleArray OptixBuildInputTriangleArray
Triangle inputs.
struct OptixBuildInput OptixBuildInput
Build inputs.
struct OptixRelocationInfo OptixRelocationInfo
Used to store information related to relocation of optix data structures.
struct OptixBuildInputCustomPrimitiveArray OptixBuildInputCustomPrimitiveArray
Custom primitive inputs.
struct OptixOpacityMicromapUsageCount OptixOpacityMicromapUsageCount
Opacity micromap usage count for acceleration structure builds. Specifies how many opacity micromaps ...
unsigned int OptixVisibilityMask
Visibility mask.
Definition: optix_types.h:80
OptixCurveEndcapFlags
Curve end cap types, for non-linear curves.
Definition: optix_types.h:761
struct OptixDenoiserParams OptixDenoiserParams
OptixOpacityMicromapFlags
Flags defining behavior of opacity micromaps in a opacity micromap array.
Definition: optix_types.h:1183
OptixExceptionFlags
Exception flags.
Definition: optix_types.h:2285
OptixDisplacementMicromapTriangleFlags
Definition: optix_types.h:482
OptixHitKind
Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use o...
Definition: optix_types.h:319
struct OptixPipeline_t * OptixPipeline
Opaque type representing a pipeline.
Definition: optix_types.h:68
OptixProgramGroupFlags
Flags for program groups.
Definition: optix_types.h:2077
OptixIndicesFormat
Format of indices used int OptixBuildInputTriangleArray::indexFormat.
Definition: optix_types.h:328
unsigned long long OptixTraversableHandle
Traversable handle.
Definition: optix_types.h:77
OptixProgramGroupKind
Distinguishes different kinds of program groups.
Definition: optix_types.h:2053
OptixTraversableGraphFlags
Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace()....
Definition: optix_types.h:1842
struct OptixDenoiserSizes OptixDenoiserSizes
Various sizes related to the denoiser.
OptixPrimitiveType
Builtin primitive types.
Definition: optix_types.h:708
struct OptixModuleCompileOptions OptixModuleCompileOptions
Compilation options for module.
OptixPayloadTypeID
Payload type identifiers.
Definition: optix_types.h:1958
OptixTraversableType
Traversable Handles.
Definition: optix_types.h:1542
struct OptixBuildInputDisplacementMicromap OptixBuildInputDisplacementMicromap
Optional displacement part of a triangle array input.
void(* OptixLogCallback)(unsigned int level, const char *tag, const char *message, void *cbdata)
Type of the callback function used for log messages.
Definition: optix_types.h:261
struct OptixBuildInputInstanceArray OptixBuildInputInstanceArray
Instance and instance pointer inputs.
struct OptixDisplacementMicromapUsageCount OptixDisplacementMicromapUsageCount
Displacement micromap usage count for acceleration structure builds. Specifies how many displacement ...
struct OptixBuiltinISOptions OptixBuiltinISOptions
Specifies the options for retrieving an intersection program for a built-in primitive type....
OptixInstanceFlags
Flags set on the OptixInstance::flags.
Definition: optix_types.h:1071
OptixOpacityMicromapArrayIndexingMode
indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.
Definition: optix_types.h:383
OptixDisplacementMicromapFormat
DMM input data format.
Definition: optix_types.h:461
struct OptixTask_t * OptixTask
Opaque type representing a work task.
Definition: optix_types.h:74
OptixCompileOptimizationLevel
Optimization levels.
Definition: optix_types.h:1863
struct OptixInstance OptixInstance
Instances.
struct OptixMicromapBufferSizes OptixMicromapBufferSizes
Conservative memory requirements for building a opacity/displacement micromap array.
struct OptixDeviceContext_t * OptixDeviceContext
Opaque type representing a device context.
Definition: optix_types.h:59
struct OptixDenoiserOptions OptixDenoiserOptions
Options used by the denoiser.
OptixTransformFormat
Format of transform used in OptixBuildInputTriangleArray::transformFormat.
Definition: optix_types.h:351
OptixQueryFunctionTableOptions
Options that can be passed to optixQueryFunctionTable()
Definition: optix_types.h:2415
struct OptixOpacityMicromapArrayBuildInput OptixOpacityMicromapArrayBuildInput
Inputs to opacity micromap array construction.
OptixBuildFlags
Builder Options.
Definition: optix_types.h:1138
@ OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_ALL
Definition: optix_types.h:273
@ OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_OFF
Definition: optix_types.h:272
@ OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE
Triangle.
Definition: optix_types.h:753
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_LINEAR
Piecewise linear curve with circular cross-section.
Definition: optix_types.h:743
@ OPTIX_PRIMITIVE_TYPE_FLAGS_FLAT_QUADRATIC_BSPLINE
B-spline curve of degree 2 with oriented, flat cross-section.
Definition: optix_types.h:747
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BEZIER
Bezier curve of degree 3 with circular cross-section.
Definition: optix_types.h:751
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CATMULLROM
CatmullRom curve with circular cross-section.
Definition: optix_types.h:745
@ OPTIX_PRIMITIVE_TYPE_FLAGS_SPHERE
Sphere.
Definition: optix_types.h:749
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BSPLINE
B-spline curve of degree 3 with circular cross-section.
Definition: optix_types.h:741
@ OPTIX_PRIMITIVE_TYPE_FLAGS_DISPLACED_MICROMESH_TRIANGLE
Triangle with an applied displacement micromap.
Definition: optix_types.h:755
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_QUADRATIC_BSPLINE
B-spline curve of degree 2 with circular cross-section.
Definition: optix_types.h:739
@ OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM
Custom primitive.
Definition: optix_types.h:737
@ OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT
Disables the invocation of the anyhit program. Can be overridden by OPTIX_INSTANCE_FLAG_ENFORCE_ANYHI...
Definition: optix_types.h:300
@ OPTIX_GEOMETRY_FLAG_DISABLE_TRIANGLE_FACE_CULLING
Prevent triangles from getting culled due to their orientation. Effectively ignores ray flags OPTIX_R...
Definition: optix_types.h:310
@ OPTIX_GEOMETRY_FLAG_NONE
No flags set.
Definition: optix_types.h:296
@ OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL
If set, an intersection with the primitive will trigger one and only one invocation of the anyhit pro...
Definition: optix_types.h:305
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_SBT_OFFSET
The maximum summed value of OptixInstance::sbtOffset. Also the maximum summed value of sbt offsets of...
Definition: optix_types.h:234
@ OPTIX_DEVICE_PROPERTY_RTCORE_VERSION
The RT core version supported by the device (0 for no support, 10 for version 1.0)....
Definition: optix_types.h:218
@ 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)....
Definition: optix_types.h:229
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRACE_DEPTH
Maximum value for OptixPipelineLinkOptions::maxTraceDepth. sizeof( unsigned int )
Definition: optix_types.h:202
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_PRIMITIVES_PER_GAS
The maximum number of primitives (over all build inputs) as input to a single Geometry Acceleration S...
Definition: optix_types.h:210
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID
The maximum value for OptixInstance::instanceId. sizeof( unsigned int )
Definition: optix_types.h:221
@ 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....
Definition: optix_types.h:225
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCES_PER_IAS
The maximum number of instances (over all build inputs) as input to a single Instance Acceleration St...
Definition: optix_types.h:214
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRAVERSABLE_GRAPH_DEPTH
Maximum value to pass into optixPipelineSetStackSize for parameter maxTraversableGraphDepth....
Definition: optix_types.h:206
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_NONE
Definition: optix_types.h:471
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:477
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:474
@ OPTIX_MOTION_FLAG_END_VANISH
Definition: optix_types.h:1290
@ OPTIX_MOTION_FLAG_NONE
Definition: optix_types.h:1288
@ OPTIX_MOTION_FLAG_START_VANISH
Definition: optix_types.h:1289
@ OPTIX_EXCEPTION_CODE_UNSUPPORTED_DATA_ACCESS
Tried to access data on an AS without random data access support (See OptixBuildFlags).
Definition: optix_types.h:2275
@ OPTIX_EXCEPTION_CODE_STACK_OVERFLOW
Stack overflow of the continuation stack. no exception details.
Definition: optix_types.h:2183
@ OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_TRAVERSABLE
Traversal encountered an invalid traversable type. Exception details: optixGetTransformListSize() opt...
Definition: optix_types.h:2200
@ OPTIX_EXCEPTION_CODE_CALLABLE_PARAMETER_MISMATCH
The shader encountered a call to either optixDirectCall or optixCallableCall where the argument count...
Definition: optix_types.h:2241
@ OPTIX_EXCEPTION_CODE_TRAVERSAL_INVALID_HIT_SBT
The traversal hit SBT record index out of bounds.
Definition: optix_types.h:2224
@ OPTIX_EXCEPTION_CODE_TRAVERSAL_DEPTH_EXCEEDED
The traversal depth is exceeded. Exception details: optixGetTransformListSize() optixGetTransformList...
Definition: optix_types.h:2193
@ OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_2
Definition: optix_types.h:2272
@ OPTIX_EXCEPTION_CODE_TRACE_DEPTH_EXCEEDED
The trace depth is exceeded. no exception details.
Definition: optix_types.h:2187
@ OPTIX_EXCEPTION_CODE_UNSUPPORTED_SINGLE_LEVEL_GAS
Tried to directly traverse a single gas while single gas traversable graphs are not enabled (see Opti...
Definition: optix_types.h:2266
@ 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,...
Definition: optix_types.h:2206
@ OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_1
Definition: optix_types.h:2271
@ 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 t...
Definition: optix_types.h:2254
@ OPTIX_EXCEPTION_CODE_BUILTIN_IS_MISMATCH
The invoked builtin IS does not match the current GAS.
Definition: optix_types.h:2244
@ OPTIX_EXCEPTION_CODE_INVALID_VALUE_ARGUMENT_0
argument passed to an optix call is not within an acceptable range of values.
Definition: optix_types.h:2270
@ OPTIX_EXCEPTION_CODE_PAYLOAD_TYPE_MISMATCH
The program payload type doesn't match the trace payload type.
Definition: optix_types.h:2278
@ 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 g...
Definition: optix_types.h:2258
@ 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 call...
Definition: optix_types.h:2250
@ OPTIX_EXCEPTION_CODE_INVALID_RAY
The shader encountered a call to optixTrace with at least one of the float arguments being inf or nan...
Definition: optix_types.h:2234
@ OPTIX_EXCEPTION_CODE_UNSUPPORTED_PRIMITIVE_TYPE
The shader encountered an unsupported primitive type (See OptixPipelineCompileOptions::usesPrimitiveT...
Definition: optix_types.h:2228
@ OPTIX_DENOISER_ALPHA_MODE_ALPHA_AS_AOV
Denoise alpha separately. With AOV model kinds, treat alpha like an AOV.
Definition: optix_types.h:1701
@ OPTIX_DENOISER_ALPHA_MODE_FULL_DENOISE_PASS
With AOV model kinds, full denoise pass with alpha. This is slower than OPTIX_DENOISER_ALPHA_MODE_ALP...
Definition: optix_types.h:1705
@ OPTIX_DENOISER_ALPHA_MODE_COPY
Copy alpha (if present) from input layer, no denoising.
Definition: optix_types.h:1698
@ OPTIX_COMPILE_DEBUG_LEVEL_MINIMAL
Generate information that does not impact performance. Note this replaces OPTIX_COMPILE_DEBUG_LEVEL_L...
Definition: optix_types.h:1887
@ OPTIX_COMPILE_DEBUG_LEVEL_FULL
Generate full debug information.
Definition: optix_types.h:1891
@ OPTIX_COMPILE_DEBUG_LEVEL_MODERATE
Generate some debug information with slight performance cost.
Definition: optix_types.h:1889
@ OPTIX_COMPILE_DEBUG_LEVEL_NONE
No debug information.
Definition: optix_types.h:1884
@ OPTIX_COMPILE_DEBUG_LEVEL_DEFAULT
Default currently is minimal.
Definition: optix_types.h:1882
@ OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM
Definition: optix_types.h:1835
@ OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM
Definition: optix_types.h:1833
@ OPTIX_TRANSFORM_TYPE_INSTANCE
Definition: optix_types.h:1836
@ OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM
Definition: optix_types.h:1834
@ OPTIX_TRANSFORM_TYPE_NONE
Not a transformation.
Definition: optix_types.h:1832
@ OPTIX_PAYLOAD_SEMANTICS_CH_NONE
Definition: optix_types.h:1990
@ OPTIX_PAYLOAD_SEMANTICS_CH_WRITE
Definition: optix_types.h:1992
@ OPTIX_PAYLOAD_SEMANTICS_IS_READ_WRITE
Definition: optix_types.h:2008
@ OPTIX_PAYLOAD_SEMANTICS_CH_READ
Definition: optix_types.h:1991
@ OPTIX_PAYLOAD_SEMANTICS_AH_READ_WRITE
Definition: optix_types.h:2003
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_NONE
Definition: optix_types.h:1985
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ_WRITE
Definition: optix_types.h:1988
@ OPTIX_PAYLOAD_SEMANTICS_MS_READ
Definition: optix_types.h:1996
@ OPTIX_PAYLOAD_SEMANTICS_MS_NONE
Definition: optix_types.h:1995
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ
Definition: optix_types.h:1986
@ OPTIX_PAYLOAD_SEMANTICS_AH_NONE
Definition: optix_types.h:2000
@ OPTIX_PAYLOAD_SEMANTICS_CH_READ_WRITE
Definition: optix_types.h:1993
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_WRITE
Definition: optix_types.h:1987
@ OPTIX_PAYLOAD_SEMANTICS_IS_READ
Definition: optix_types.h:2006
@ OPTIX_PAYLOAD_SEMANTICS_IS_NONE
Definition: optix_types.h:2005
@ OPTIX_PAYLOAD_SEMANTICS_MS_WRITE
Definition: optix_types.h:1997
@ OPTIX_PAYLOAD_SEMANTICS_MS_READ_WRITE
Definition: optix_types.h:1998
@ OPTIX_PAYLOAD_SEMANTICS_AH_READ
Definition: optix_types.h:2001
@ OPTIX_PAYLOAD_SEMANTICS_IS_WRITE
Definition: optix_types.h:2007
@ OPTIX_PAYLOAD_SEMANTICS_AH_WRITE
Definition: optix_types.h:2002
@ OPTIX_ERROR_DISK_CACHE_DATABASE_ERROR
Definition: optix_types.h:161
@ OPTIX_ERROR_PIPELINE_LINK_ERROR
Definition: optix_types.h:174
@ OPTIX_ERROR_INVALID_FUNCTION_USE
Definition: optix_types.h:171
@ OPTIX_ERROR_INVALID_OPERATION
Definition: optix_types.h:156
@ OPTIX_ERROR_LIBRARY_NOT_FOUND
Definition: optix_types.h:187
@ OPTIX_ERROR_DISK_CACHE_INVALID_PATH
Definition: optix_types.h:159
@ OPTIX_ERROR_DENOISER_NOT_INITIALIZED
Definition: optix_types.h:178
@ OPTIX_ERROR_INVALID_PAYLOAD_ACCESS
Definition: optix_types.h:169
@ OPTIX_ERROR_LAUNCH_FAILURE
Definition: optix_types.h:163
@ OPTIX_ERROR_FILE_IO_ERROR
Definition: optix_types.h:157
@ OPTIX_ERROR_PAYLOAD_TYPE_MISMATCH
Definition: optix_types.h:180
@ OPTIX_ERROR_DEVICE_OUT_OF_MEMORY
Definition: optix_types.h:190
@ OPTIX_ERROR_LIBRARY_UNLOAD_FAILURE
Definition: optix_types.h:189
@ OPTIX_ERROR_ENTRY_SYMBOL_NOT_FOUND
Definition: optix_types.h:188
@ OPTIX_ERROR_PAYLOAD_TYPE_ID_INVALID
Definition: optix_types.h:182
@ OPTIX_ERROR_CUDA_ERROR
Definition: optix_types.h:191
@ OPTIX_ERROR_INVALID_LAUNCH_PARAMETER
Definition: optix_types.h:168
@ OPTIX_ERROR_VALIDATION_FAILURE
Definition: optix_types.h:166
@ OPTIX_ERROR_DENOISER_MODEL_NOT_SET
Definition: optix_types.h:177
@ OPTIX_ERROR_INTERNAL_COMPILER_ERROR
Definition: optix_types.h:176
@ OPTIX_ERROR_HOST_OUT_OF_MEMORY
Definition: optix_types.h:155
@ OPTIX_SUCCESS
Definition: optix_types.h:153
@ OPTIX_ERROR_DISK_CACHE_INVALID_DATA
Definition: optix_types.h:162
@ OPTIX_ERROR_DISK_CACHE_PERMISSION_ERROR
Definition: optix_types.h:160
@ OPTIX_ERROR_INVALID_VALUE
Definition: optix_types.h:154
@ OPTIX_ERROR_INVALID_INPUT
Definition: optix_types.h:167
@ OPTIX_ERROR_INVALID_DEVICE_CONTEXT
Definition: optix_types.h:164
@ OPTIX_ERROR_CUDA_NOT_INITIALIZED
Definition: optix_types.h:165
@ OPTIX_ERROR_PAYLOAD_TYPE_RESOLUTION_FAILED
Definition: optix_types.h:181
@ OPTIX_ERROR_UNSUPPORTED_ABI_VERSION
Definition: optix_types.h:184
@ OPTIX_ERROR_NOT_COMPATIBLE
Definition: optix_types.h:179
@ OPTIX_ERROR_NOT_SUPPORTED
Definition: optix_types.h:183
@ OPTIX_ERROR_UNKNOWN
Definition: optix_types.h:193
@ OPTIX_ERROR_PIPELINE_OUT_OF_CONSTANT_MEMORY
Definition: optix_types.h:173
@ OPTIX_ERROR_INVALID_FUNCTION_ARGUMENTS
Definition: optix_types.h:172
@ OPTIX_ERROR_INVALID_ENTRY_FUNCTION_OPTIONS
Definition: optix_types.h:186
@ OPTIX_ERROR_INTERNAL_ERROR
Definition: optix_types.h:192
@ OPTIX_ERROR_INVALID_FILE_FORMAT
Definition: optix_types.h:158
@ OPTIX_ERROR_FUNCTION_TABLE_SIZE_MISMATCH
Definition: optix_types.h:185
@ OPTIX_ERROR_INVALID_ATTRIBUTE_ACCESS
Definition: optix_types.h:170
@ OPTIX_ERROR_ILLEGAL_DURING_TASK_EXECUTE
Definition: optix_types.h:175
@ OPTIX_BUILD_OPERATION_BUILD
Perform a full build operation.
Definition: optix_types.h:1278
@ OPTIX_BUILD_OPERATION_UPDATE
Perform an update using new bounds.
Definition: optix_types.h:1280
@ OPTIX_OPACITY_MICROMAP_FORMAT_2_STATE
0: Transparent, 1: Opaque
Definition: optix_types.h:376
@ OPTIX_OPACITY_MICROMAP_FORMAT_NONE
invalid format
Definition: optix_types.h:374
@ OPTIX_OPACITY_MICROMAP_FORMAT_4_STATE
0: Transparent, 1: Opaque, 2: Unknown-Transparent, 3: Unknown-Opaque
Definition: optix_types.h:378
@ OPTIX_PROPERTY_TYPE_AABBS
OptixAabb * numMotionSteps.
Definition: optix_types.h:1364
@ OPTIX_PROPERTY_TYPE_COMPACTED_SIZE
Size of a compacted acceleration structure. The device pointer points to a uint64.
Definition: optix_types.h:1361
@ OPTIX_DENOISER_AOV_TYPE_SPECULAR
Definition: optix_types.h:1665
@ OPTIX_DENOISER_AOV_TYPE_NONE
Unspecified AOV type.
Definition: optix_types.h:1662
@ OPTIX_DENOISER_AOV_TYPE_DIFFUSE
Definition: optix_types.h:1668
@ OPTIX_DENOISER_AOV_TYPE_REFRACTION
Definition: optix_types.h:1667
@ OPTIX_DENOISER_AOV_TYPE_BEAUTY
Definition: optix_types.h:1664
@ OPTIX_DENOISER_AOV_TYPE_REFLECTION
Definition: optix_types.h:1666
@ OPTIX_RAY_FLAG_FORCE_OPACITY_MICROMAP_2_STATE
Force 4-state opacity micromaps to behave as 2-state opactiy micromaps during traversal.
Definition: optix_types.h:1822
@ OPTIX_RAY_FLAG_TERMINATE_ON_FIRST_HIT
Terminates the ray after the first hit and executes the closesthit program of that hit.
Definition: optix_types.h:1790
@ OPTIX_RAY_FLAG_DISABLE_CLOSESTHIT
Disables closesthit programs for the ray, but still executes miss program in case of a miss.
Definition: optix_types.h:1793
@ OPTIX_RAY_FLAG_NONE
No change from the behavior configured for the individual AS.
Definition: optix_types.h:1774
@ OPTIX_RAY_FLAG_DISABLE_ANYHIT
Disables anyhit programs for the ray. Overrides OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT....
Definition: optix_types.h:1780
@ OPTIX_RAY_FLAG_CULL_BACK_FACING_TRIANGLES
Do not intersect triangle back faces (respects a possible face change due to instance flag OPTIX_INST...
Definition: optix_types.h:1799
@ OPTIX_RAY_FLAG_CULL_ENFORCED_ANYHIT
Do not intersect geometry which have an enabled anyhit program (due to not setting geometry flag OPTI...
Definition: optix_types.h:1819
@ OPTIX_RAY_FLAG_CULL_DISABLED_ANYHIT
Do not intersect geometry which disables anyhit programs (due to setting geometry flag OPTIX_GEOMETRY...
Definition: optix_types.h:1812
@ OPTIX_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES
Do not intersect triangle front faces (respects a possible face change due to instance flag OPTIX_INS...
Definition: optix_types.h:1805
@ OPTIX_RAY_FLAG_ENFORCE_ANYHIT
Forces anyhit program execution for the ray. Overrides OPTIX_GEOMETRY_FLAG_DISABLE_ANYHIT as well as ...
Definition: optix_types.h:1786
@ OPTIX_MODULE_COMPILE_STATE_STARTED
Started, but not all OptixTask objects have completed. No detected failures.
Definition: optix_types.h:1903
@ OPTIX_MODULE_COMPILE_STATE_FAILED
All OptixTask objects have completed, and at least one has failed.
Definition: optix_types.h:1909
@ OPTIX_MODULE_COMPILE_STATE_NOT_STARTED
No OptixTask objects have started.
Definition: optix_types.h:1900
@ OPTIX_MODULE_COMPILE_STATE_IMPENDING_FAILURE
Not all OptixTask objects have completed, but at least one has failed.
Definition: optix_types.h:1906
@ OPTIX_MODULE_COMPILE_STATE_COMPLETED
All OptixTask objects have completed. The OptixModule is ready to be used.
Definition: optix_types.h:1912
@ OPTIX_VERTEX_FORMAT_FLOAT3
Vertices are represented by three floats.
Definition: optix_types.h:341
@ OPTIX_VERTEX_FORMAT_HALF3
Vertices are represented by three halfs.
Definition: optix_types.h:343
@ OPTIX_VERTEX_FORMAT_SNORM16_3
Definition: optix_types.h:345
@ OPTIX_VERTEX_FORMAT_SNORM16_2
Definition: optix_types.h:346
@ OPTIX_VERTEX_FORMAT_NONE
No vertices.
Definition: optix_types.h:340
@ OPTIX_VERTEX_FORMAT_HALF2
Vertices are represented by two halfs.
Definition: optix_types.h:344
@ OPTIX_VERTEX_FORMAT_FLOAT2
Vertices are represented by two floats.
Definition: optix_types.h:342
@ OPTIX_PIXEL_FORMAT_HALF4
four halfs, RGBA
Definition: optix_types.h:1559
@ OPTIX_PIXEL_FORMAT_FLOAT2
two floats, XY
Definition: optix_types.h:1561
@ OPTIX_PIXEL_FORMAT_FLOAT4
four floats, RGBA
Definition: optix_types.h:1563
@ OPTIX_PIXEL_FORMAT_UCHAR4
four unsigned chars, RGBA
Definition: optix_types.h:1565
@ OPTIX_PIXEL_FORMAT_HALF3
three halfs, RGB
Definition: optix_types.h:1558
@ OPTIX_PIXEL_FORMAT_FLOAT3
three floats, RGB
Definition: optix_types.h:1562
@ OPTIX_PIXEL_FORMAT_UCHAR3
three unsigned chars, RGB
Definition: optix_types.h:1564
@ OPTIX_PIXEL_FORMAT_HALF1
one half
Definition: optix_types.h:1556
@ OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER
internal format
Definition: optix_types.h:1566
@ OPTIX_PIXEL_FORMAT_FLOAT1
one float
Definition: optix_types.h:1560
@ OPTIX_PIXEL_FORMAT_HALF2
two halfs, XY
Definition: optix_types.h:1557
@ OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_LINEAR
An implicit linear mapping of triangles to displacement micromaps in the displacement micromap array ...
Definition: optix_types.h:560
@ OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_NONE
No displacement micromap is used.
Definition: optix_types.h:557
@ OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_INDEXED
OptixBuildInputDisplacementMicromap::displacementMicromapIndexBuffer provides a per triangle array of...
Definition: optix_types.h:564
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_HALF3
Definition: optix_types.h:367
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_FLOAT3
Definition: optix_types.h:366
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_NONE
Definition: optix_types.h:365
@ OPTIX_DENOISER_MODEL_KIND_HDR
Use the built-in model appropriate for high dynamic range input.
Definition: optix_types.h:1600
@ OPTIX_DENOISER_MODEL_KIND_TEMPORAL
Use the built-in model appropriate for high dynamic range input, temporally stable.
Definition: optix_types.h:1606
@ OPTIX_DENOISER_MODEL_KIND_AOV
Use the built-in model appropriate for high dynamic range input and support for AOVs.
Definition: optix_types.h:1603
@ OPTIX_DENOISER_MODEL_KIND_LDR
Use the built-in model appropriate for low dynamic range input.
Definition: optix_types.h:1597
@ OPTIX_DENOISER_MODEL_KIND_TEMPORAL_UPSCALE2X
Use the built-in model appropriate for high dynamic range input and support for AOVs,...
Definition: optix_types.h:1616
@ OPTIX_DENOISER_MODEL_KIND_UPSCALE2X
Use the built-in model appropriate for high dynamic range input and support for AOVs,...
Definition: optix_types.h:1612
@ OPTIX_DENOISER_MODEL_KIND_TEMPORAL_AOV
Use the built-in model appropriate for high dynamic range input and support for AOVs,...
Definition: optix_types.h:1609
@ OPTIX_BUILD_INPUT_TYPE_INSTANCES
Instance inputs.
Definition: optix_types.h:1003
@ OPTIX_BUILD_INPUT_TYPE_TRIANGLES
Triangle inputs.
Definition: optix_types.h:999
@ OPTIX_BUILD_INPUT_TYPE_SPHERES
Sphere inputs.
Definition: optix_types.h:1009
@ OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES
Custom primitive inputs.
Definition: optix_types.h:1001
@ OPTIX_BUILD_INPUT_TYPE_CURVES
Curve inputs.
Definition: optix_types.h:1007
@ OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS
Instance pointer inputs.
Definition: optix_types.h:1005
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_NONE
Definition: optix_types.h:358
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_HALF2
Definition: optix_types.h:360
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_FLOAT2
Definition: optix_types.h:359
@ OPTIX_CURVE_ENDCAP_ON
Flat end caps at both ends of quadratic/cubic curve segments. Not valid for linear.
Definition: optix_types.h:765
@ OPTIX_CURVE_ENDCAP_DEFAULT
Default end caps. Round end caps for linear, no end caps for quadratic/cubic.
Definition: optix_types.h:763
@ OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:1190
@ OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:1187
@ OPTIX_OPACITY_MICROMAP_FLAG_NONE
Definition: optix_types.h:1184
@ OPTIX_EXCEPTION_FLAG_STACK_OVERFLOW
Enables exceptions check related to the continuation stack.
Definition: optix_types.h:2290
@ OPTIX_EXCEPTION_FLAG_TRACE_DEPTH
Enables exceptions check related to trace depth.
Definition: optix_types.h:2293
@ OPTIX_EXCEPTION_FLAG_USER
Enables user exceptions via optixThrowException(). This flag must be specified for all modules in a p...
Definition: optix_types.h:2297
@ OPTIX_EXCEPTION_FLAG_NONE
No exception are enabled.
Definition: optix_types.h:2287
@ OPTIX_EXCEPTION_FLAG_DEBUG
Enables various exceptions check related to traversal.
Definition: optix_types.h:2300
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_20
The triangle edge v2..v0 is decimated.
Definition: optix_types.h:490
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_12
The triangle edge v1..v2 is decimated.
Definition: optix_types.h:488
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_01
The triangle edge v0..v1 is decimated: after subdivision the number of micro triangles on that edge i...
Definition: optix_types.h:486
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_NONE
Definition: optix_types.h:483
@ OPTIX_HIT_KIND_TRIANGLE_BACK_FACE
Ray hit the triangle on the back face.
Definition: optix_types.h:323
@ OPTIX_HIT_KIND_TRIANGLE_FRONT_FACE
Ray hit the triangle on the front face.
Definition: optix_types.h:321
@ OPTIX_PROGRAM_GROUP_FLAGS_NONE
Currently there are no flags.
Definition: optix_types.h:2079
@ OPTIX_INDICES_FORMAT_NONE
No indices, this format must only be used in combination with triangle soups, i.e....
Definition: optix_types.h:330
@ OPTIX_INDICES_FORMAT_UNSIGNED_INT3
Three ints.
Definition: optix_types.h:334
@ OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3
Three shorts.
Definition: optix_types.h:332
@ OPTIX_PROGRAM_GROUP_KIND_CALLABLES
Program group containing a direct (DC) or continuation (CC) callable program.
Definition: optix_types.h:2072
@ OPTIX_PROGRAM_GROUP_KIND_MISS
Program group containing a miss (MS) program.
Definition: optix_types.h:2060
@ OPTIX_PROGRAM_GROUP_KIND_HITGROUP
Program group containing an intersection (IS), any hit (AH), and/or closest hit (CH) program.
Definition: optix_types.h:2068
@ OPTIX_PROGRAM_GROUP_KIND_RAYGEN
Program group containing a raygen (RG) program.
Definition: optix_types.h:2056
@ OPTIX_PROGRAM_GROUP_KIND_EXCEPTION
Program group containing an exception (EX) program.
Definition: optix_types.h:2064
@ OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_LEVEL_INSTANCING
Used to signal that a traversable graph of a single Instance Acceleration Structure (IAS) directly co...
Definition: optix_types.h:1856
@ OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_ANY
Used to signal that any traversable graphs is valid. This flag is mutually exclusive with all other f...
Definition: optix_types.h:1845
@ OPTIX_TRAVERSABLE_GRAPH_FLAG_ALLOW_SINGLE_GAS
Used to signal that a traversable graph of a single Geometry Acceleration Structure (GAS) without any...
Definition: optix_types.h:1850
@ OPTIX_PRIMITIVE_TYPE_TRIANGLE
Triangle.
Definition: optix_types.h:726
@ OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BEZIER
Bezier curve of degree 3 with circular cross-section.
Definition: optix_types.h:724
@ OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE
B-spline curve of degree 2 with circular cross-section.
Definition: optix_types.h:712
@ OPTIX_PRIMITIVE_TYPE_DISPLACED_MICROMESH_TRIANGLE
Triangle with an applied displacement micromap.
Definition: optix_types.h:728
@ OPTIX_PRIMITIVE_TYPE_CUSTOM
Custom primitive.
Definition: optix_types.h:710
@ OPTIX_PRIMITIVE_TYPE_SPHERE
Sphere.
Definition: optix_types.h:722
@ OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR
Piecewise linear curve with circular cross-section.
Definition: optix_types.h:716
@ OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM
CatmullRom curve with circular cross-section.
Definition: optix_types.h:718
@ OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE
B-spline curve of degree 3 with circular cross-section.
Definition: optix_types.h:714
@ OPTIX_PRIMITIVE_TYPE_FLAT_QUADRATIC_BSPLINE
B-spline curve of degree 2 with oriented, flat cross-section.
Definition: optix_types.h:720
@ OPTIX_PAYLOAD_TYPE_ID_5
Definition: optix_types.h:1965
@ OPTIX_PAYLOAD_TYPE_ID_1
Definition: optix_types.h:1961
@ OPTIX_PAYLOAD_TYPE_ID_0
Definition: optix_types.h:1960
@ OPTIX_PAYLOAD_TYPE_ID_2
Definition: optix_types.h:1962
@ OPTIX_PAYLOAD_TYPE_ID_3
Definition: optix_types.h:1963
@ OPTIX_PAYLOAD_TYPE_DEFAULT
Definition: optix_types.h:1959
@ OPTIX_PAYLOAD_TYPE_ID_6
Definition: optix_types.h:1966
@ OPTIX_PAYLOAD_TYPE_ID_7
Definition: optix_types.h:1967
@ OPTIX_PAYLOAD_TYPE_ID_4
Definition: optix_types.h:1964
@ OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM
Matrix motion transform.
Definition: optix_types.h:1546
@ OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM
Static transforms.
Definition: optix_types.h:1544
@ OPTIX_TRAVERSABLE_TYPE_SRT_MOTION_TRANSFORM
SRT motion transform.
Definition: optix_types.h:1548
@ OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT
Enables anyhit programs for all geometries of the instance. Overrides OPTIX_GEOMETRY_FLAG_DISABLE_ANY...
Definition: optix_types.h:1093
@ OPTIX_INSTANCE_FLAG_DISABLE_TRIANGLE_FACE_CULLING
Prevent triangles from getting culled due to their orientation. Effectively ignores ray flags OPTIX_R...
Definition: optix_types.h:1078
@ OPTIX_INSTANCE_FLAG_DISABLE_ANYHIT
Disable anyhit programs for all geometries of the instance. Can be overridden by OPTIX_RAY_FLAG_ENFOR...
Definition: optix_types.h:1087
@ OPTIX_INSTANCE_FLAG_DISABLE_OPACITY_MICROMAPS
Don't perform opacity micromap query for this instance. GAS must be built with ALLOW_DISABLE_OPACITY_...
Definition: optix_types.h:1100
@ OPTIX_INSTANCE_FLAG_NONE
No special flag set.
Definition: optix_types.h:1073
@ OPTIX_INSTANCE_FLAG_FLIP_TRIANGLE_FACING
Flip triangle orientation. This affects front/backface culling as well as the reported face in case o...
Definition: optix_types.h:1082
@ OPTIX_INSTANCE_FLAG_FORCE_OPACITY_MICROMAP_2_STATE
Force 4-state opacity micromaps to behave as 2-state opacity micromaps during traversal.
Definition: optix_types.h:1097
@ OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED
OptixBuildInputOpacityMicromap::indexBuffer provides a per triangle array of predefined indices and/o...
Definition: optix_types.h:392
@ OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE
No opacity micromap is used.
Definition: optix_types.h:385
@ OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_LINEAR
An implicit linear mapping of triangles to opacity micromaps in the opacity micromap array is used....
Definition: optix_types.h:388
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_NONE
Definition: optix_types.h:462
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_1024_MICRO_TRIS_128_BYTES
Definition: optix_types.h:465
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_256_MICRO_TRIS_128_BYTES
Definition: optix_types.h:464
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_64_MICRO_TRIS_64_BYTES
Definition: optix_types.h:463
@ OPTIX_COMPILE_OPTIMIZATION_DEFAULT
Default is to run all optimizations.
Definition: optix_types.h:1865
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_1
Some optimizations.
Definition: optix_types.h:1869
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_3
All optimizations.
Definition: optix_types.h:1873
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_0
No optimizations.
Definition: optix_types.h:1867
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_2
Most optimizations.
Definition: optix_types.h:1871
@ OPTIX_TRANSFORM_FORMAT_NONE
no transform, default for zero initialization
Definition: optix_types.h:352
@ OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12
3x4 row major affine matrix
Definition: optix_types.h:353
@ OPTIX_QUERY_FUNCTION_TABLE_OPTION_DUMMY
Placeholder (there are no options yet)
Definition: optix_types.h:2417
@ OPTIX_BUILD_FLAG_ALLOW_DISABLE_OPACITY_MICROMAPS
If enabled, any instances referencing this GAS are allowed to disable the opacity micromap test throu...
Definition: optix_types.h:1177
@ OPTIX_BUILD_FLAG_ALLOW_UPDATE
Allow updating the build with new vertex positions with subsequent calls to optixAccelBuild.
Definition: optix_types.h:1144
@ OPTIX_BUILD_FLAG_ALLOW_RANDOM_INSTANCE_ACCESS
Allow random access to instances See optixGetInstanceTraversableFromIAS.
Definition: optix_types.h:1167
@ OPTIX_BUILD_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_BUILD_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:1152
@ OPTIX_BUILD_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_BUILD_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:1149
@ OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE
Support updating the opacity micromap array and opacity micromap indices on refits....
Definition: optix_types.h:1172
@ OPTIX_BUILD_FLAG_NONE
No special flags set.
Definition: optix_types.h:1140
@ OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS
Allow random access to build input vertices See optixGetTriangleVertexData optixGetLinearCurveVertexD...
Definition: optix_types.h:1163
@ OPTIX_BUILD_FLAG_ALLOW_COMPACTION
Definition: optix_types.h:1146
AABB inputs.
Definition: optix_types.h:898
float minX
Lower extent in X direction.
Definition: optix_types.h:899
float minY
Lower extent in Y direction.
Definition: optix_types.h:900
float maxX
Upper extent in X direction.
Definition: optix_types.h:902
float maxY
Upper extent in Y direction.
Definition: optix_types.h:903
float minZ
Lower extent in Z direction.
Definition: optix_types.h:901
float maxZ
Upper extent in Z direction.
Definition: optix_types.h:904
Struct for querying builder allocation requirements.
Definition: optix_types.h:1339
size_t tempSizeInBytes
The size in bytes required for the tempBuffer paramter to optixAccelBuild when doing a build (OPTIX_B...
Definition: optix_types.h:1346
size_t outputSizeInBytes
The size in bytes required for the outputBuffer parameter to optixAccelBuild when doing a build (OPTI...
Definition: optix_types.h:1342
size_t tempUpdateSizeInBytes
The size in bytes required for the tempBuffer parameter to optixAccelBuild when doing an update (OPTI...
Definition: optix_types.h:1352
Build options for acceleration structures.
Definition: optix_types.h:1317
unsigned int buildFlags
Combinations of OptixBuildFlags.
Definition: optix_types.h:1319
OptixMotionOptions motionOptions
Options for motion.
Definition: optix_types.h:1330
OptixBuildOperation operation
If OPTIX_BUILD_OPERATION_UPDATE the output buffer is assumed to contain the result of a full build wi...
Definition: optix_types.h:1327
Specifies a type and output destination for emitted post-build properties.
Definition: optix_types.h:1371
OptixAccelPropertyType type
Requested property.
Definition: optix_types.h:1376
CUdeviceptr result
Output buffer for the properties.
Definition: optix_types.h:1373
Curve inputs.
Definition: optix_types.h:786
unsigned int widthStrideInBytes
Stride between widths. If set to zero, widths are assumed to be tightly packed and stride is sizeof( ...
Definition: optix_types.h:809
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:832
unsigned int endcapFlags
End cap flags, see OptixCurveEndcapFlags.
Definition: optix_types.h:835
unsigned int numPrimitives
Number of primitives. Each primitive is a polynomial curve segment.
Definition: optix_types.h:791
const CUdeviceptr * vertexBuffers
Pointer to host array of device pointers, one per motion step. Host array size must match number of m...
Definition: optix_types.h:797
unsigned int normalStrideInBytes
Reserved for future use.
Definition: optix_types.h:814
CUdeviceptr indexBuffer
Device pointer to array of unsigned ints, one per curve segment. This buffer is required (unlike for ...
Definition: optix_types.h:821
unsigned int indexStrideInBytes
Stride between indices. If set to zero, indices are assumed to be tightly packed and stride is sizeof...
Definition: optix_types.h:824
const CUdeviceptr * normalBuffers
Reserved for future use.
Definition: optix_types.h:812
unsigned int vertexStrideInBytes
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is size...
Definition: optix_types.h:802
const CUdeviceptr * widthBuffers
Parallel to vertexBuffers: a device pointer per motion step, each with numVertices float values,...
Definition: optix_types.h:806
unsigned int numVertices
Number of vertices in each buffer in vertexBuffers.
Definition: optix_types.h:799
OptixPrimitiveType curveType
Curve degree and basis.
Definition: optix_types.h:789
unsigned int flag
Combination of OptixGeometryFlags describing the primitive behavior.
Definition: optix_types.h:828
Custom primitive inputs.
Definition: optix_types.h:911
const CUdeviceptr * aabbBuffers
Points to host array of device pointers to AABBs (type OptixAabb), one per motion step....
Definition: optix_types.h:916
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:930
unsigned int sbtIndexOffsetStrideInBytes
Stride between the index offsets. If set to zero, the offsets are assumed to be tightly packed and th...
Definition: optix_types.h:945
CUdeviceptr sbtIndexOffsetBuffer
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in ra...
Definition: optix_types.h:938
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:933
unsigned int numPrimitives
Number of primitives in each buffer (i.e., per motion step) in OptixBuildInputCustomPrimitiveArray::a...
Definition: optix_types.h:920
unsigned int sbtIndexOffsetSizeInBytes
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
Definition: optix_types.h:941
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:949
unsigned int strideInBytes
Stride between AABBs (per motion key). If set to zero, the aabbs are assumed to be tightly packed and...
Definition: optix_types.h:925
Optional displacement part of a triangle array input.
Definition: optix_types.h:569
unsigned int displacementMicromapIndexSizeInBytes
2 or 4 (16 or 32 bit)
Definition: optix_types.h:590
CUdeviceptr displacementMicromapArray
Address to a displacement micromap array used by this build input array. Set to NULL to disable DMs f...
Definition: optix_types.h:574
unsigned int vertexBiasAndScaleStrideInBytes
Stride in bytes for vertex bias and direction scale entries.
Definition: optix_types.h:600
CUdeviceptr triangleFlagsBuffer
Optional per-triangle flags, uint8_t per triangle, possible values defined in enum OptixDisplacementM...
Definition: optix_types.h:582
unsigned int vertexDirectionStrideInBytes
Stride between displacement vectors.
Definition: optix_types.h:595
unsigned int triangleFlagsStrideInBytes
Stride in bytes for triangleFlags.
Definition: optix_types.h:603
OptixDisplacementMicromapDirectionFormat vertexDirectionFormat
Format of displacement vectors.
Definition: optix_types.h:593
CUdeviceptr vertexBiasAndScaleBuffer
Optional per-vertex bias (offset) along displacement direction and displacement direction scale.
Definition: optix_types.h:580
unsigned int numDisplacementMicromapUsageCounts
Number of OptixDisplacementMicromapUsageCount entries.
Definition: optix_types.h:606
const OptixDisplacementMicromapUsageCount * displacementMicromapUsageCounts
List of number of usages of displacement micromaps of format and subdivision combinations....
Definition: optix_types.h:609
unsigned int displacementMicromapIndexStrideInBytes
Displacement micromap index buffer stride. If set to zero, indices are assumed to be tightly packed a...
Definition: optix_types.h:588
CUdeviceptr displacementMicromapIndexBuffer
int16 or int32 buffer specifying which displacement micromap index to use for each triangle....
Definition: optix_types.h:576
OptixDisplacementMicromapBiasAndScaleFormat vertexBiasAndScaleFormat
Format of vertex bias and direction scale.
Definition: optix_types.h:598
OptixDisplacementMicromapArrayIndexingMode indexingMode
Indexing mode of triangle to displacement micromap array mapping.
Definition: optix_types.h:571
CUdeviceptr vertexDirectionsBuffer
Per triangle-vertex displacement directions.
Definition: optix_types.h:578
unsigned int displacementMicromapIndexOffset
Constant offset to displacement micromap indices as specified by the displacement micromap index buff...
Definition: optix_types.h:585
Build inputs.
Definition: optix_types.h:1018
OptixBuildInputCurveArray curveArray
Curve inputs.
Definition: optix_types.h:1027
char pad[1024]
Definition: optix_types.h:1034
OptixBuildInputInstanceArray instanceArray
Instance and instance pointer inputs.
Definition: optix_types.h:1033
OptixBuildInputSphereArray sphereArray
Sphere inputs.
Definition: optix_types.h:1029
OptixBuildInputTriangleArray triangleArray
Triangle inputs.
Definition: optix_types.h:1025
OptixBuildInputCustomPrimitiveArray customPrimitiveArray
Custom primitive inputs.
Definition: optix_types.h:1031
OptixBuildInputType type
The type of the build input.
Definition: optix_types.h:1020
Instance and instance pointer inputs.
Definition: optix_types.h:956
CUdeviceptr instances
If OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS instances and aabbs should be in...
Definition: optix_types.h:964
unsigned int numInstances
Number of elements in OptixBuildInputInstanceArray::instances.
Definition: optix_types.h:967
unsigned int instanceStride
Only valid for OPTIX_BUILD_INPUT_TYPE_INSTANCE Defines the stride between instances....
Definition: optix_types.h:972
Definition: optix_types.h:411
CUdeviceptr opacityMicromapArray
Device pointer to a opacity micromap array used by this build input array. This buffer is required wh...
Definition: optix_types.h:419
const OptixOpacityMicromapUsageCount * micromapUsageCounts
List of number of usages of opacity micromaps of format and subdivision combinations....
Definition: optix_types.h:447
unsigned int indexStrideInBytes
Opacity micromap index buffer stride. If set to zero, indices are assumed to be tightly packed and st...
Definition: optix_types.h:438
unsigned int indexOffset
Constant offset to non-negative opacity micromap indices.
Definition: optix_types.h:441
unsigned int indexSizeInBytes
0, 2 or 4 (unused, 16 or 32 bit) Must be non-zero when OptixBuildInputOpacityMicromap::indexingMode i...
Definition: optix_types.h:434
CUdeviceptr indexBuffer
int16 or int32 buffer specifying which opacity micromap index to use for each triangle....
Definition: optix_types.h:430
unsigned int numMicromapUsageCounts
Number of OptixOpacityMicromapUsageCount.
Definition: optix_types.h:444
OptixOpacityMicromapArrayIndexingMode indexingMode
Indexing mode of triangle to opacity micromap array mapping.
Definition: optix_types.h:413
Sphere inputs.
Definition: optix_types.h:851
unsigned int numVertices
Number of vertices in each buffer in vertexBuffers.
Definition: optix_types.h:862
unsigned int radiusStrideInBytes
Stride between radii. If set to zero, widths are assumed to be tightly packed and stride is sizeof( f...
Definition: optix_types.h:869
const CUdeviceptr * vertexBuffers
Pointer to host array of device pointers, one per motion step. Host array size must match number of m...
Definition: optix_types.h:856
unsigned int sbtIndexOffsetSizeInBytes
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
Definition: optix_types.h:886
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:880
int singleRadius
Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in...
Definition: optix_types.h:872
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:877
const CUdeviceptr * radiusBuffers
Parallel to vertexBuffers: a device pointer per motion step, each with numRadii float values,...
Definition: optix_types.h:866
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:893
unsigned int vertexStrideInBytes
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is size...
Definition: optix_types.h:860
CUdeviceptr sbtIndexOffsetBuffer
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in ra...
Definition: optix_types.h:884
unsigned int sbtIndexOffsetStrideInBytes
Stride between the sbt index offsets. If set to zero, the offsets are assumed to be tightly packed an...
Definition: optix_types.h:889
Triangle inputs.
Definition: optix_types.h:618
const CUdeviceptr * vertexBuffers
Points to host array of device pointers, one per motion step. Host array size must match the number o...
Definition: optix_types.h:626
OptixBuildInputOpacityMicromap opacityMicromap
Optional opacity micromap inputs.
Definition: optix_types.h:686
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:680
OptixVertexFormat vertexFormat
Definition: optix_types.h:632
unsigned int numVertices
Number of vertices in each of buffer in OptixBuildInputTriangleArray::vertexBuffers.
Definition: optix_types.h:629
OptixTransformFormat transformFormat
Definition: optix_types.h:683
unsigned int numIndexTriplets
Size of array in OptixBuildInputTriangleArray::indexBuffer. For build, needs to be zero if indexBuffe...
Definition: optix_types.h:644
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:661
CUdeviceptr preTransform
Optional pointer to array of floats representing a 3x4 row major affine transformation matrix....
Definition: optix_types.h:656
OptixIndicesFormat indexFormat
Definition: optix_types.h:647
CUdeviceptr indexBuffer
Optional pointer to array of 16 or 32-bit int triplets, one triplet per triangle. The minimum alignme...
Definition: optix_types.h:641
unsigned int indexStrideInBytes
Stride between triplets of indices. If set to zero, indices are assumed to be tightly packed and stri...
Definition: optix_types.h:651
unsigned int sbtIndexOffsetStrideInBytes
Stride between the index offsets. If set to zero, the offsets are assumed to be tightly packed and th...
Definition: optix_types.h:676
OptixBuildInputDisplacementMicromap displacementMicromap
Optional displacement micromap inputs.
Definition: optix_types.h:688
unsigned int sbtIndexOffsetSizeInBytes
Size of type of the sbt index offset. Needs to be 0, 1, 2 or 4 (8, 16 or 32 bit).
Definition: optix_types.h:672
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:664
CUdeviceptr sbtIndexOffsetBuffer
Device pointer to per-primitive local sbt index offset buffer. May be NULL. Every entry must be in ra...
Definition: optix_types.h:669
unsigned int vertexStrideInBytes
Stride between vertices. If set to zero, vertices are assumed to be tightly packed and stride is infe...
Definition: optix_types.h:636
Specifies the options for retrieving an intersection program for a built-in primitive type....
Definition: optix_types.h:2434
OptixPrimitiveType builtinISModuleType
Definition: optix_types.h:2435
int usesMotionBlur
Boolean value indicating whether vertex motion blur is used (but not motion transform blur).
Definition: optix_types.h:2437
unsigned int buildFlags
Build flags, see OptixBuildFlags.
Definition: optix_types.h:2439
unsigned int curveEndcapFlags
End cap properties of curves, see OptixCurveEndcapFlags, 0 for non-curve types.
Definition: optix_types.h:2441
Guide layer for the denoiser.
Definition: optix_types.h:1635
OptixImage2D normal
Definition: optix_types.h:1640
OptixImage2D flowTrustworthiness
Definition: optix_types.h:1653
OptixImage2D flow
Definition: optix_types.h:1643
OptixImage2D previousOutputInternalGuideLayer
Definition: optix_types.h:1647
OptixImage2D albedo
Definition: optix_types.h:1637
OptixImage2D outputInternalGuideLayer
Definition: optix_types.h:1648
Input/Output layers for the denoiser.
Definition: optix_types.h:1676
OptixImage2D output
Definition: optix_types.h:1684
OptixImage2D input
Definition: optix_types.h:1678
OptixDenoiserAOVType type
Definition: optix_types.h:1687
OptixImage2D previousOutput
Definition: optix_types.h:1681
Options used by the denoiser.
Definition: optix_types.h:1623
unsigned int guideAlbedo
Definition: optix_types.h:1625
unsigned int guideNormal
Definition: optix_types.h:1628
Definition: optix_types.h:1708
CUdeviceptr hdrAverageColor
this parameter is used when the OPTIX_DENOISER_MODEL_KIND_AOV model kind is set. average log color of...
Definition: optix_types.h:1727
float blendFactor
blend factor. If set to 0 the output is 100% of the denoised input. If set to 1, the output is 100% o...
Definition: optix_types.h:1721
OptixDenoiserAlphaMode denoiseAlpha
alpha denoise mode
Definition: optix_types.h:1710
CUdeviceptr hdrIntensity
average log intensity of input image (default null pointer). points to a single float....
Definition: optix_types.h:1715
unsigned int temporalModeUsePreviousLayers
In temporal modes this parameter must be set to 1 if previous layers (e.g. previousOutputInternalGuid...
Definition: optix_types.h:1733
Various sizes related to the denoiser.
Definition: optix_types.h:1740
size_t withoutOverlapScratchSizeInBytes
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. No overlap added.
Definition: optix_types.h:1750
size_t withOverlapScratchSizeInBytes
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. Overlap added to dimensions...
Definition: optix_types.h:1746
size_t internalGuideLayerPixelSizeInBytes
Number of bytes for each pixel in internal guide layers.
Definition: optix_types.h:1764
size_t computeIntensitySizeInBytes
Size of scratch memory passed to optixDenoiserComputeIntensity. The size is independent of the tile/i...
Definition: optix_types.h:1761
size_t stateSizeInBytes
Size of state memory passed to optixDenoiserSetup, optixDenoiserInvoke.
Definition: optix_types.h:1742
size_t computeAverageColorSizeInBytes
Size of scratch memory passed to optixDenoiserComputeAverageColor. The size is independent of the til...
Definition: optix_types.h:1757
unsigned int overlapWindowSizeInPixels
Overlap on all four tile sides.
Definition: optix_types.h:1753
Parameters used for optixDeviceContextCreate()
Definition: optix_types.h:280
OptixLogCallback logCallbackFunction
Function pointer used when OptiX wishes to generate messages.
Definition: optix_types.h:282
int logCallbackLevel
Maximum callback level to generate message for (see OptixLogCallback)
Definition: optix_types.h:286
void * logCallbackData
Pointer stored and passed to logCallbackFunction when a message is generated.
Definition: optix_types.h:284
OptixDeviceContextValidationMode validationMode
Validation mode of context.
Definition: optix_types.h:288
Inputs to displacement micromaps array construction.
Definition: optix_types.h:519
OptixDisplacementMicromapFlags flags
Flags that apply to all displacement micromaps in array.
Definition: optix_types.h:521
const OptixDisplacementMicromapHistogramEntry * displacementMicromapHistogramEntries
Histogram over DMMs for input format and subdivision combinations. Counts of histogram bins with equa...
Definition: optix_types.h:535
unsigned int perDisplacementMicromapDescStrideInBytes
Stride between OptixDisplacementMicromapDesc in perDisplacementMicromapDescBuffer If set to zero,...
Definition: optix_types.h:530
unsigned int numDisplacementMicromapHistogramEntries
Number of OptixDisplacementMicromapHistogramEntry entries.
Definition: optix_types.h:532
CUdeviceptr displacementValuesBuffer
128 byte aligned pointer for displacement micromap raw input data.
Definition: optix_types.h:523
CUdeviceptr perDisplacementMicromapDescBuffer
Descriptors for interpreting raw input data, one OptixDisplacementMicromapDesc entry required per dis...
Definition: optix_types.h:526
Definition: optix_types.h:494
unsigned short subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:498
unsigned short format
Format (OptixDisplacementMicromapFormat)
Definition: optix_types.h:500
unsigned int byteOffset
Block is located at displacementValuesBuffer + byteOffset.
Definition: optix_types.h:496
Displacement micromap histogram entry. Specifies how many displacement micromaps of a specific type a...
Definition: optix_types.h:508
unsigned int count
Number of displacement micromaps with the format and subdivision level that are input to the displace...
Definition: optix_types.h:510
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:512
OptixDisplacementMicromapFormat format
Displacement micromap format.
Definition: optix_types.h:514
Displacement micromap usage count for acceleration structure builds. Specifies how many displacement ...
Definition: optix_types.h:543
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:548
OptixDisplacementMicromapFormat format
Displacement micromaps format.
Definition: optix_types.h:550
unsigned int count
Number of displacement micromaps with this format and subdivision level referenced by triangles in th...
Definition: optix_types.h:546
Image descriptor used by the denoiser.
Definition: optix_types.h:1573
unsigned int rowStrideInBytes
Stride between subsequent rows of the image (in bytes).
Definition: optix_types.h:1581
CUdeviceptr data
Pointer to the actual pixel data.
Definition: optix_types.h:1575
OptixPixelFormat format
Pixel format.
Definition: optix_types.h:1588
unsigned int width
Width of the image (in pixels)
Definition: optix_types.h:1577
unsigned int height
Height of the image (in pixels)
Definition: optix_types.h:1579
unsigned int pixelStrideInBytes
Stride between subsequent pixels of the image (in bytes). If set to 0, dense packing (no gaps) is ass...
Definition: optix_types.h:1586
Instances.
Definition: optix_types.h:1108
unsigned int sbtOffset
SBT record offset. In a traversable graph with multiple levels of instance acceleration structure (IA...
Definition: optix_types.h:1118
float transform[12]
affine object-to-world transformation as 3x4 matrix in row-major layout
Definition: optix_types.h:1110
unsigned int pad[2]
round up to 80-byte, to ensure 16-byte alignment
Definition: optix_types.h:1131
unsigned int flags
Any combination of OptixInstanceFlags is allowed.
Definition: optix_types.h:1125
OptixTraversableHandle traversableHandle
Set with an OptixTraversableHandle.
Definition: optix_types.h:1128
unsigned int instanceId
Application supplied ID. The maximal ID can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE...
Definition: optix_types.h:1113
unsigned int visibilityMask
Visibility mask. If rayMask & instanceMask == 0 the instance is culled. The number of available bits ...
Definition: optix_types.h:1122
Represents a matrix motion transformation.
Definition: optix_types.h:1435
OptixMotionOptions motionOptions
The motion options for this transformation. Must have at least two motion keys.
Definition: optix_types.h:1441
unsigned int pad[3]
Padding to make the transformation 16 byte aligned.
Definition: optix_types.h:1444
float transform[2][12]
Affine object-to-world transformation as 3x4 matrix in row-major layout.
Definition: optix_types.h:1447
OptixTraversableHandle child
The traversable that is transformed by this transformation.
Definition: optix_types.h:1437
Conservative memory requirements for building a opacity/displacement micromap array.
Definition: optix_types.h:1245
size_t tempSizeInBytes
Definition: optix_types.h:1247
size_t outputSizeInBytes
Definition: optix_types.h:1246
Buffer inputs for opacity/displacement micromap array builds.
Definition: optix_types.h:1252
CUdeviceptr output
Output buffer.
Definition: optix_types.h:1254
size_t tempSizeInBytes
Temp buffer size.
Definition: optix_types.h:1260
CUdeviceptr temp
Temp buffer.
Definition: optix_types.h:1258
size_t outputSizeInBytes
Output buffer size.
Definition: optix_types.h:1256
Struct for specifying specializations for pipelineParams as specified in OptixPipelineCompileOptions:...
Definition: optix_types.h:1949
size_t pipelineParamOffsetInBytes
Definition: optix_types.h:1950
const void * boundValuePtr
Definition: optix_types.h:1952
const char * annotation
Definition: optix_types.h:1953
size_t sizeInBytes
Definition: optix_types.h:1951
Compilation options for module.
Definition: optix_types.h:2025
unsigned int numPayloadTypes
The number of different payload types available for compilation. Must be zero if OptixPipelineCompile...
Definition: optix_types.h:2044
OptixPayloadType * payloadTypes
Points to host array of payload type definitions, size must match numPayloadTypes.
Definition: optix_types.h:2047
OptixCompileDebugLevel debugLevel
Generate debug information.
Definition: optix_types.h:2034
int maxRegisterCount
Maximum number of registers allowed when compiling to SASS. Set to 0 for no explicit limit....
Definition: optix_types.h:2028
OptixCompileOptimizationLevel optLevel
Optimization level. May vary within a pipeline.
Definition: optix_types.h:2031
const OptixModuleCompileBoundValueEntry * boundValues
Ingored if numBoundValues is set to 0.
Definition: optix_types.h:2037
unsigned int numBoundValues
set to 0 if unused
Definition: optix_types.h:2040
Motion options.
Definition: optix_types.h:1298
unsigned short numKeys
If numKeys > 1, motion is enabled. timeBegin, timeEnd and flags are all ignored when motion is disabl...
Definition: optix_types.h:1301
float timeBegin
Point in time where motion starts. Must be lesser than timeEnd.
Definition: optix_types.h:1307
float timeEnd
Point in time where motion ends. Must be greater than timeBegin.
Definition: optix_types.h:1310
unsigned short flags
Combinations of OptixMotionFlags.
Definition: optix_types.h:1304
Inputs to opacity micromap array construction.
Definition: optix_types.h:1220
unsigned int numMicromapHistogramEntries
Number of OptixOpacityMicromapHistogramEntry.
Definition: optix_types.h:1237
unsigned int perMicromapDescStrideInBytes
Stride between OptixOpacityMicromapDescs in perOmDescBuffer. If set to zero, the opacity micromap des...
Definition: optix_types.h:1234
CUdeviceptr inputBuffer
128B aligned base pointer for raw opacity micromap input data.
Definition: optix_types.h:1225
CUdeviceptr perMicromapDescBuffer
One OptixOpacityMicromapDesc entry per opacity micromap. This device pointer must be a multiple of OP...
Definition: optix_types.h:1229
unsigned int flags
Applies to all opacity micromaps in array.
Definition: optix_types.h:1222
const OptixOpacityMicromapHistogramEntry * micromapHistogramEntries
Histogram over opacity micromaps of input format and subdivision combinations. Counts of entries with...
Definition: optix_types.h:1240
Opacity micromap descriptor.
Definition: optix_types.h:1195
unsigned int byteOffset
Byte offset to opacity micromap in data input buffer of opacity micromap array build.
Definition: optix_types.h:1197
unsigned short subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:1199
unsigned short format
OptixOpacityMicromapFormat.
Definition: optix_types.h:1201
Opacity micromap histogram entry. Specifies how many opacity micromaps of a specific type are input t...
Definition: optix_types.h:1209
unsigned int count
Number of opacity micromaps with the format and subdivision level that are input to the opacity micro...
Definition: optix_types.h:1211
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:1213
OptixOpacityMicromapFormat format
Opacity micromap format.
Definition: optix_types.h:1215
Opacity micromap usage count for acceleration structure builds. Specifies how many opacity micromaps ...
Definition: optix_types.h:400
OptixOpacityMicromapFormat format
opacity micromap format.
Definition: optix_types.h:407
unsigned int count
Number of opacity micromaps with this format and subdivision level referenced by triangles in the cor...
Definition: optix_types.h:403
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:405
Specifies a single payload type.
Definition: optix_types.h:2013
unsigned int numPayloadValues
The number of 32b words the payload of this type holds.
Definition: optix_types.h:2015
const unsigned int * payloadSemantics
Points to host array of payload word semantics, size must match numPayloadValues.
Definition: optix_types.h:2018
Compilation options for all modules of a pipeline.
Definition: optix_types.h:2309
int allowOpacityMicromaps
Boolean value indicating whether opacity micromaps could be used.
Definition: optix_types.h:2337
unsigned int usesPrimitiveTypeFlags
Bit field enabling primitive types. See OptixPrimitiveTypeFlags. Setting to zero corresponds to enabl...
Definition: optix_types.h:2334
unsigned int exceptionFlags
A bitmask of OptixExceptionFlags indicating which exceptions are enabled.
Definition: optix_types.h:2325
const char * pipelineLaunchParamsVariableName
The name of the pipeline parameter variable. If 0, no pipeline parameter will be available....
Definition: optix_types.h:2330
unsigned int traversableGraphFlags
Traversable graph bitfield. See OptixTraversableGraphFlags.
Definition: optix_types.h:2314
int numPayloadValues
How much storage, in 32b words, to make available for the payload, [0..32] Must be zero if numPayload...
Definition: optix_types.h:2318
int numAttributeValues
How much storage, in 32b words, to make available for the attributes. The minimum number is 2....
Definition: optix_types.h:2322
int usesMotionBlur
Boolean value indicating whether motion blur could be used.
Definition: optix_types.h:2311
Program group representing callables.
Definition: optix_types.h:2123
OptixModule moduleDC
Module holding the direct callable (DC) program.
Definition: optix_types.h:2125
const char * entryFunctionNameDC
Entry function name of the direct callable (DC) program.
Definition: optix_types.h:2127
OptixModule moduleCC
Module holding the continuation callable (CC) program.
Definition: optix_types.h:2129
const char * entryFunctionNameCC
Entry function name of the continuation callable (CC) program.
Definition: optix_types.h:2131
Descriptor for program groups.
Definition: optix_types.h:2136
OptixProgramGroupCallables callables
Definition: optix_types.h:2152
OptixProgramGroupHitgroup hitgroup
Definition: optix_types.h:2154
OptixProgramGroupSingleModule exception
Definition: optix_types.h:2150
OptixProgramGroupKind kind
The kind of program group.
Definition: optix_types.h:2138
OptixProgramGroupSingleModule raygen
Definition: optix_types.h:2146
unsigned int flags
See OptixProgramGroupFlags.
Definition: optix_types.h:2141
OptixProgramGroupSingleModule miss
Definition: optix_types.h:2148
Program group representing the hitgroup.
Definition: optix_types.h:2102
const char * entryFunctionNameIS
Entry function name of the intersection (IS) program.
Definition: optix_types.h:2114
OptixModule moduleCH
Module holding the closest hit (CH) program.
Definition: optix_types.h:2104
OptixModule moduleIS
Module holding the intersection (Is) program.
Definition: optix_types.h:2112
OptixModule moduleAH
Module holding the any hit (AH) program.
Definition: optix_types.h:2108
const char * entryFunctionNameAH
Entry function name of the any hit (AH) program.
Definition: optix_types.h:2110
const char * entryFunctionNameCH
Entry function name of the closest hit (CH) program.
Definition: optix_types.h:2106
Program group options.
Definition: optix_types.h:2162
OptixPayloadType * payloadType
Specifies the payload type of this program group. All programs in the group must support the payload ...
Definition: optix_types.h:2175
Program group representing a single module.
Definition: optix_types.h:2089
OptixModule module
Module holding single program.
Definition: optix_types.h:2091
const char * entryFunctionName
Entry function name of the single program.
Definition: optix_types.h:2093
Relocation inputs.
Definition: optix_types.h:1042
OptixRelocateInputTriangleArray triangleArray
Triangle inputs.
Definition: optix_types.h:1052
OptixBuildInputType type
The type of the build input to relocate.
Definition: optix_types.h:1044
OptixRelocateInputInstanceArray instanceArray
Instance and instance pointer inputs.
Definition: optix_types.h:1049
Instance and instance pointer inputs.
Definition: optix_types.h:979
CUdeviceptr traversableHandles
These are the traversable handles of the instances (See OptixInstance::traversableHandle) These can b...
Definition: optix_types.h:989
unsigned int numInstances
Number of elements in OptixRelocateInputInstanceArray::traversableHandles. Must match OptixBuildInput...
Definition: optix_types.h:982
Definition: optix_types.h:451
CUdeviceptr opacityMicromapArray
Device pointer to a relocated opacity micromap array used by the source build input array....
Definition: optix_types.h:455
Triangle inputs.
Definition: optix_types.h:696
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override. Must match OptixBuildInputTriangleA...
Definition: optix_types.h:699
OptixRelocateInputOpacityMicromap opacityMicromap
Opacity micromap inputs.
Definition: optix_types.h:702
Used to store information related to relocation of optix data structures.
Definition: optix_types.h:1384
unsigned long long info[4]
Opaque data, used internally, should not be modified.
Definition: optix_types.h:1386
Represents an SRT transformation.
Definition: optix_types.h:1481
float qz
Definition: optix_types.h:1484
float b
Definition: optix_types.h:1484
float tz
Definition: optix_types.h:1484
float qx
Definition: optix_types.h:1484
float sz
Definition: optix_types.h:1484
float c
Definition: optix_types.h:1484
float sy
Definition: optix_types.h:1484
float pvz
Definition: optix_types.h:1484
float qw
Definition: optix_types.h:1484
float ty
Definition: optix_types.h:1484
float pvy
Definition: optix_types.h:1484
float pvx
Definition: optix_types.h:1484
float sx
Definition: optix_types.h:1484
float a
Definition: optix_types.h:1484
float qy
Definition: optix_types.h:1484
float tx
Definition: optix_types.h:1484
Represents an SRT motion transformation.
Definition: optix_types.h:1518
OptixMotionOptions motionOptions
The motion options for this transformation Must have at least two motion keys.
Definition: optix_types.h:1524
OptixSRTData srtData[2]
The actual SRT data describing the transformation.
Definition: optix_types.h:1530
OptixTraversableHandle child
The traversable transformed by this transformation.
Definition: optix_types.h:1520
unsigned int pad[3]
Padding to make the SRT data 16 byte aligned.
Definition: optix_types.h:1527
Describes the shader binding table (SBT)
Definition: optix_types.h:2355
unsigned int hitgroupRecordCount
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT...
Definition: optix_types.h:2377
unsigned int callablesRecordCount
Arrays of SBT records for callable programs. If the base address is not null, the stride and count mu...
Definition: optix_types.h:2386
unsigned int missRecordCount
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_...
Definition: optix_types.h:2369
CUdeviceptr missRecordBase
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_...
Definition: optix_types.h:2367
unsigned int missRecordStrideInBytes
Arrays of SBT records for miss programs. The base address and the stride must be a multiple of OPTIX_...
Definition: optix_types.h:2368
unsigned int hitgroupRecordStrideInBytes
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT...
Definition: optix_types.h:2376
CUdeviceptr exceptionRecord
Device address of the SBT record of the exception program. The address must be a multiple of OPTIX_SB...
Definition: optix_types.h:2362
CUdeviceptr callablesRecordBase
Arrays of SBT records for callable programs. If the base address is not null, the stride and count mu...
Definition: optix_types.h:2384
unsigned int callablesRecordStrideInBytes
Arrays of SBT records for callable programs. If the base address is not null, the stride and count mu...
Definition: optix_types.h:2385
CUdeviceptr raygenRecord
Device address of the SBT record of the ray gen program to start launch at. The address must be a mul...
Definition: optix_types.h:2358
CUdeviceptr hitgroupRecordBase
Arrays of SBT records for hit groups. The base address and the stride must be a multiple of OPTIX_SBT...
Definition: optix_types.h:2375
Describes the stack size requirements of a program group.
Definition: optix_types.h:2395
unsigned int cssRG
Continuation stack size of RG programs in bytes.
Definition: optix_types.h:2397
unsigned int cssAH
Continuation stack size of AH programs in bytes.
Definition: optix_types.h:2403
unsigned int cssCH
Continuation stack size of CH programs in bytes.
Definition: optix_types.h:2401
unsigned int cssCC
Continuation stack size of CC programs in bytes.
Definition: optix_types.h:2407
unsigned int cssIS
Continuation stack size of IS programs in bytes.
Definition: optix_types.h:2405
unsigned int dssDC
Direct stack size of DC programs in bytes.
Definition: optix_types.h:2409
unsigned int cssMS
Continuation stack size of MS programs in bytes.
Definition: optix_types.h:2399
Static transform.
Definition: optix_types.h:1395
OptixTraversableHandle child
The traversable transformed by this transformation.
Definition: optix_types.h:1397
unsigned int pad[2]
Padding to make the transformations 16 byte aligned.
Definition: optix_types.h:1400
float invTransform[12]
Affine world-to-object transformation as 3x4 matrix in row-major layout Must be the inverse of the tr...
Definition: optix_types.h:1407
float transform[12]
Affine object-to-world transformation as 3x4 matrix in row-major layout.
Definition: optix_types.h:1403