NVIDIA OptiX 8.1 nvidia_logo_transpbg.gif Up
optix_types.h
Go to the documentation of this file.
1
2/*
3* SPDX-FileCopyrightText: Copyright (c) 2019 - 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
4* SPDX-License-Identifier: LicenseRef-NvidiaProprietary
5*
6* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
7* property and proprietary rights in and to this material, related
8* documentation and any modifications thereto. Any use, reproduction
9* disclosure or distribution of this material and related documentation
10* without an express license agreement from NVIDIA CORPORATION or
11* its affiliates is strictly prohibited.
12*/
19
20#ifndef OPTIX_OPTIX_TYPES_H
21#define OPTIX_OPTIX_TYPES_H
22
23#if !defined(__CUDACC_RTC__)
24#include <stddef.h> /* for size_t */
25#endif
26
27#ifdef NV_MODULE_OPTIX
28// 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
29#include <exp/misc/optix_nvconfig_translate.h> // includes <g_nvconfig.h>
30#endif // NV_MODULE_OPTIX
31
32
35
40// This typedef should match the one in cuda.h in order to avoid compilation errors.
41#if defined(_WIN64) || defined(__LP64__)
43typedef unsigned long long CUdeviceptr;
44#else
46typedef unsigned int CUdeviceptr;
47#endif
48
50typedef struct OptixDeviceContext_t* OptixDeviceContext;
51
53typedef struct OptixModule_t* OptixModule;
54
56typedef struct OptixProgramGroup_t* OptixProgramGroup;
57
59typedef struct OptixPipeline_t* OptixPipeline;
60
62typedef struct OptixDenoiser_t* OptixDenoiser;
63
65typedef struct OptixTask_t* OptixTask;
66
68typedef unsigned long long OptixTraversableHandle;
69
71typedef unsigned int OptixVisibilityMask;
72
74#define OPTIX_SBT_RECORD_HEADER_SIZE ( (size_t)32 )
75
77#define OPTIX_SBT_RECORD_ALIGNMENT 16ull
78
80#define OPTIX_ACCEL_BUFFER_BYTE_ALIGNMENT 128ull
81
83#define OPTIX_INSTANCE_BYTE_ALIGNMENT 16ull
84
86#define OPTIX_AABB_BUFFER_BYTE_ALIGNMENT 8ull
87
89#define OPTIX_GEOMETRY_TRANSFORM_BYTE_ALIGNMENT 16ull
90
92#define OPTIX_TRANSFORM_BYTE_ALIGNMENT 64ull
93
95#define OPTIX_OPACITY_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT 8ull
96
98#define OPTIX_COMPILE_DEFAULT_MAX_REGISTER_COUNT 0
99
101#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_TYPE_COUNT 8
102
104#define OPTIX_COMPILE_DEFAULT_MAX_PAYLOAD_VALUE_COUNT 32
105
108#define OPTIX_OPACITY_MICROMAP_STATE_TRANSPARENT ( 0 )
109#define OPTIX_OPACITY_MICROMAP_STATE_OPAQUE ( 1 )
110#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_TRANSPARENT ( 2 )
111#define OPTIX_OPACITY_MICROMAP_STATE_UNKNOWN_OPAQUE ( 3 )
112
115#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_TRANSPARENT ( -1 )
116#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_OPAQUE ( -2 )
117#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_TRANSPARENT ( -3 )
118#define OPTIX_OPACITY_MICROMAP_PREDEFINED_INDEX_FULLY_UNKNOWN_OPAQUE ( -4 )
119
121#define OPTIX_OPACITY_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT 128ull
122
124#define OPTIX_OPACITY_MICROMAP_MAX_SUBDIVISION_LEVEL 12
125
127#define OPTIX_DISPLACEMENT_MICROMAP_MAX_SUBDIVISION_LEVEL 5
128
130#define OPTIX_DISPLACEMENT_MICROMAP_DESC_BUFFER_BYTE_ALIGNMENT 8ull
131
133#define OPTIX_DISPLACEMENT_MICROMAP_ARRAY_BUFFER_BYTE_ALIGNMENT 128ull
134
142typedef enum OptixResult
143{
186
191{
194
198
202
206
210
213
217
221
226
232
257typedef void ( *OptixLogCallback )( unsigned int level, const char* tag, const char* message, void* cbdata );
258
267{
271
276{
286
292{
296
297 // Standard thread reordering is supported
300
305{
308
312
317
323
329typedef enum OptixHitKind
330{
336
339{
349
352{
361
364{
368
370{
375
377{
382
385{
393
396{
407
413{
416 unsigned int count;
418 unsigned int subdivisionLevel;
422
424{
427
433
444
447 unsigned int indexSizeInBytes;
448
451 unsigned int indexStrideInBytes;
452
454 unsigned int indexOffset;
455
462
464{
470
471
474{
480
483{
485
488
491
493
495{
505
507{
509 unsigned int byteOffset;
511 unsigned short subdivisionLevel;
513 unsigned short format;
515
521{
523 unsigned int count;
525 unsigned int subdivisionLevel;
529
532{
550
556{
559 unsigned int count;
561 unsigned int subdivisionLevel;
565
568{
579
582{
585
596
604
609
614
617
623
625
626
631{
640
642 unsigned int numVertices;
643
646
650
655
657 unsigned int numIndexTriplets;
658
661
664 unsigned int indexStrideInBytes;
665
670
674 const unsigned int* flags;
675
677 unsigned int numSbtRecords;
678
683
686
690
694
697
702
704
709{
712 unsigned int numSbtRecords;
713
717
721{
743
748{
770
774{
780
799{
804 unsigned int numPrimitives;
805
812 unsigned int numVertices;
816
822 unsigned int widthStrideInBytes;
823
828
837 unsigned int indexStrideInBytes;
838
841 unsigned int flag;
842
846
848 unsigned int endcapFlags;
850
864{
870
875 unsigned int numVertices;
876
886
890 const unsigned int* flags;
891
893 unsigned int numSbtRecords;
903
908
910typedef struct OptixAabb
911{
912 float minX;
913 float minY;
914 float minZ;
915 float maxX;
916 float maxY;
917 float maxZ;
919
924{
930
933 unsigned int numPrimitives;
934
938 unsigned int strideInBytes;
939
943 const unsigned int* flags;
944
946 unsigned int numSbtRecords;
947
952
955
959
964
969{
978
980 unsigned int numInstances;
981
985 unsigned int instanceStride;
987
992{
995 unsigned int numInstances;
996
1003
1005
1010{
1024
1030typedef struct OptixBuildInput
1031{
1034
1035 union
1036 {
1047 char pad[1024];
1048 };
1050
1055{
1058
1059 union
1060 {
1063
1066
1068 };
1070
1071// Some 32-bit tools use this header. This static_assert fails for them because
1072// the default enum size is 4 bytes, rather than 8, under 32-bit compilers.
1073// This #ifndef allows them to disable the static assert.
1074
1075// TODO Define a static assert for C/pre-C++-11
1076#if defined( __cplusplus ) && __cplusplus >= 201103L
1077static_assert( sizeof( OptixBuildInput ) == 8 + 1024, "OptixBuildInput has wrong size" );
1078#endif
1079
1084{
1087
1092
1096
1101
1107
1108
1114
1116
1120typedef struct OptixInstance
1121{
1123 float transform[12];
1124
1126 unsigned int instanceId;
1127
1131 unsigned int sbtOffset;
1132
1135 unsigned int visibilityMask;
1136
1138 unsigned int flags;
1139
1142
1144 unsigned int pad[2];
1146
1151{
1154
1158
1160
1163
1166
1177
1181
1186
1192
1193
1196{
1198
1201
1205
1208{
1210 unsigned int byteOffset;
1212 unsigned short subdivisionLevel;
1214 unsigned short format;
1216
1222{
1224 unsigned int count;
1226 unsigned int subdivisionLevel;
1230
1233{
1235 unsigned int flags;
1236
1239
1243
1248
1255
1258{
1262
1265{
1275
1276
1289{
1295
1300{
1305
1311{
1314 unsigned short numKeys;
1315
1317 unsigned short flags;
1318
1321
1323 float timeEnd;
1325
1330{
1332 unsigned int buildFlags;
1333
1341
1345
1352{
1356
1360
1367
1372{
1375
1379
1384{
1387
1391
1397{
1399 unsigned long long info[4];
1401
1408{
1411
1413 unsigned int pad[2];
1414
1416 float transform[12];
1417
1420 float invTransform[12];
1422
1448{
1451
1455
1457 unsigned int pad[3];
1458
1460 float transform[2][12];
1462
1470// [ sx a b pvx ]
1471// S = [ 0 sy c pvy ]
1472// [ 0 0 sz pvz ]
1481// [ 1 0 0 tx ]
1482// T = [ 0 1 0 ty ]
1483// [ 0 0 1 tz ]
1493typedef struct OptixSRTData
1494{
1497 float sx, a, b, pvx, sy, c, pvy, sz, pvz, qx, qy, qz, qw, tx, ty, tz;
1500
1501// TODO Define a static assert for C/pre-C++-11
1502#if defined( __cplusplus ) && __cplusplus >= 201103L
1503static_assert( sizeof( OptixSRTData ) == 16 * 4, "OptixSRTData has wrong size" );
1504#endif
1505
1531{
1534
1538
1540 unsigned int pad[3];
1541
1545
1546// TODO Define a static assert for C/pre-C++-11
1547#if defined( __cplusplus ) && __cplusplus >= 201103L
1548static_assert( sizeof( OptixSRTMotionTransform ) == 8 + 12 + 12 + 2 * 16 * 4, "OptixSRTMotionTransform has wrong size" );
1549#endif
1550
1555{
1563
1568{
1581
1585typedef struct OptixImage2D
1586{
1590 unsigned int width;
1592 unsigned int height;
1594 unsigned int rowStrideInBytes;
1603
1608{
1611
1614
1617
1620
1623
1626
1631
1636{
1639
1643
1648{
1649 // if nonzero, albedo image must be given in OptixDenoiserGuideLayer
1650 unsigned int guideAlbedo;
1651
1652 // if nonzero, normal image must be given in OptixDenoiserGuideLayer
1653 unsigned int guideNormal;
1654
1658
1663{
1664 // image with three components: R, G, B.
1666
1667 // image with two or three components: X, Y, Z.
1668 // (X, Y) camera space for OPTIX_DENOISER_MODEL_KIND_LDR, OPTIX_DENOISER_MODEL_KIND_HDR models.
1669 // (X, Y, Z) world space, all other models.
1671
1672 // image with two components: X, Y.
1673 // pixel movement from previous to current frame for each pixel in screen space.
1675
1676 // Internal images used in temporal AOV denoising modes,
1677 // pixel format OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER.
1680
1681 // image with a single component value that specifies how trustworthy the flow vector at x,y position in
1682 // OptixDenoiserGuideLayer::flow is. Range 0..1 (low->high trustworthiness).
1683 // Ignored if data pointer in the image is zero.
1685
1687
1691{
1694
1700
1702
1707{
1708 // input image (beauty or AOV)
1710
1711 // denoised output image from previous frame if temporal model kind selected
1713
1714 // denoised output for given input
1716
1717 // Type of AOV, used in temporal AOV modes as a hint to improve image quality.
1720
1726
1728{
1734
1740
1747
1754
1759{
1762
1766
1770
1773
1777
1781
1785
1790typedef enum OptixRayFlags
1791{
1794
1800
1806
1810
1813
1819
1825
1832
1839
1843
1850{
1857
1861{
1865
1870
1877
1882{
1894
1899{
1912
1917{
1920
1923
1926
1929
1933
1934
1935
1971 const void* boundValuePtr;
1972 const char* annotation; // optional string to display, set to 0 if unused. If unused,
1973 // OptiX will report the annotation as "No annotation"
1975
1986 OPTIX_PAYLOAD_TYPE_ID_7 = (1 << 7u)
1988
2003{
2008
2013
2018
2023
2029
2031typedef struct OptixPayloadType
2032{
2034 unsigned int numPayloadValues;
2035
2037 const unsigned int *payloadSemantics;
2039
2044{
2048
2051
2054
2057
2059 unsigned int numBoundValues;
2060
2063 unsigned int numPayloadTypes;
2064
2067
2069
2072{
2076
2080
2084
2088
2093
2096{
2100
2108{
2114
2121{
2135
2142{
2152
2155{
2158
2160 unsigned int flags;
2161
2162 union
2163 {
2174 };
2176
2181{
2196
2199{
2203
2207
2208
2210
2215{
2218
2226
2234
2238
2240
2247{
2250
2253
2257
2261
2263 unsigned int exceptionFlags;
2264
2269
2273
2277
2282{
2285 unsigned int maxTraceDepth;
2286
2288
2293{
2297
2301
2307 unsigned int missRecordCount;
2309
2317
2326
2328
2332typedef struct OptixStackSizes
2333{
2335 unsigned int cssRG;
2337 unsigned int cssMS;
2339 unsigned int cssCH;
2341 unsigned int cssAH;
2343 unsigned int cssIS;
2345 unsigned int cssCC;
2347 unsigned int dssDC;
2348
2350
2353{
2356
2358
2361 unsigned int numOptions,
2362 OptixQueryFunctionTableOptions* /*optionKeys*/,
2363 const void** /*optionValues*/,
2364 void* functionTable,
2365 size_t sizeOfTable );
2366
2372{
2377 unsigned int buildFlags;
2379 unsigned int curveEndcapFlags;
2381
2382
2383 // end group optix_types
2385
2386#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:56
struct OptixDenoiser_t * OptixDenoiser
Opaque type representing a denoiser instance.
Definition: optix_types.h:62
struct OptixRelocateInputOpacityMicromap OptixRelocateInputOpacityMicromap
OptixDeviceContextValidationMode
Validation mode settings.
Definition: optix_types.h:267
OptixPrimitiveTypeFlags
Builtin flags may be bitwise combined.
Definition: optix_types.h:748
struct OptixProgramGroupOptions OptixProgramGroupOptions
Program group options.
OptixGeometryFlags
Flags used by OptixBuildInputTriangleArray::flags, OptixBuildInputSphereArray::flags and OptixBuildIn...
Definition: optix_types.h:305
struct OptixAabb OptixAabb
AABB inputs.
OptixDeviceProperty
Parameters used for optixDeviceContextGetProperty()
Definition: optix_types.h:191
struct OptixMotionOptions OptixMotionOptions
Motion options.
OptixDisplacementMicromapFlags
Flags defining behavior of DMMs in a DMM array.
Definition: optix_types.h:483
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:1300
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:2199
struct OptixPipelineLinkOptions OptixPipelineLinkOptions
Link options for a pipeline.
struct OptixDenoiserGuideLayer OptixDenoiserGuideLayer
Guide layer for the denoiser.
OptixDenoiserAlphaMode
Alpha denoising mode.
Definition: optix_types.h:1636
OptixCompileDebugLevel
Debug levels.
Definition: optix_types.h:1899
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:1850
unsigned long long CUdeviceptr
CUDA device pointer.
Definition: optix_types.h:43
OptixPayloadSemantics
Semantic flags for a single payload word.
Definition: optix_types.h:2003
OptixResult
Result codes returned from API functions.
Definition: optix_types.h:143
OptixBuildOperation
Enum to specify the acceleration build operation.
Definition: optix_types.h:1289
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:2360
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:385
OptixAccelPropertyType
Properties which can be emitted during acceleration structure build.
Definition: optix_types.h:1372
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:1691
OptixRayFlags
Ray flags passed to the device function optixTrace(). These affect the behavior of traversal per invo...
Definition: optix_types.h:1791
struct OptixStaticTransform OptixStaticTransform
Static transform.
OptixModuleCompileState
Module compilation state.
Definition: optix_types.h:1917
OptixVertexFormat
Format of vertices used in OptixBuildInputTriangleArray::vertexFormat.
Definition: optix_types.h:352
struct OptixPipelineCompileOptions OptixPipelineCompileOptions
Compilation options for all modules of a pipeline.
OptixPixelFormat
Pixel formats used by the denoiser.
Definition: optix_types.h:1568
OptixDisplacementMicromapArrayIndexingMode
indexing mode of triangles to displacement micromaps in an array, used in OptixBuildInputDisplacement...
Definition: optix_types.h:568
OptixDisplacementMicromapDirectionFormat
Definition: optix_types.h:377
struct OptixRelocateInput OptixRelocateInput
Relocation inputs.
struct OptixDeviceContextOptions OptixDeviceContextOptions
Parameters used for optixDeviceContextCreate()
struct OptixProgramGroupCallables OptixProgramGroupCallables
Program group representing callables.
OptixDevicePropertyShaderExecutionReorderingFlags
Flags used to interpret the result of optixDeviceContextGetProperty() and OPTIX_DEVICE_PROPERTY_SHADE...
Definition: optix_types.h:292
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:53
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:1608
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:1010
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:370
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:71
OptixCurveEndcapFlags
Curve end cap types, for non-linear curves.
Definition: optix_types.h:774
struct OptixDenoiserParams OptixDenoiserParams
Various parameters used by the denoiser.
OptixOpacityMicromapFlags
Flags defining behavior of opacity micromaps in a opacity micromap array.
Definition: optix_types.h:1196
OptixExceptionFlags
Exception flags.
Definition: optix_types.h:2215
OptixDisplacementMicromapTriangleFlags
Definition: optix_types.h:495
OptixHitKind
Legacy type: A subset of the hit kinds for built-in primitive intersections. It is preferred to use o...
Definition: optix_types.h:330
struct OptixPipeline_t * OptixPipeline
Opaque type representing a pipeline.
Definition: optix_types.h:59
OptixProgramGroupFlags
Flags for program groups.
Definition: optix_types.h:2096
OptixIndicesFormat
Format of indices used int OptixBuildInputTriangleArray::indexFormat.
Definition: optix_types.h:339
unsigned long long OptixTraversableHandle
Traversable handle.
Definition: optix_types.h:68
OptixProgramGroupKind
Distinguishes different kinds of program groups.
Definition: optix_types.h:2072
OptixTraversableGraphFlags
Specifies the set of valid traversable graphs that may be passed to invocation of optixTrace()....
Definition: optix_types.h:1861
struct OptixDenoiserSizes OptixDenoiserSizes
Various sizes related to the denoiser.
OptixPrimitiveType
Builtin primitive types.
Definition: optix_types.h:721
struct OptixModuleCompileOptions OptixModuleCompileOptions
Compilation options for module.
OptixPayloadTypeID
Payload type identifiers.
Definition: optix_types.h:1977
OptixTraversableType
Traversable Handles.
Definition: optix_types.h:1555
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:257
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:1084
OptixOpacityMicromapArrayIndexingMode
indexing mode of triangles to opacity micromaps in an array, used in OptixBuildInputOpacityMicromap.
Definition: optix_types.h:396
OptixDisplacementMicromapFormat
DMM input data format.
Definition: optix_types.h:474
struct OptixTask_t * OptixTask
Opaque type representing a work task.
Definition: optix_types.h:65
OptixCompileOptimizationLevel
Optimization levels.
Definition: optix_types.h:1882
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:50
struct OptixDenoiserOptions OptixDenoiserOptions
Options used by the denoiser.
OptixTransformFormat
Format of transform used in OptixBuildInputTriangleArray::transformFormat.
Definition: optix_types.h:364
OptixQueryFunctionTableOptions
Options that can be passed to optixQueryFunctionTable()
Definition: optix_types.h:2353
struct OptixOpacityMicromapArrayBuildInput OptixOpacityMicromapArrayBuildInput
Inputs to opacity micromap array construction.
OptixBuildFlags
Builder Options.
Definition: optix_types.h:1151
@ OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_ALL
Definition: optix_types.h:269
@ OPTIX_DEVICE_CONTEXT_VALIDATION_MODE_OFF
Definition: optix_types.h:268
@ OPTIX_PRIMITIVE_TYPE_FLAGS_TRIANGLE
Triangle.
Definition: optix_types.h:766
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_LINEAR
Piecewise linear curve with circular cross-section.
Definition: optix_types.h:756
@ OPTIX_PRIMITIVE_TYPE_FLAGS_FLAT_QUADRATIC_BSPLINE
B-spline curve of degree 2 with oriented, flat cross-section.
Definition: optix_types.h:760
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BEZIER
Bezier curve of degree 3 with circular cross-section.
Definition: optix_types.h:764
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CATMULLROM
CatmullRom curve with circular cross-section.
Definition: optix_types.h:758
@ OPTIX_PRIMITIVE_TYPE_FLAGS_SPHERE
Sphere.
Definition: optix_types.h:762
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_CUBIC_BSPLINE
B-spline curve of degree 3 with circular cross-section.
Definition: optix_types.h:754
@ OPTIX_PRIMITIVE_TYPE_FLAGS_DISPLACED_MICROMESH_TRIANGLE
Triangle with an applied displacement micromap.
Definition: optix_types.h:768
@ OPTIX_PRIMITIVE_TYPE_FLAGS_ROUND_QUADRATIC_BSPLINE
B-spline curve of degree 2 with circular cross-section.
Definition: optix_types.h:752
@ OPTIX_PRIMITIVE_TYPE_FLAGS_CUSTOM
Custom primitive.
Definition: optix_types.h:750
@ 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:311
@ 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:321
@ OPTIX_GEOMETRY_FLAG_NONE
No flags set.
Definition: optix_types.h:307
@ 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:316
@ 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:225
@ 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:209
@ 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:220
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRACE_DEPTH
Maximum value for OptixPipelineLinkOptions::maxTraceDepth. sizeof( unsigned int )
Definition: optix_types.h:193
@ 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:201
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE_ID
The maximum value for OptixInstance::instanceId. sizeof( unsigned int )
Definition: optix_types.h:212
@ 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:216
@ 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:205
@ OPTIX_DEVICE_PROPERTY_LIMIT_MAX_TRAVERSABLE_GRAPH_DEPTH
Maximum value to pass into optixPipelineSetStackSize for parameter maxTraversableGraphDepth....
Definition: optix_types.h:197
@ OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING
Returns a flag specifying capabilities of the optixReorder() device function. See OptixDeviceProperty...
Definition: optix_types.h:230
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_NONE
Definition: optix_types.h:484
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:490
@ OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_DISPLACEMENT_MICROMAP_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:487
@ OPTIX_MOTION_FLAG_END_VANISH
Definition: optix_types.h:1303
@ OPTIX_MOTION_FLAG_NONE
Definition: optix_types.h:1301
@ OPTIX_MOTION_FLAG_START_VANISH
Definition: optix_types.h:1302
@ OPTIX_EXCEPTION_CODE_STACK_OVERFLOW
Stack overflow of the continuation stack. no exception details.
Definition: optix_types.h:2202
@ OPTIX_EXCEPTION_CODE_TRACE_DEPTH_EXCEEDED
The trace depth is exceeded. no exception details.
Definition: optix_types.h:2206
@ OPTIX_DENOISER_ALPHA_MODE_DENOISE
Denoise alpha.
Definition: optix_types.h:1641
@ OPTIX_DENOISER_ALPHA_MODE_COPY
Copy alpha (if present) from input layer, no denoising.
Definition: optix_types.h:1638
@ OPTIX_COMPILE_DEBUG_LEVEL_MINIMAL
Generate information that does not impact performance. Note this replaces OPTIX_COMPILE_DEBUG_LEVEL_L...
Definition: optix_types.h:1906
@ OPTIX_COMPILE_DEBUG_LEVEL_FULL
Generate full debug information.
Definition: optix_types.h:1910
@ OPTIX_COMPILE_DEBUG_LEVEL_MODERATE
Generate some debug information with slight performance cost.
Definition: optix_types.h:1908
@ OPTIX_COMPILE_DEBUG_LEVEL_NONE
No debug information.
Definition: optix_types.h:1903
@ OPTIX_COMPILE_DEBUG_LEVEL_DEFAULT
Default currently is minimal.
Definition: optix_types.h:1901
@ OPTIX_TRANSFORM_TYPE_SRT_MOTION_TRANSFORM
Definition: optix_types.h:1854
@ OPTIX_TRANSFORM_TYPE_STATIC_TRANSFORM
Definition: optix_types.h:1852
@ OPTIX_TRANSFORM_TYPE_INSTANCE
Definition: optix_types.h:1855
@ OPTIX_TRANSFORM_TYPE_MATRIX_MOTION_TRANSFORM
Definition: optix_types.h:1853
@ OPTIX_TRANSFORM_TYPE_NONE
Not a transformation.
Definition: optix_types.h:1851
@ OPTIX_PAYLOAD_SEMANTICS_CH_NONE
Definition: optix_types.h:2009
@ OPTIX_PAYLOAD_SEMANTICS_CH_WRITE
Definition: optix_types.h:2011
@ OPTIX_PAYLOAD_SEMANTICS_IS_READ_WRITE
Definition: optix_types.h:2027
@ OPTIX_PAYLOAD_SEMANTICS_CH_READ
Definition: optix_types.h:2010
@ OPTIX_PAYLOAD_SEMANTICS_AH_READ_WRITE
Definition: optix_types.h:2022
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_NONE
Definition: optix_types.h:2004
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ_WRITE
Definition: optix_types.h:2007
@ OPTIX_PAYLOAD_SEMANTICS_MS_READ
Definition: optix_types.h:2015
@ OPTIX_PAYLOAD_SEMANTICS_MS_NONE
Definition: optix_types.h:2014
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_READ
Definition: optix_types.h:2005
@ OPTIX_PAYLOAD_SEMANTICS_AH_NONE
Definition: optix_types.h:2019
@ OPTIX_PAYLOAD_SEMANTICS_CH_READ_WRITE
Definition: optix_types.h:2012
@ OPTIX_PAYLOAD_SEMANTICS_TRACE_CALLER_WRITE
Definition: optix_types.h:2006
@ OPTIX_PAYLOAD_SEMANTICS_IS_READ
Definition: optix_types.h:2025
@ OPTIX_PAYLOAD_SEMANTICS_IS_NONE
Definition: optix_types.h:2024
@ OPTIX_PAYLOAD_SEMANTICS_MS_WRITE
Definition: optix_types.h:2016
@ OPTIX_PAYLOAD_SEMANTICS_MS_READ_WRITE
Definition: optix_types.h:2017
@ OPTIX_PAYLOAD_SEMANTICS_AH_READ
Definition: optix_types.h:2020
@ OPTIX_PAYLOAD_SEMANTICS_IS_WRITE
Definition: optix_types.h:2026
@ OPTIX_PAYLOAD_SEMANTICS_AH_WRITE
Definition: optix_types.h:2021
@ OPTIX_ERROR_DISK_CACHE_DATABASE_ERROR
Definition: optix_types.h:152
@ OPTIX_ERROR_PIPELINE_LINK_ERROR
Definition: optix_types.h:165
@ OPTIX_ERROR_INVALID_FUNCTION_USE
Definition: optix_types.h:162
@ OPTIX_ERROR_INVALID_OPERATION
Definition: optix_types.h:147
@ OPTIX_ERROR_LIBRARY_NOT_FOUND
Definition: optix_types.h:178
@ OPTIX_ERROR_DISK_CACHE_INVALID_PATH
Definition: optix_types.h:150
@ OPTIX_ERROR_DENOISER_NOT_INITIALIZED
Definition: optix_types.h:169
@ OPTIX_ERROR_INVALID_PAYLOAD_ACCESS
Definition: optix_types.h:160
@ OPTIX_ERROR_LAUNCH_FAILURE
Definition: optix_types.h:154
@ OPTIX_ERROR_FILE_IO_ERROR
Definition: optix_types.h:148
@ OPTIX_ERROR_PAYLOAD_TYPE_MISMATCH
Definition: optix_types.h:171
@ OPTIX_ERROR_DEVICE_OUT_OF_MEMORY
Definition: optix_types.h:181
@ OPTIX_ERROR_LIBRARY_UNLOAD_FAILURE
Definition: optix_types.h:180
@ OPTIX_ERROR_ENTRY_SYMBOL_NOT_FOUND
Definition: optix_types.h:179
@ OPTIX_ERROR_PAYLOAD_TYPE_ID_INVALID
Definition: optix_types.h:173
@ OPTIX_ERROR_CUDA_ERROR
Definition: optix_types.h:182
@ OPTIX_ERROR_INVALID_LAUNCH_PARAMETER
Definition: optix_types.h:159
@ OPTIX_ERROR_VALIDATION_FAILURE
Definition: optix_types.h:157
@ OPTIX_ERROR_DENOISER_MODEL_NOT_SET
Definition: optix_types.h:168
@ OPTIX_ERROR_INTERNAL_COMPILER_ERROR
Definition: optix_types.h:167
@ OPTIX_ERROR_HOST_OUT_OF_MEMORY
Definition: optix_types.h:146
@ OPTIX_SUCCESS
Definition: optix_types.h:144
@ OPTIX_ERROR_DISK_CACHE_INVALID_DATA
Definition: optix_types.h:153
@ OPTIX_ERROR_DISK_CACHE_PERMISSION_ERROR
Definition: optix_types.h:151
@ OPTIX_ERROR_INVALID_VALUE
Definition: optix_types.h:145
@ OPTIX_ERROR_INVALID_INPUT
Definition: optix_types.h:158
@ OPTIX_ERROR_INVALID_DEVICE_CONTEXT
Definition: optix_types.h:155
@ OPTIX_ERROR_CUDA_NOT_INITIALIZED
Definition: optix_types.h:156
@ OPTIX_ERROR_PAYLOAD_TYPE_RESOLUTION_FAILED
Definition: optix_types.h:172
@ OPTIX_ERROR_UNSUPPORTED_ABI_VERSION
Definition: optix_types.h:175
@ OPTIX_ERROR_NOT_COMPATIBLE
Definition: optix_types.h:170
@ OPTIX_ERROR_NOT_SUPPORTED
Definition: optix_types.h:174
@ OPTIX_ERROR_UNKNOWN
Definition: optix_types.h:184
@ OPTIX_ERROR_PIPELINE_OUT_OF_CONSTANT_MEMORY
Definition: optix_types.h:164
@ OPTIX_ERROR_INVALID_FUNCTION_ARGUMENTS
Definition: optix_types.h:163
@ OPTIX_ERROR_INVALID_ENTRY_FUNCTION_OPTIONS
Definition: optix_types.h:177
@ OPTIX_ERROR_INTERNAL_ERROR
Definition: optix_types.h:183
@ OPTIX_ERROR_INVALID_FILE_FORMAT
Definition: optix_types.h:149
@ OPTIX_ERROR_FUNCTION_TABLE_SIZE_MISMATCH
Definition: optix_types.h:176
@ OPTIX_ERROR_INVALID_ATTRIBUTE_ACCESS
Definition: optix_types.h:161
@ OPTIX_ERROR_ILLEGAL_DURING_TASK_EXECUTE
Definition: optix_types.h:166
@ OPTIX_BUILD_OPERATION_BUILD
Perform a full build operation.
Definition: optix_types.h:1291
@ OPTIX_BUILD_OPERATION_UPDATE
Perform an update using new bounds.
Definition: optix_types.h:1293
@ OPTIX_OPACITY_MICROMAP_FORMAT_2_STATE
0: Transparent, 1: Opaque
Definition: optix_types.h:389
@ OPTIX_OPACITY_MICROMAP_FORMAT_NONE
invalid format
Definition: optix_types.h:387
@ OPTIX_OPACITY_MICROMAP_FORMAT_4_STATE
0: Transparent, 1: Opaque, 2: Unknown-Transparent, 3: Unknown-Opaque
Definition: optix_types.h:391
@ OPTIX_PROPERTY_TYPE_AABBS
OptixAabb * numMotionSteps.
Definition: optix_types.h:1377
@ OPTIX_PROPERTY_TYPE_COMPACTED_SIZE
Size of a compacted acceleration structure. The device pointer points to a uint64.
Definition: optix_types.h:1374
@ OPTIX_DENOISER_AOV_TYPE_SPECULAR
Definition: optix_types.h:1696
@ OPTIX_DENOISER_AOV_TYPE_NONE
Unspecified AOV type.
Definition: optix_types.h:1693
@ OPTIX_DENOISER_AOV_TYPE_DIFFUSE
Definition: optix_types.h:1699
@ OPTIX_DENOISER_AOV_TYPE_REFRACTION
Definition: optix_types.h:1698
@ OPTIX_DENOISER_AOV_TYPE_BEAUTY
Definition: optix_types.h:1695
@ OPTIX_DENOISER_AOV_TYPE_REFLECTION
Definition: optix_types.h:1697
@ 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:1841
@ 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:1809
@ 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:1812
@ OPTIX_RAY_FLAG_NONE
No change from the behavior configured for the individual AS.
Definition: optix_types.h:1793
@ OPTIX_RAY_FLAG_DISABLE_ANYHIT
Disables anyhit programs for the ray. Overrides OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT....
Definition: optix_types.h:1799
@ 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:1818
@ 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:1838
@ 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:1831
@ 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:1824
@ 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:1805
@ OPTIX_MODULE_COMPILE_STATE_STARTED
Started, but not all OptixTask objects have completed. No detected failures.
Definition: optix_types.h:1922
@ OPTIX_MODULE_COMPILE_STATE_FAILED
All OptixTask objects have completed, and at least one has failed.
Definition: optix_types.h:1928
@ OPTIX_MODULE_COMPILE_STATE_NOT_STARTED
No OptixTask objects have started.
Definition: optix_types.h:1919
@ OPTIX_MODULE_COMPILE_STATE_IMPENDING_FAILURE
Not all OptixTask objects have completed, but at least one has failed.
Definition: optix_types.h:1925
@ OPTIX_MODULE_COMPILE_STATE_COMPLETED
All OptixTask objects have completed. The OptixModule is ready to be used.
Definition: optix_types.h:1931
@ OPTIX_VERTEX_FORMAT_FLOAT3
Vertices are represented by three floats.
Definition: optix_types.h:354
@ OPTIX_VERTEX_FORMAT_HALF3
Vertices are represented by three halfs.
Definition: optix_types.h:356
@ OPTIX_VERTEX_FORMAT_SNORM16_3
Definition: optix_types.h:358
@ OPTIX_VERTEX_FORMAT_SNORM16_2
Definition: optix_types.h:359
@ OPTIX_VERTEX_FORMAT_NONE
No vertices.
Definition: optix_types.h:353
@ OPTIX_VERTEX_FORMAT_HALF2
Vertices are represented by two halfs.
Definition: optix_types.h:357
@ OPTIX_VERTEX_FORMAT_FLOAT2
Vertices are represented by two floats.
Definition: optix_types.h:355
@ OPTIX_PIXEL_FORMAT_HALF4
four halfs, RGBA
Definition: optix_types.h:1572
@ OPTIX_PIXEL_FORMAT_FLOAT2
two floats, XY
Definition: optix_types.h:1574
@ OPTIX_PIXEL_FORMAT_FLOAT4
four floats, RGBA
Definition: optix_types.h:1576
@ OPTIX_PIXEL_FORMAT_UCHAR4
four unsigned chars, RGBA
Definition: optix_types.h:1578
@ OPTIX_PIXEL_FORMAT_HALF3
three halfs, RGB
Definition: optix_types.h:1571
@ OPTIX_PIXEL_FORMAT_FLOAT3
three floats, RGB
Definition: optix_types.h:1575
@ OPTIX_PIXEL_FORMAT_UCHAR3
three unsigned chars, RGB
Definition: optix_types.h:1577
@ OPTIX_PIXEL_FORMAT_HALF1
one half
Definition: optix_types.h:1569
@ OPTIX_PIXEL_FORMAT_INTERNAL_GUIDE_LAYER
internal format
Definition: optix_types.h:1579
@ OPTIX_PIXEL_FORMAT_FLOAT1
one float
Definition: optix_types.h:1573
@ OPTIX_PIXEL_FORMAT_HALF2
two halfs, XY
Definition: optix_types.h:1570
@ 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:573
@ OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_NONE
No displacement micromap is used.
Definition: optix_types.h:570
@ OPTIX_DISPLACEMENT_MICROMAP_ARRAY_INDEXING_MODE_INDEXED
OptixBuildInputDisplacementMicromap::displacementMicromapIndexBuffer provides a per triangle array of...
Definition: optix_types.h:577
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_HALF3
Definition: optix_types.h:380
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_FLOAT3
Definition: optix_types.h:379
@ OPTIX_DISPLACEMENT_MICROMAP_DIRECTION_FORMAT_NONE
Definition: optix_types.h:378
@ OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING_FLAG_STANDARD
Definition: optix_types.h:298
@ OPTIX_DEVICE_PROPERTY_SHADER_EXECUTION_REORDERING_FLAG_NONE
optixReorder() acts as a no-op, and no thread reordering is performed. Note that it is still legal to...
Definition: optix_types.h:295
@ OPTIX_DENOISER_MODEL_KIND_HDR
Use the built-in model appropriate for high dynamic range input.
Definition: optix_types.h:1613
@ OPTIX_DENOISER_MODEL_KIND_TEMPORAL
Use the built-in model appropriate for high dynamic range input, temporally stable.
Definition: optix_types.h:1619
@ OPTIX_DENOISER_MODEL_KIND_AOV
Use the built-in model appropriate for high dynamic range input and support for AOVs.
Definition: optix_types.h:1616
@ OPTIX_DENOISER_MODEL_KIND_LDR
Use the built-in model appropriate for low dynamic range input.
Definition: optix_types.h:1610
@ 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:1629
@ OPTIX_DENOISER_MODEL_KIND_UPSCALE2X
Use the built-in model appropriate for high dynamic range input and support for AOVs,...
Definition: optix_types.h:1625
@ 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:1622
@ OPTIX_BUILD_INPUT_TYPE_INSTANCES
Instance inputs.
Definition: optix_types.h:1016
@ OPTIX_BUILD_INPUT_TYPE_TRIANGLES
Triangle inputs.
Definition: optix_types.h:1012
@ OPTIX_BUILD_INPUT_TYPE_SPHERES
Sphere inputs.
Definition: optix_types.h:1022
@ OPTIX_BUILD_INPUT_TYPE_CUSTOM_PRIMITIVES
Custom primitive inputs.
Definition: optix_types.h:1014
@ OPTIX_BUILD_INPUT_TYPE_CURVES
Curve inputs.
Definition: optix_types.h:1020
@ OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS
Instance pointer inputs.
Definition: optix_types.h:1018
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_NONE
Definition: optix_types.h:371
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_HALF2
Definition: optix_types.h:373
@ OPTIX_DISPLACEMENT_MICROMAP_BIAS_AND_SCALE_FORMAT_FLOAT2
Definition: optix_types.h:372
@ OPTIX_CURVE_ENDCAP_ON
Flat end caps at both ends of quadratic/cubic curve segments. Not valid for linear.
Definition: optix_types.h:778
@ OPTIX_CURVE_ENDCAP_DEFAULT
Default end caps. Round end caps for linear, no end caps for quadratic/cubic.
Definition: optix_types.h:776
@ OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:1203
@ OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_OPACITY_MICROMAP_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:1200
@ OPTIX_OPACITY_MICROMAP_FLAG_NONE
Definition: optix_types.h:1197
@ OPTIX_EXCEPTION_FLAG_STACK_OVERFLOW
Enables exceptions check related to the continuation stack. This flag should be used when the applica...
Definition: optix_types.h:2225
@ OPTIX_EXCEPTION_FLAG_TRACE_DEPTH
Enables exceptions check related to trace depth. This flag should be used when the application handle...
Definition: optix_types.h:2233
@ OPTIX_EXCEPTION_FLAG_USER
Enables user exceptions via optixThrowException(). This flag must be specified for all modules in a p...
Definition: optix_types.h:2237
@ OPTIX_EXCEPTION_FLAG_NONE
No exception are enabled.
Definition: optix_types.h:2217
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_20
The triangle edge v2..v0 is decimated.
Definition: optix_types.h:503
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_DECIMATE_EDGE_12
The triangle edge v1..v2 is decimated.
Definition: optix_types.h:501
@ 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:499
@ OPTIX_DISPLACEMENT_MICROMAP_TRIANGLE_FLAG_NONE
Definition: optix_types.h:496
@ OPTIX_HIT_KIND_TRIANGLE_BACK_FACE
Ray hit the triangle on the back face.
Definition: optix_types.h:334
@ OPTIX_HIT_KIND_TRIANGLE_FRONT_FACE
Ray hit the triangle on the front face.
Definition: optix_types.h:332
@ OPTIX_PROGRAM_GROUP_FLAGS_NONE
Currently there are no flags.
Definition: optix_types.h:2098
@ OPTIX_INDICES_FORMAT_NONE
No indices, this format must only be used in combination with triangle soups, i.e....
Definition: optix_types.h:341
@ OPTIX_INDICES_FORMAT_UNSIGNED_BYTE3
Three bytes.
Definition: optix_types.h:343
@ OPTIX_INDICES_FORMAT_UNSIGNED_INT3
Three ints.
Definition: optix_types.h:347
@ OPTIX_INDICES_FORMAT_UNSIGNED_SHORT3
Three shorts.
Definition: optix_types.h:345
@ OPTIX_PROGRAM_GROUP_KIND_CALLABLES
Program group containing a direct (DC) or continuation (CC) callable program.
Definition: optix_types.h:2091
@ OPTIX_PROGRAM_GROUP_KIND_MISS
Program group containing a miss (MS) program.
Definition: optix_types.h:2079
@ OPTIX_PROGRAM_GROUP_KIND_HITGROUP
Program group containing an intersection (IS), any hit (AH), and/or closest hit (CH) program.
Definition: optix_types.h:2087
@ OPTIX_PROGRAM_GROUP_KIND_RAYGEN
Program group containing a raygen (RG) program.
Definition: optix_types.h:2075
@ OPTIX_PROGRAM_GROUP_KIND_EXCEPTION
Program group containing an exception (EX) program.
Definition: optix_types.h:2083
@ 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:1875
@ 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:1864
@ 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:1869
@ OPTIX_PRIMITIVE_TYPE_TRIANGLE
Triangle.
Definition: optix_types.h:739
@ OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BEZIER
Bezier curve of degree 3 with circular cross-section.
Definition: optix_types.h:737
@ OPTIX_PRIMITIVE_TYPE_ROUND_QUADRATIC_BSPLINE
B-spline curve of degree 2 with circular cross-section.
Definition: optix_types.h:725
@ OPTIX_PRIMITIVE_TYPE_DISPLACED_MICROMESH_TRIANGLE
Triangle with an applied displacement micromap.
Definition: optix_types.h:741
@ OPTIX_PRIMITIVE_TYPE_CUSTOM
Custom primitive.
Definition: optix_types.h:723
@ OPTIX_PRIMITIVE_TYPE_SPHERE
Sphere.
Definition: optix_types.h:735
@ OPTIX_PRIMITIVE_TYPE_ROUND_LINEAR
Piecewise linear curve with circular cross-section.
Definition: optix_types.h:729
@ OPTIX_PRIMITIVE_TYPE_ROUND_CATMULLROM
CatmullRom curve with circular cross-section.
Definition: optix_types.h:731
@ OPTIX_PRIMITIVE_TYPE_ROUND_CUBIC_BSPLINE
B-spline curve of degree 3 with circular cross-section.
Definition: optix_types.h:727
@ OPTIX_PRIMITIVE_TYPE_FLAT_QUADRATIC_BSPLINE
B-spline curve of degree 2 with oriented, flat cross-section.
Definition: optix_types.h:733
@ OPTIX_PAYLOAD_TYPE_ID_5
Definition: optix_types.h:1984
@ OPTIX_PAYLOAD_TYPE_ID_1
Definition: optix_types.h:1980
@ OPTIX_PAYLOAD_TYPE_ID_0
Definition: optix_types.h:1979
@ OPTIX_PAYLOAD_TYPE_ID_2
Definition: optix_types.h:1981
@ OPTIX_PAYLOAD_TYPE_ID_3
Definition: optix_types.h:1982
@ OPTIX_PAYLOAD_TYPE_DEFAULT
Definition: optix_types.h:1978
@ OPTIX_PAYLOAD_TYPE_ID_6
Definition: optix_types.h:1985
@ OPTIX_PAYLOAD_TYPE_ID_7
Definition: optix_types.h:1986
@ OPTIX_PAYLOAD_TYPE_ID_4
Definition: optix_types.h:1983
@ OPTIX_TRAVERSABLE_TYPE_MATRIX_MOTION_TRANSFORM
Matrix motion transform.
Definition: optix_types.h:1559
@ OPTIX_TRAVERSABLE_TYPE_STATIC_TRANSFORM
Static transforms.
Definition: optix_types.h:1557
@ OPTIX_TRAVERSABLE_TYPE_SRT_MOTION_TRANSFORM
SRT motion transform.
Definition: optix_types.h:1561
@ OPTIX_INSTANCE_FLAG_ENFORCE_ANYHIT
Enables anyhit programs for all geometries of the instance. Overrides OPTIX_GEOMETRY_FLAG_DISABLE_ANY...
Definition: optix_types.h:1106
@ 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:1091
@ 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:1100
@ 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:1113
@ OPTIX_INSTANCE_FLAG_NONE
No special flag set.
Definition: optix_types.h:1086
@ 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:1095
@ 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:1110
@ OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_INDEXED
OptixBuildInputOpacityMicromap::indexBuffer provides a per triangle array of predefined indices and/o...
Definition: optix_types.h:405
@ OPTIX_OPACITY_MICROMAP_ARRAY_INDEXING_MODE_NONE
No opacity micromap is used.
Definition: optix_types.h:398
@ 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:401
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_NONE
Definition: optix_types.h:475
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_1024_MICRO_TRIS_128_BYTES
Definition: optix_types.h:478
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_256_MICRO_TRIS_128_BYTES
Definition: optix_types.h:477
@ OPTIX_DISPLACEMENT_MICROMAP_FORMAT_64_MICRO_TRIS_64_BYTES
Definition: optix_types.h:476
@ OPTIX_COMPILE_OPTIMIZATION_DEFAULT
Default is to run all optimizations.
Definition: optix_types.h:1884
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_1
Some optimizations.
Definition: optix_types.h:1888
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_3
All optimizations.
Definition: optix_types.h:1892
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_0
No optimizations.
Definition: optix_types.h:1886
@ OPTIX_COMPILE_OPTIMIZATION_LEVEL_2
Most optimizations.
Definition: optix_types.h:1890
@ OPTIX_TRANSFORM_FORMAT_NONE
no transform, default for zero initialization
Definition: optix_types.h:365
@ OPTIX_TRANSFORM_FORMAT_MATRIX_FLOAT12
3x4 row major affine matrix
Definition: optix_types.h:366
@ OPTIX_QUERY_FUNCTION_TABLE_OPTION_DUMMY
Placeholder (there are no options yet)
Definition: optix_types.h:2355
@ 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:1190
@ OPTIX_BUILD_FLAG_ALLOW_UPDATE
Allow updating the build with new vertex positions with subsequent calls to optixAccelBuild.
Definition: optix_types.h:1157
@ OPTIX_BUILD_FLAG_ALLOW_RANDOM_INSTANCE_ACCESS
Allow random access to instances See optixGetInstanceTraversableFromIAS.
Definition: optix_types.h:1180
@ OPTIX_BUILD_FLAG_PREFER_FAST_BUILD
This flag is mutually exclusive with OPTIX_BUILD_FLAG_PREFER_FAST_TRACE.
Definition: optix_types.h:1165
@ OPTIX_BUILD_FLAG_PREFER_FAST_TRACE
This flag is mutually exclusive with OPTIX_BUILD_FLAG_PREFER_FAST_BUILD.
Definition: optix_types.h:1162
@ OPTIX_BUILD_FLAG_ALLOW_OPACITY_MICROMAP_UPDATE
Support updating the opacity micromap array and opacity micromap indices on refits....
Definition: optix_types.h:1185
@ OPTIX_BUILD_FLAG_NONE
No special flags set.
Definition: optix_types.h:1153
@ OPTIX_BUILD_FLAG_ALLOW_RANDOM_VERTEX_ACCESS
Allow random access to build input vertices See optixGetTriangleVertexData optixGetLinearCurveVertexD...
Definition: optix_types.h:1176
@ OPTIX_BUILD_FLAG_ALLOW_COMPACTION
Definition: optix_types.h:1159
AABB inputs.
Definition: optix_types.h:911
float minX
Lower extent in X direction.
Definition: optix_types.h:912
float minY
Lower extent in Y direction.
Definition: optix_types.h:913
float maxX
Upper extent in X direction.
Definition: optix_types.h:915
float maxY
Upper extent in Y direction.
Definition: optix_types.h:916
float minZ
Lower extent in Z direction.
Definition: optix_types.h:914
float maxZ
Upper extent in Z direction.
Definition: optix_types.h:917
Struct for querying builder allocation requirements.
Definition: optix_types.h:1352
size_t tempSizeInBytes
The size in bytes required for the tempBuffer paramter to optixAccelBuild when doing a build (OPTIX_B...
Definition: optix_types.h:1359
size_t outputSizeInBytes
The size in bytes required for the outputBuffer parameter to optixAccelBuild when doing a build (OPTI...
Definition: optix_types.h:1355
size_t tempUpdateSizeInBytes
The size in bytes required for the tempBuffer parameter to optixAccelBuild when doing an update (OPTI...
Definition: optix_types.h:1365
Build options for acceleration structures.
Definition: optix_types.h:1330
unsigned int buildFlags
Combinations of OptixBuildFlags.
Definition: optix_types.h:1332
OptixMotionOptions motionOptions
Options for motion.
Definition: optix_types.h:1343
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:1340
Specifies a type and output destination for emitted post-build properties.
Definition: optix_types.h:1384
OptixAccelPropertyType type
Requested property.
Definition: optix_types.h:1389
CUdeviceptr result
Output buffer for the properties.
Definition: optix_types.h:1386
Curve inputs.
Definition: optix_types.h:799
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:822
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:845
unsigned int endcapFlags
End cap flags, see OptixCurveEndcapFlags.
Definition: optix_types.h:848
unsigned int numPrimitives
Number of primitives. Each primitive is a polynomial curve segment.
Definition: optix_types.h:804
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:810
unsigned int normalStrideInBytes
Reserved for future use.
Definition: optix_types.h:827
CUdeviceptr indexBuffer
Device pointer to array of unsigned ints, one per curve segment. This buffer is required (unlike for ...
Definition: optix_types.h:834
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:837
const CUdeviceptr * normalBuffers
Reserved for future use.
Definition: optix_types.h:825
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:815
const CUdeviceptr * widthBuffers
Parallel to vertexBuffers: a device pointer per motion step, each with numVertices float values,...
Definition: optix_types.h:819
unsigned int numVertices
Number of vertices in each buffer in vertexBuffers.
Definition: optix_types.h:812
OptixPrimitiveType curveType
Curve degree and basis.
Definition: optix_types.h:802
unsigned int flag
Combination of OptixGeometryFlags describing the primitive behavior.
Definition: optix_types.h:841
Custom primitive inputs.
Definition: optix_types.h:924
const CUdeviceptr * aabbBuffers
Points to host array of device pointers to AABBs (type OptixAabb), one per motion step....
Definition: optix_types.h:929
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:943
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:958
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:951
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:946
unsigned int numPrimitives
Number of primitives in each buffer (i.e., per motion step) in OptixBuildInputCustomPrimitiveArray::a...
Definition: optix_types.h:933
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:954
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:962
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:938
Optional displacement part of a triangle array input.
Definition: optix_types.h:582
unsigned int displacementMicromapIndexSizeInBytes
2 or 4 (16 or 32 bit)
Definition: optix_types.h:603
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:587
unsigned int vertexBiasAndScaleStrideInBytes
Stride in bytes for vertex bias and direction scale entries.
Definition: optix_types.h:613
CUdeviceptr triangleFlagsBuffer
Optional per-triangle flags, uint8_t per triangle, possible values defined in enum OptixDisplacementM...
Definition: optix_types.h:595
unsigned int vertexDirectionStrideInBytes
Stride between displacement vectors.
Definition: optix_types.h:608
unsigned int triangleFlagsStrideInBytes
Stride in bytes for triangleFlags.
Definition: optix_types.h:616
OptixDisplacementMicromapDirectionFormat vertexDirectionFormat
Format of displacement vectors.
Definition: optix_types.h:606
CUdeviceptr vertexBiasAndScaleBuffer
Optional per-vertex bias (offset) along displacement direction and displacement direction scale.
Definition: optix_types.h:593
unsigned int numDisplacementMicromapUsageCounts
Number of OptixDisplacementMicromapUsageCount entries.
Definition: optix_types.h:619
const OptixDisplacementMicromapUsageCount * displacementMicromapUsageCounts
List of number of usages of displacement micromaps of format and subdivision combinations....
Definition: optix_types.h:622
unsigned int displacementMicromapIndexStrideInBytes
Displacement micromap index buffer stride. If set to zero, indices are assumed to be tightly packed a...
Definition: optix_types.h:601
CUdeviceptr displacementMicromapIndexBuffer
int16 or int32 buffer specifying which displacement micromap index to use for each triangle....
Definition: optix_types.h:589
OptixDisplacementMicromapBiasAndScaleFormat vertexBiasAndScaleFormat
Format of vertex bias and direction scale.
Definition: optix_types.h:611
OptixDisplacementMicromapArrayIndexingMode indexingMode
Indexing mode of triangle to displacement micromap array mapping.
Definition: optix_types.h:584
CUdeviceptr vertexDirectionsBuffer
Per triangle-vertex displacement directions.
Definition: optix_types.h:591
unsigned int displacementMicromapIndexOffset
Constant offset to displacement micromap indices as specified by the displacement micromap index buff...
Definition: optix_types.h:598
Build inputs.
Definition: optix_types.h:1031
OptixBuildInputCurveArray curveArray
Curve inputs.
Definition: optix_types.h:1040
char pad[1024]
Definition: optix_types.h:1047
OptixBuildInputInstanceArray instanceArray
Instance and instance pointer inputs.
Definition: optix_types.h:1046
OptixBuildInputSphereArray sphereArray
Sphere inputs.
Definition: optix_types.h:1042
OptixBuildInputTriangleArray triangleArray
Triangle inputs.
Definition: optix_types.h:1038
OptixBuildInputCustomPrimitiveArray customPrimitiveArray
Custom primitive inputs.
Definition: optix_types.h:1044
OptixBuildInputType type
The type of the build input.
Definition: optix_types.h:1033
Instance and instance pointer inputs.
Definition: optix_types.h:969
CUdeviceptr instances
If OptixBuildInput::type is OPTIX_BUILD_INPUT_TYPE_INSTANCE_POINTERS instances and aabbs should be in...
Definition: optix_types.h:977
unsigned int numInstances
Number of elements in OptixBuildInputInstanceArray::instances.
Definition: optix_types.h:980
unsigned int instanceStride
Only valid for OPTIX_BUILD_INPUT_TYPE_INSTANCE Defines the stride between instances....
Definition: optix_types.h:985
Definition: optix_types.h:424
CUdeviceptr opacityMicromapArray
Device pointer to a opacity micromap array used by this build input array. This buffer is required wh...
Definition: optix_types.h:432
const OptixOpacityMicromapUsageCount * micromapUsageCounts
List of number of usages of opacity micromaps of format and subdivision combinations....
Definition: optix_types.h:460
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:451
unsigned int indexOffset
Constant offset to non-negative opacity micromap indices.
Definition: optix_types.h:454
unsigned int indexSizeInBytes
0, 2 or 4 (unused, 16 or 32 bit) Must be non-zero when OptixBuildInputOpacityMicromap::indexingMode i...
Definition: optix_types.h:447
CUdeviceptr indexBuffer
int16 or int32 buffer specifying which opacity micromap index to use for each triangle....
Definition: optix_types.h:443
unsigned int numMicromapUsageCounts
Number of OptixOpacityMicromapUsageCount.
Definition: optix_types.h:457
OptixOpacityMicromapArrayIndexingMode indexingMode
Indexing mode of triangle to opacity micromap array mapping.
Definition: optix_types.h:426
Sphere inputs.
Definition: optix_types.h:864
unsigned int numVertices
Number of vertices in each buffer in vertexBuffers.
Definition: optix_types.h:875
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:882
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:869
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:899
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:893
int singleRadius
Boolean value indicating whether a single radius per radius buffer is used, or the number of radii in...
Definition: optix_types.h:885
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:890
const CUdeviceptr * radiusBuffers
Parallel to vertexBuffers: a device pointer per motion step, each with numRadii float values,...
Definition: optix_types.h:879
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:906
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:873
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:897
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:902
Triangle inputs.
Definition: optix_types.h:631
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:639
OptixBuildInputOpacityMicromap opacityMicromap
Optional opacity micromap inputs.
Definition: optix_types.h:699
unsigned int primitiveIndexOffset
Primitive index bias, applied in optixGetPrimitiveIndex(). Sum of primitiveIndexOffset and number of ...
Definition: optix_types.h:693
OptixVertexFormat vertexFormat
Definition: optix_types.h:645
unsigned int numVertices
Number of vertices in each of buffer in OptixBuildInputTriangleArray::vertexBuffers.
Definition: optix_types.h:642
OptixTransformFormat transformFormat
Definition: optix_types.h:696
unsigned int numIndexTriplets
Size of array in OptixBuildInputTriangleArray::indexBuffer. For build, needs to be zero if indexBuffe...
Definition: optix_types.h:657
const unsigned int * flags
Array of flags, to specify flags per sbt record, combinations of OptixGeometryFlags describing the pr...
Definition: optix_types.h:674
CUdeviceptr preTransform
Optional pointer to array of floats representing a 3x4 row major affine transformation matrix....
Definition: optix_types.h:669
OptixIndicesFormat indexFormat
Definition: optix_types.h:660
CUdeviceptr indexBuffer
Optional pointer to array of 16 or 32-bit int triplets, one triplet per triangle. The minimum alignme...
Definition: optix_types.h:654
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:664
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:689
OptixBuildInputDisplacementMicromap displacementMicromap
Optional displacement micromap inputs.
Definition: optix_types.h:701
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:685
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override.
Definition: optix_types.h:677
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:682
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:649
Specifies the options for retrieving an intersection program for a built-in primitive type....
Definition: optix_types.h:2372
OptixPrimitiveType builtinISModuleType
Definition: optix_types.h:2373
int usesMotionBlur
Boolean value indicating whether vertex motion blur is used (but not motion transform blur).
Definition: optix_types.h:2375
unsigned int buildFlags
Build flags, see OptixBuildFlags.
Definition: optix_types.h:2377
unsigned int curveEndcapFlags
End cap properties of curves, see OptixCurveEndcapFlags, 0 for non-curve types.
Definition: optix_types.h:2379
Guide layer for the denoiser.
Definition: optix_types.h:1663
OptixImage2D normal
Definition: optix_types.h:1670
OptixImage2D flowTrustworthiness
Definition: optix_types.h:1684
OptixImage2D flow
Definition: optix_types.h:1674
OptixImage2D previousOutputInternalGuideLayer
Definition: optix_types.h:1678
OptixImage2D albedo
Definition: optix_types.h:1665
OptixImage2D outputInternalGuideLayer
Definition: optix_types.h:1679
Input/Output layers for the denoiser.
Definition: optix_types.h:1707
OptixImage2D output
Definition: optix_types.h:1715
OptixImage2D input
Definition: optix_types.h:1709
OptixDenoiserAOVType type
Definition: optix_types.h:1718
OptixImage2D previousOutput
Definition: optix_types.h:1712
Options used by the denoiser.
Definition: optix_types.h:1648
OptixDenoiserAlphaMode denoiseAlpha
alpha denoise mode
Definition: optix_types.h:1656
unsigned int guideAlbedo
Definition: optix_types.h:1650
unsigned int guideNormal
Definition: optix_types.h:1653
Various parameters used by the denoiser.
Definition: optix_types.h:1728
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:1746
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:1739
CUdeviceptr hdrIntensity
average log intensity of input image (default null pointer). points to a single float....
Definition: optix_types.h:1733
unsigned int temporalModeUsePreviousLayers
In temporal modes this parameter must be set to 1 if previous layers (e.g. previousOutputInternalGuid...
Definition: optix_types.h:1752
Various sizes related to the denoiser.
Definition: optix_types.h:1759
size_t withoutOverlapScratchSizeInBytes
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. No overlap added.
Definition: optix_types.h:1769
size_t withOverlapScratchSizeInBytes
Size of scratch memory passed to optixDenoiserSetup, optixDenoiserInvoke. Overlap added to dimensions...
Definition: optix_types.h:1765
size_t internalGuideLayerPixelSizeInBytes
Number of bytes for each pixel in internal guide layers.
Definition: optix_types.h:1783
size_t computeIntensitySizeInBytes
Size of scratch memory passed to optixDenoiserComputeIntensity. The size is independent of the tile/i...
Definition: optix_types.h:1780
size_t stateSizeInBytes
Size of state memory passed to optixDenoiserSetup, optixDenoiserInvoke.
Definition: optix_types.h:1761
size_t computeAverageColorSizeInBytes
Size of scratch memory passed to optixDenoiserComputeAverageColor. The size is independent of the til...
Definition: optix_types.h:1776
unsigned int overlapWindowSizeInPixels
Overlap on all four tile sides.
Definition: optix_types.h:1772
Parameters used for optixDeviceContextCreate()
Definition: optix_types.h:276
OptixLogCallback logCallbackFunction
Function pointer used when OptiX wishes to generate messages.
Definition: optix_types.h:278
int logCallbackLevel
Maximum callback level to generate message for (see OptixLogCallback)
Definition: optix_types.h:282
void * logCallbackData
Pointer stored and passed to logCallbackFunction when a message is generated.
Definition: optix_types.h:280
OptixDeviceContextValidationMode validationMode
Validation mode of context.
Definition: optix_types.h:284
Inputs to displacement micromaps array construction.
Definition: optix_types.h:532
OptixDisplacementMicromapFlags flags
Flags that apply to all displacement micromaps in array.
Definition: optix_types.h:534
const OptixDisplacementMicromapHistogramEntry * displacementMicromapHistogramEntries
Histogram over DMMs for input format and subdivision combinations. Counts of histogram bins with equa...
Definition: optix_types.h:548
unsigned int perDisplacementMicromapDescStrideInBytes
Stride between OptixDisplacementMicromapDesc in perDisplacementMicromapDescBuffer If set to zero,...
Definition: optix_types.h:543
unsigned int numDisplacementMicromapHistogramEntries
Number of OptixDisplacementMicromapHistogramEntry entries.
Definition: optix_types.h:545
CUdeviceptr displacementValuesBuffer
128 byte aligned pointer for displacement values input data (the displacement blocks).
Definition: optix_types.h:536
CUdeviceptr perDisplacementMicromapDescBuffer
Descriptors for interpreting displacement values input data, one OptixDisplacementMicromapDesc entry ...
Definition: optix_types.h:539
Definition: optix_types.h:507
unsigned short subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:511
unsigned short format
Format (OptixDisplacementMicromapFormat)
Definition: optix_types.h:513
unsigned int byteOffset
Block is located at displacementValuesBuffer + byteOffset.
Definition: optix_types.h:509
Displacement micromap histogram entry. Specifies how many displacement micromaps of a specific type a...
Definition: optix_types.h:521
unsigned int count
Number of displacement micromaps with the format and subdivision level that are input to the displace...
Definition: optix_types.h:523
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:525
OptixDisplacementMicromapFormat format
Displacement micromap format.
Definition: optix_types.h:527
Displacement micromap usage count for acceleration structure builds. Specifies how many displacement ...
Definition: optix_types.h:556
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 5].
Definition: optix_types.h:561
OptixDisplacementMicromapFormat format
Displacement micromaps format.
Definition: optix_types.h:563
unsigned int count
Number of displacement micromaps with this format and subdivision level referenced by triangles in th...
Definition: optix_types.h:559
Image descriptor used by the denoiser.
Definition: optix_types.h:1586
unsigned int rowStrideInBytes
Stride between subsequent rows of the image (in bytes).
Definition: optix_types.h:1594
CUdeviceptr data
Pointer to the actual pixel data.
Definition: optix_types.h:1588
OptixPixelFormat format
Pixel format.
Definition: optix_types.h:1601
unsigned int width
Width of the image (in pixels)
Definition: optix_types.h:1590
unsigned int height
Height of the image (in pixels)
Definition: optix_types.h:1592
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:1599
Instances.
Definition: optix_types.h:1121
unsigned int sbtOffset
SBT record offset. In a traversable graph with multiple levels of instance acceleration structure (IA...
Definition: optix_types.h:1131
float transform[12]
affine object-to-world transformation as 3x4 matrix in row-major layout
Definition: optix_types.h:1123
unsigned int pad[2]
round up to 80-byte, to ensure 16-byte alignment
Definition: optix_types.h:1144
unsigned int flags
Any combination of OptixInstanceFlags is allowed.
Definition: optix_types.h:1138
OptixTraversableHandle traversableHandle
Set with an OptixTraversableHandle.
Definition: optix_types.h:1141
unsigned int instanceId
Application supplied ID. The maximal ID can be queried using OPTIX_DEVICE_PROPERTY_LIMIT_MAX_INSTANCE...
Definition: optix_types.h:1126
unsigned int visibilityMask
Visibility mask. If rayMask & instanceMask == 0 the instance is culled. The number of available bits ...
Definition: optix_types.h:1135
Represents a matrix motion transformation.
Definition: optix_types.h:1448
OptixMotionOptions motionOptions
The motion options for this transformation. Must have at least two motion keys.
Definition: optix_types.h:1454
unsigned int pad[3]
Padding to make the transformation 16 byte aligned.
Definition: optix_types.h:1457
float transform[2][12]
Affine object-to-world transformation as 3x4 matrix in row-major layout.
Definition: optix_types.h:1460
OptixTraversableHandle child
The traversable that is transformed by this transformation.
Definition: optix_types.h:1450
Conservative memory requirements for building a opacity/displacement micromap array.
Definition: optix_types.h:1258
size_t tempSizeInBytes
Definition: optix_types.h:1260
size_t outputSizeInBytes
Definition: optix_types.h:1259
Buffer inputs for opacity/displacement micromap array builds.
Definition: optix_types.h:1265
CUdeviceptr output
Output buffer.
Definition: optix_types.h:1267
size_t tempSizeInBytes
Temp buffer size.
Definition: optix_types.h:1273
CUdeviceptr temp
Temp buffer.
Definition: optix_types.h:1271
size_t outputSizeInBytes
Output buffer size.
Definition: optix_types.h:1269
Struct for specifying specializations for pipelineParams as specified in OptixPipelineCompileOptions:...
Definition: optix_types.h:1968
size_t pipelineParamOffsetInBytes
Definition: optix_types.h:1969
const void * boundValuePtr
Definition: optix_types.h:1971
const char * annotation
Definition: optix_types.h:1972
size_t sizeInBytes
Definition: optix_types.h:1970
Compilation options for module.
Definition: optix_types.h:2044
unsigned int numPayloadTypes
The number of different payload types available for compilation. Must be zero if OptixPipelineCompile...
Definition: optix_types.h:2063
OptixCompileDebugLevel debugLevel
Generate debug information.
Definition: optix_types.h:2053
int maxRegisterCount
Maximum number of registers allowed when compiling to SASS. Set to 0 for no explicit limit....
Definition: optix_types.h:2047
OptixCompileOptimizationLevel optLevel
Optimization level. May vary within a pipeline.
Definition: optix_types.h:2050
const OptixPayloadType * payloadTypes
Points to host array of payload type definitions, size must match numPayloadTypes.
Definition: optix_types.h:2066
const OptixModuleCompileBoundValueEntry * boundValues
Ingored if numBoundValues is set to 0.
Definition: optix_types.h:2056
unsigned int numBoundValues
set to 0 if unused
Definition: optix_types.h:2059
Motion options.
Definition: optix_types.h:1311
unsigned short numKeys
If numKeys > 1, motion is enabled. timeBegin, timeEnd and flags are all ignored when motion is disabl...
Definition: optix_types.h:1314
float timeBegin
Point in time where motion starts. Must be lesser than timeEnd.
Definition: optix_types.h:1320
float timeEnd
Point in time where motion ends. Must be greater than timeBegin.
Definition: optix_types.h:1323
unsigned short flags
Combinations of OptixMotionFlags.
Definition: optix_types.h:1317
Inputs to opacity micromap array construction.
Definition: optix_types.h:1233
unsigned int numMicromapHistogramEntries
Number of OptixOpacityMicromapHistogramEntry.
Definition: optix_types.h:1250
unsigned int perMicromapDescStrideInBytes
Stride between OptixOpacityMicromapDescs in perOmDescBuffer. If set to zero, the opacity micromap des...
Definition: optix_types.h:1247
CUdeviceptr inputBuffer
128B aligned base pointer for raw opacity micromap input data.
Definition: optix_types.h:1238
CUdeviceptr perMicromapDescBuffer
One OptixOpacityMicromapDesc entry per opacity micromap. This device pointer must be a multiple of OP...
Definition: optix_types.h:1242
unsigned int flags
Applies to all opacity micromaps in array.
Definition: optix_types.h:1235
const OptixOpacityMicromapHistogramEntry * micromapHistogramEntries
Histogram over opacity micromaps of input format and subdivision combinations. Counts of entries with...
Definition: optix_types.h:1253
Opacity micromap descriptor.
Definition: optix_types.h:1208
unsigned int byteOffset
Byte offset to opacity micromap in data input buffer of opacity micromap array build.
Definition: optix_types.h:1210
unsigned short subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:1212
unsigned short format
OptixOpacityMicromapFormat.
Definition: optix_types.h:1214
Opacity micromap histogram entry. Specifies how many opacity micromaps of a specific type are input t...
Definition: optix_types.h:1222
unsigned int count
Number of opacity micromaps with the format and subdivision level that are input to the opacity micro...
Definition: optix_types.h:1224
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:1226
OptixOpacityMicromapFormat format
Opacity micromap format.
Definition: optix_types.h:1228
Opacity micromap usage count for acceleration structure builds. Specifies how many opacity micromaps ...
Definition: optix_types.h:413
OptixOpacityMicromapFormat format
opacity micromap format.
Definition: optix_types.h:420
unsigned int count
Number of opacity micromaps with this format and subdivision level referenced by triangles in the cor...
Definition: optix_types.h:416
unsigned int subdivisionLevel
Number of micro-triangles is 4^level. Valid levels are [0, 12].
Definition: optix_types.h:418
Specifies a single payload type.
Definition: optix_types.h:2032
unsigned int numPayloadValues
The number of 32b words the payload of this type holds.
Definition: optix_types.h:2034
const unsigned int * payloadSemantics
Points to host array of payload word semantics, size must match numPayloadValues.
Definition: optix_types.h:2037
Compilation options for all modules of a pipeline.
Definition: optix_types.h:2247
int allowOpacityMicromaps
Boolean value indicating whether opacity micromaps could be used.
Definition: optix_types.h:2275
unsigned int usesPrimitiveTypeFlags
Bit field enabling primitive types. See OptixPrimitiveTypeFlags. Setting to zero corresponds to enabl...
Definition: optix_types.h:2272
unsigned int exceptionFlags
A bitmask of OptixExceptionFlags indicating which exceptions are enabled.
Definition: optix_types.h:2263
const char * pipelineLaunchParamsVariableName
The name of the pipeline parameter variable. If 0, no pipeline parameter will be available....
Definition: optix_types.h:2268
unsigned int traversableGraphFlags
Traversable graph bitfield. See OptixTraversableGraphFlags.
Definition: optix_types.h:2252
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:2256
int numAttributeValues
How much storage, in 32b words, to make available for the attributes. The minimum number is 2....
Definition: optix_types.h:2260
int usesMotionBlur
Boolean value indicating whether motion blur could be used.
Definition: optix_types.h:2249
Program group representing callables.
Definition: optix_types.h:2142
OptixModule moduleDC
Module holding the direct callable (DC) program.
Definition: optix_types.h:2144
const char * entryFunctionNameDC
Entry function name of the direct callable (DC) program.
Definition: optix_types.h:2146
OptixModule moduleCC
Module holding the continuation callable (CC) program.
Definition: optix_types.h:2148
const char * entryFunctionNameCC
Entry function name of the continuation callable (CC) program.
Definition: optix_types.h:2150
Descriptor for program groups.
Definition: optix_types.h:2155
OptixProgramGroupCallables callables
Definition: optix_types.h:2171
OptixProgramGroupHitgroup hitgroup
Definition: optix_types.h:2173
OptixProgramGroupSingleModule exception
Definition: optix_types.h:2169
OptixProgramGroupKind kind
The kind of program group.
Definition: optix_types.h:2157
OptixProgramGroupSingleModule raygen
Definition: optix_types.h:2165
unsigned int flags
See OptixProgramGroupFlags.
Definition: optix_types.h:2160
OptixProgramGroupSingleModule miss
Definition: optix_types.h:2167
Program group representing the hitgroup.
Definition: optix_types.h:2121
const char * entryFunctionNameIS
Entry function name of the intersection (IS) program.
Definition: optix_types.h:2133
OptixModule moduleCH
Module holding the closest hit (CH) program.
Definition: optix_types.h:2123
OptixModule moduleIS
Module holding the intersection (Is) program.
Definition: optix_types.h:2131
OptixModule moduleAH
Module holding the any hit (AH) program.
Definition: optix_types.h:2127
const char * entryFunctionNameAH
Entry function name of the any hit (AH) program.
Definition: optix_types.h:2129
const char * entryFunctionNameCH
Entry function name of the closest hit (CH) program.
Definition: optix_types.h:2125
Program group options.
Definition: optix_types.h:2181
const OptixPayloadType * payloadType
Specifies the payload type of this program group. All programs in the group must support the payload ...
Definition: optix_types.h:2194
Program group representing a single module.
Definition: optix_types.h:2108
OptixModule module
Module holding single program.
Definition: optix_types.h:2110
const char * entryFunctionName
Entry function name of the single program.
Definition: optix_types.h:2112
Relocation inputs.
Definition: optix_types.h:1055
OptixRelocateInputTriangleArray triangleArray
Triangle inputs.
Definition: optix_types.h:1065
OptixBuildInputType type
The type of the build input to relocate.
Definition: optix_types.h:1057
OptixRelocateInputInstanceArray instanceArray
Instance and instance pointer inputs.
Definition: optix_types.h:1062
Instance and instance pointer inputs.
Definition: optix_types.h:992
CUdeviceptr traversableHandles
These are the traversable handles of the instances (See OptixInstance::traversableHandle) These can b...
Definition: optix_types.h:1002
unsigned int numInstances
Number of elements in OptixRelocateInputInstanceArray::traversableHandles. Must match OptixBuildInput...
Definition: optix_types.h:995
Definition: optix_types.h:464
CUdeviceptr opacityMicromapArray
Device pointer to a relocated opacity micromap array used by the source build input array....
Definition: optix_types.h:468
Triangle inputs.
Definition: optix_types.h:709
unsigned int numSbtRecords
Number of sbt records available to the sbt index offset override. Must match OptixBuildInputTriangleA...
Definition: optix_types.h:712
OptixRelocateInputOpacityMicromap opacityMicromap
Opacity micromap inputs.
Definition: optix_types.h:715
Used to store information related to relocation of optix data structures.
Definition: optix_types.h:1397
unsigned long long info[4]
Opaque data, used internally, should not be modified.
Definition: optix_types.h:1399
Represents an SRT transformation.
Definition: optix_types.h:1494
float qz
Definition: optix_types.h:1497
float b
Definition: optix_types.h:1497
float tz
Definition: optix_types.h:1497
float qx
Definition: optix_types.h:1497
float sz
Definition: optix_types.h:1497
float c
Definition: optix_types.h:1497
float sy
Definition: optix_types.h:1497
float pvz
Definition: optix_types.h:1497
float qw
Definition: optix_types.h:1497
float ty
Definition: optix_types.h:1497
float pvy
Definition: optix_types.h:1497
float pvx
Definition: optix_types.h:1497
float sx
Definition: optix_types.h:1497
float a
Definition: optix_types.h:1497
float qy
Definition: optix_types.h:1497
float tx
Definition: optix_types.h:1497
Represents an SRT motion transformation.
Definition: optix_types.h:1531
OptixMotionOptions motionOptions
The motion options for this transformation Must have at least two motion keys.
Definition: optix_types.h:1537
OptixSRTData srtData[2]
The actual SRT data describing the transformation.
Definition: optix_types.h:1543
OptixTraversableHandle child
The traversable transformed by this transformation.
Definition: optix_types.h:1533
unsigned int pad[3]
Padding to make the SRT data 16 byte aligned.
Definition: optix_types.h:1540
Describes the shader binding table (SBT)
Definition: optix_types.h:2293
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:2315
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:2324
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:2307
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:2305
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:2306
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:2314
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:2300
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:2322
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:2323
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:2296
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:2313
Describes the stack size requirements of a program group.
Definition: optix_types.h:2333
unsigned int cssRG
Continuation stack size of RG programs in bytes.
Definition: optix_types.h:2335
unsigned int cssAH
Continuation stack size of AH programs in bytes.
Definition: optix_types.h:2341
unsigned int cssCH
Continuation stack size of CH programs in bytes.
Definition: optix_types.h:2339
unsigned int cssCC
Continuation stack size of CC programs in bytes.
Definition: optix_types.h:2345
unsigned int cssIS
Continuation stack size of IS programs in bytes.
Definition: optix_types.h:2343
unsigned int dssDC
Direct stack size of DC programs in bytes.
Definition: optix_types.h:2347
unsigned int cssMS
Continuation stack size of MS programs in bytes.
Definition: optix_types.h:2337
Static transform.
Definition: optix_types.h:1408
OptixTraversableHandle child
The traversable transformed by this transformation.
Definition: optix_types.h:1410
unsigned int pad[2]
Padding to make the transformations 16 byte aligned.
Definition: optix_types.h:1413
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:1420
float transform[12]
Affine object-to-world transformation as 3x4 matrix in row-major layout.
Definition: optix_types.h:1416