OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
optix_host.h
Go to the documentation of this file.
1 
2 /*
3  * Copyright (c) 2008 - 2015 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 
30 #ifndef __optix_optix_host_h__
31 #define __optix_optix_host_h__
32 
33 #ifndef RTAPI
34 #if defined(_WIN32)
35 #define RTAPI __declspec(dllimport)
36 #else
37 #define RTAPI
38 #endif
39 #endif
40 
42 
43 
44 /************************************
45  **
46  ** Platform-Dependent Types
47  **
48  ***********************************/
49 
50 #if defined(_WIN64)
51 typedef unsigned __int64 RTsize;
52 #elif defined(_WIN32)
53 typedef unsigned int RTsize;
54 #else
55 typedef long unsigned int RTsize;
56 #endif
57 
58 /************************************
59  **
60  ** Opaque Object Types
61  **
62  ***********************************/
63 
66 typedef struct RTacceleration_api * RTacceleration;
69 typedef struct RTbuffer_api * RTbuffer;
72 typedef struct RTcontext_api * RTcontext;
75 typedef struct RTgeometry_api * RTgeometry;
78 typedef struct RTgeometryinstance_api * RTgeometryinstance;
81 typedef struct RTgeometrygroup_api * RTgeometrygroup;
84 typedef struct RTgroup_api * RTgroup;
87 typedef struct RTmaterial_api * RTmaterial;
90 typedef struct RTprogram_api * RTprogram;
93 typedef struct RTselector_api * RTselector;
96 typedef struct RTtexturesampler_api * RTtexturesampler;
99 typedef struct RTtransform_api * RTtransform;
102 typedef struct RTvariable_api * RTvariable;
105 typedef void * RTobject;
108 typedef struct RTremotedevice_api * RTremotedevice;
109 
110 /************************************
111  **
112  ** Callback Function Types
113  **
114  ***********************************/
115 
118 typedef int (*RTtimeoutcallback)(void);
119 
120 
121 #ifdef __cplusplus
122 extern "C" {
123 #endif
124 
125 /************************************
126  **
127  ** Context-free functions
128  **
129  ***********************************/
130 
157  RTresult RTAPI rtGetVersion(unsigned int* version);
158 
186  RTresult RTAPI rtDeviceGetDeviceCount(unsigned int* count);
187 
234  RTresult RTAPI rtDeviceGetAttribute(int ordinal, RTdeviceattribute attrib, RTsize size, void* p);
235 
236 
237 /************************************
238  **
239  ** Object Variable Accessors
240  **
241  ***********************************/
242 
243  /* Sets */
300  RTresult RTAPI rtVariableSet1f(RTvariable v, float f1);
301 
307  RTresult RTAPI rtVariableSet2f(RTvariable v, float f1, float f2);
308 
315  RTresult RTAPI rtVariableSet3f(RTvariable v, float f1, float f2, float f3);
316 
324  RTresult RTAPI rtVariableSet4f(RTvariable v, float f1, float f2, float f3, float f4);
325 
330  RTresult RTAPI rtVariableSet1fv(RTvariable v, const float* f);
331 
336  RTresult RTAPI rtVariableSet2fv(RTvariable v, const float* f);
337 
342  RTresult RTAPI rtVariableSet3fv(RTvariable v, const float* f);
343 
348  RTresult RTAPI rtVariableSet4fv(RTvariable v, const float* f);
349 
354  RTresult RTAPI rtVariableSet1i(RTvariable v, int i1);
355 
361  RTresult RTAPI rtVariableSet2i(RTvariable v, int i1, int i2);
362 
369  RTresult RTAPI rtVariableSet3i(RTvariable v, int i1, int i2, int i3);
370 
378  RTresult RTAPI rtVariableSet4i(RTvariable v, int i1, int i2, int i3, int i4);
379 
384  RTresult RTAPI rtVariableSet1iv(RTvariable v, const int* i);
385 
390  RTresult RTAPI rtVariableSet2iv(RTvariable v, const int* i);
391 
396  RTresult RTAPI rtVariableSet3iv(RTvariable v, const int* i);
397 
402  RTresult RTAPI rtVariableSet4iv(RTvariable v, const int* i);
403 
408  RTresult RTAPI rtVariableSet1ui(RTvariable v, unsigned int u1);
409 
415  RTresult RTAPI rtVariableSet2ui(RTvariable v, unsigned int u1, unsigned int u2);
416 
423  RTresult RTAPI rtVariableSet3ui(RTvariable v, unsigned int u1, unsigned int u2, unsigned int u3);
424 
432  RTresult RTAPI rtVariableSet4ui(RTvariable v, unsigned int u1, unsigned int u2, unsigned int u3, unsigned int u4);
433 
438  RTresult RTAPI rtVariableSet1uiv(RTvariable v, const unsigned int* u);
439 
444  RTresult RTAPI rtVariableSet2uiv(RTvariable v, const unsigned int* u);
445 
450  RTresult RTAPI rtVariableSet3uiv(RTvariable v, const unsigned int* u);
451 
456  RTresult RTAPI rtVariableSet4uiv(RTvariable v, const unsigned int* u);
457 
463  RTresult RTAPI rtVariableSetMatrix2x2fv(RTvariable v, int transpose, const float* m);
464 
470  RTresult RTAPI rtVariableSetMatrix2x3fv(RTvariable v, int transpose, const float* m);
471 
477  RTresult RTAPI rtVariableSetMatrix2x4fv(RTvariable v, int transpose, const float* m);
478 
484  RTresult RTAPI rtVariableSetMatrix3x2fv(RTvariable v, int transpose, const float* m);
485 
491  RTresult RTAPI rtVariableSetMatrix3x3fv(RTvariable v, int transpose, const float* m);
492 
498  RTresult RTAPI rtVariableSetMatrix3x4fv(RTvariable v, int transpose, const float* m);
499 
505  RTresult RTAPI rtVariableSetMatrix4x2fv(RTvariable v, int transpose, const float* m);
506 
512  RTresult RTAPI rtVariableSetMatrix4x3fv(RTvariable v, int transpose, const float* m);
513 
519  RTresult RTAPI rtVariableSetMatrix4x4fv(RTvariable v, int transpose, const float* m);
561 
597  RTresult RTAPI rtVariableSetUserData(RTvariable v, RTsize size, const void* ptr);
598 
599 
600  /* Gets */
660  RTresult RTAPI rtVariableGet1f(RTvariable v, float* f1);
661 
667  RTresult RTAPI rtVariableGet2f(RTvariable v, float* f1, float* f2);
668 
675  RTresult RTAPI rtVariableGet3f(RTvariable v, float* f1, float* f2, float* f3);
676 
684  RTresult RTAPI rtVariableGet4f(RTvariable v, float* f1, float* f2, float* f3, float* f4);
685 
690  RTresult RTAPI rtVariableGet1fv(RTvariable v, float* f);
691 
696  RTresult RTAPI rtVariableGet2fv(RTvariable v, float* f);
697 
702  RTresult RTAPI rtVariableGet3fv(RTvariable v, float* f);
703 
708  RTresult RTAPI rtVariableGet4fv(RTvariable v, float* f);
709 
714  RTresult RTAPI rtVariableGet1i(RTvariable v, int* i1);
715 
721  RTresult RTAPI rtVariableGet2i(RTvariable v, int* i1, int* i2);
722 
729  RTresult RTAPI rtVariableGet3i(RTvariable v, int* i1, int* i2, int* i3);
730 
738  RTresult RTAPI rtVariableGet4i(RTvariable v, int* i1, int* i2, int* i3, int* i4);
739 
744  RTresult RTAPI rtVariableGet1iv(RTvariable v, int* i);
745 
750  RTresult RTAPI rtVariableGet2iv(RTvariable v, int* i);
751 
756  RTresult RTAPI rtVariableGet3iv(RTvariable v, int* i);
757 
762  RTresult RTAPI rtVariableGet4iv(RTvariable v, int* i);
763 
768  RTresult RTAPI rtVariableGet1ui(RTvariable v, unsigned int* u1);
769 
775  RTresult RTAPI rtVariableGet2ui(RTvariable v, unsigned int* u1, unsigned int* u2);
776 
783  RTresult RTAPI rtVariableGet3ui(RTvariable v, unsigned int* u1, unsigned int* u2, unsigned int* u3);
784 
792  RTresult RTAPI rtVariableGet4ui(RTvariable v, unsigned int* u1, unsigned int* u2, unsigned int* u3, unsigned int* u4);
793 
798  RTresult RTAPI rtVariableGet1uiv(RTvariable v, unsigned int* u);
799 
804  RTresult RTAPI rtVariableGet2uiv(RTvariable v, unsigned int* u);
805 
810  RTresult RTAPI rtVariableGet3uiv(RTvariable v, unsigned int* u);
811 
816  RTresult RTAPI rtVariableGet4uiv(RTvariable v, unsigned int* u);
817 
823  RTresult RTAPI rtVariableGetMatrix2x2fv(RTvariable v, int transpose, float* m);
824 
830  RTresult RTAPI rtVariableGetMatrix2x3fv(RTvariable v, int transpose, float* m);
831 
837  RTresult RTAPI rtVariableGetMatrix2x4fv(RTvariable v, int transpose, float* m);
838 
844  RTresult RTAPI rtVariableGetMatrix3x2fv(RTvariable v, int transpose, float* m);
845 
851  RTresult RTAPI rtVariableGetMatrix3x3fv(RTvariable v, int transpose, float* m);
852 
858  RTresult RTAPI rtVariableGetMatrix3x4fv(RTvariable v, int transpose, float* m);
859 
865  RTresult RTAPI rtVariableGetMatrix4x2fv(RTvariable v, int transpose, float* m);
866 
872  RTresult RTAPI rtVariableGetMatrix4x3fv(RTvariable v, int transpose, float* m);
873 
879  RTresult RTAPI rtVariableGetMatrix4x4fv(RTvariable v, int transpose, float* m);
920 
956  RTresult RTAPI rtVariableGetUserData(RTvariable v, RTsize size, void* ptr);
957 
958 
959  /* Other */
994  RTresult RTAPI rtVariableGetName(RTvariable v, const char** name_return);
995 
1030  RTresult RTAPI rtVariableGetAnnotation(RTvariable v, const char** annotation_return);
1031 
1096  RTresult RTAPI rtVariableGetType(RTvariable v, RTobjecttype* type_return);
1097 
1130 
1163  RTresult RTAPI rtVariableGetSize(RTvariable v, RTsize* size);
1164 
1165 
1166 /************************************
1167  **
1168  ** Context object
1169  **
1170  ***********************************/
1171 
1199  RTresult RTAPI rtContextCreate(RTcontext* context);
1200 
1230  RTresult RTAPI rtContextDestroy(RTcontext context);
1231 
1264  RTresult RTAPI rtContextValidate(RTcontext context);
1265 
1296  void RTAPI rtContextGetErrorString(RTcontext context, RTresult code, const char** return_string);
1297 
1341  RTresult RTAPI rtContextSetAttribute(RTcontext context, RTcontextattribute attrib, RTsize size, void* p);
1342 
1412  RTresult RTAPI rtContextGetAttribute(RTcontext context, RTcontextattribute attrib, RTsize size, void* p);
1413 
1445  RTresult RTAPI rtContextSetDevices(RTcontext context, unsigned int count, const int* devices);
1446 
1478  RTresult RTAPI rtContextGetDevices(RTcontext context, int* devices);
1479 
1508  RTresult RTAPI rtContextGetDeviceCount(RTcontext context, unsigned int* count);
1509 
1550  RTresult RTAPI rtContextSetRemoteDevice(RTcontext context, RTremotedevice remote_dev);
1551 
1579  RTresult RTAPI rtContextSetStackSize(RTcontext context, RTsize stack_size_bytes);
1580 
1608  RTresult RTAPI rtContextGetStackSize(RTcontext context, RTsize* stack_size_bytes);
1609 
1610 
1673  RTresult RTAPI rtContextSetTimeoutCallback(RTcontext context, RTtimeoutcallback callback, double min_polling_seconds);
1674 
1702  RTresult RTAPI rtContextSetEntryPointCount(RTcontext context, unsigned int num_entry_points);
1703 
1733  RTresult RTAPI rtContextGetEntryPointCount(RTcontext context, unsigned int* num_entry_points);
1734 
1769  RTresult RTAPI rtContextSetRayGenerationProgram(RTcontext context, unsigned int entry_point_index, RTprogram program);
1770 
1802  RTresult RTAPI rtContextGetRayGenerationProgram(RTcontext context, unsigned int entry_point_index, RTprogram* program);
1803 
1840  RTresult RTAPI rtContextSetExceptionProgram(RTcontext context, unsigned int entry_point_index, RTprogram program);
1841 
1879  RTresult RTAPI rtContextGetExceptionProgram(RTcontext context, unsigned int entry_point_index, RTprogram* program);
1880 
1960  RTresult RTAPI rtContextSetExceptionEnabled(RTcontext context, RTexception exception, int enabled);
1961 
1998  RTresult RTAPI rtContextGetExceptionEnabled(RTcontext context, RTexception exception, int* enabled);
1999 
2027  RTresult RTAPI rtContextSetRayTypeCount(RTcontext context, unsigned int num_ray_types);
2028 
2058  RTresult RTAPI rtContextGetRayTypeCount(RTcontext context, unsigned int* num_ray_types);
2059 
2092  RTresult RTAPI rtContextSetMissProgram(RTcontext context, unsigned int ray_type_index, RTprogram program);
2093 
2125  RTresult RTAPI rtContextGetMissProgram(RTcontext context, unsigned int ray_type_index, RTprogram* program);
2126 
2156  RTresult RTAPI rtContextGetTextureSamplerFromId(RTcontext context, int sampler_id, RTtexturesampler* sampler);
2157 
2196  RTresult RTAPI rtContextCompile(RTcontext context);
2197 
2240  RTresult RTAPI rtContextLaunch1D(RTcontext context, unsigned int entry_point_index, RTsize image_width);
2248  RTresult RTAPI rtContextLaunch2D(RTcontext context, unsigned int entry_point_index, RTsize image_width, RTsize image_height);
2257  RTresult RTAPI rtContextLaunch3D(RTcontext context, unsigned int entry_point_index, RTsize image_width, RTsize image_height, RTsize image_depth);
2258 
2286  RTresult RTAPI rtContextGetRunningState(RTcontext context, int* running);
2287 
2345  RTresult RTAPI rtContextLaunchProgressive2D(RTcontext context, unsigned int entry_index, RTsize width, RTsize height, unsigned int max_subframes);
2346 
2382 
2415  RTresult RTAPI rtContextSetPrintEnabled(RTcontext context, int enabled);
2416 
2451  RTresult RTAPI rtContextGetPrintEnabled(RTcontext context, int* enabled);
2452 
2485  RTresult RTAPI rtContextSetPrintBufferSize(RTcontext context, RTsize buffer_size_bytes);
2486 
2520  RTresult RTAPI rtContextGetPrintBufferSize(RTcontext context, RTsize* buffer_size_bytes);
2521 
2560  RTresult RTAPI rtContextSetPrintLaunchIndex(RTcontext context, int x, int y, int z);
2561 
2600  RTresult RTAPI rtContextGetPrintLaunchIndex(RTcontext context, int* x, int* y, int* z);
2601 
2644  RTresult RTAPI rtContextDeclareVariable(RTcontext context, const char* name, RTvariable* v);
2645 
2684  RTresult RTAPI rtContextQueryVariable(RTcontext context, const char* name, RTvariable* v);
2685 
2724 
2761  RTresult RTAPI rtContextGetVariableCount(RTcontext context, unsigned int* count);
2762 
2801  RTresult RTAPI rtContextGetVariable(RTcontext context, unsigned int index, RTvariable* v);
2802 
2803 /************************************
2804  **
2805  ** Program object
2806  **
2807  ***********************************/
2808 
2844  RTresult RTAPI rtProgramCreateFromPTXString(RTcontext context, const char* ptx, const char* program_name, RTprogram* program);
2845 
2881  RTresult RTAPI rtProgramCreateFromPTXFile(RTcontext context, const char* filename, const char* program_name, RTprogram* program);
2882 
2914  RTresult RTAPI rtProgramDestroy(RTprogram program);
2915 
2946  RTresult RTAPI rtProgramValidate(RTprogram program);
2947 
2977  RTresult RTAPI rtProgramGetContext(RTprogram program, RTcontext* context);
2978 
3017  RTresult RTAPI rtProgramDeclareVariable(RTprogram program, const char* name, RTvariable* v);
3018 
3054  RTresult RTAPI rtProgramQueryVariable(RTprogram program, const char* name, RTvariable* v);
3055 
3091 
3124  RTresult RTAPI rtProgramGetVariableCount(RTprogram program, unsigned int* count);
3125 
3163  RTresult RTAPI rtProgramGetVariable(RTprogram program, unsigned int index, RTvariable* v);
3164 
3165 
3196  RTresult RTAPI rtProgramGetId(RTprogram program, int* program_id);
3197 
3228  RTresult RTAPI rtContextGetProgramFromId(RTcontext context, int program_id, RTprogram* program);
3229 
3230 /************************************
3231  **
3232  ** Group object
3233  **
3234  ***********************************/
3235 
3267  RTresult RTAPI rtGroupCreate(RTcontext context, RTgroup* group);
3268 
3298  RTresult RTAPI rtGroupDestroy(RTgroup group);
3299 
3326  RTresult RTAPI rtGroupValidate(RTgroup group);
3327 
3358  RTresult RTAPI rtGroupGetContext(RTgroup group, RTcontext* context);
3359 
3404  RTresult RTAPI rtGroupSetAcceleration(RTgroup group, RTacceleration acceleration);
3405 
3434  RTresult RTAPI rtGroupGetAcceleration(RTgroup group, RTacceleration* acceleration);
3435 
3467  RTresult RTAPI rtGroupSetChildCount(RTgroup group, unsigned int count);
3468 
3500  RTresult RTAPI rtGroupGetChildCount(RTgroup group, unsigned int* count);
3501 
3539  RTresult RTAPI rtGroupSetChild(RTgroup group, unsigned int index, RTobject child);
3540 
3573  RTresult RTAPI rtGroupGetChild(RTgroup group, unsigned int index, RTobject* child);
3574 
3608  RTresult RTAPI rtGroupGetChildType(RTgroup group, unsigned int index, RTobjecttype* type);
3609 
3610 /************************************
3611  **
3612  ** Selector object
3613  **
3614  ***********************************/
3615 
3655  RTresult RTAPI rtSelectorCreate(RTcontext context, RTselector* selector);
3656 
3689  RTresult RTAPI rtSelectorDestroy(RTselector selector);
3690 
3728  RTresult RTAPI rtSelectorValidate(RTselector selector);
3729 
3761  RTresult RTAPI rtSelectorGetContext(RTselector selector, RTcontext* context);
3762 
3799  RTresult RTAPI rtSelectorSetVisitProgram(RTselector selector, RTprogram program);
3800 
3830  RTresult RTAPI rtSelectorGetVisitProgram(RTselector selector, RTprogram* program);
3831 
3869  RTresult RTAPI rtSelectorSetChildCount(RTselector selector, unsigned int count);
3870 
3907  RTresult RTAPI rtSelectorGetChildCount(RTselector selector, unsigned int* count);
3908 
3948  RTresult RTAPI rtSelectorSetChild(RTselector selector, unsigned int index, RTobject child);
3949 
3992  RTresult RTAPI rtSelectorGetChild(RTselector selector, unsigned int index, RTobject* child);
3993 
4037  RTresult RTAPI rtSelectorGetChildType(RTselector selector, unsigned int index, RTobjecttype* type);
4038 
4081  RTresult RTAPI rtSelectorDeclareVariable(RTselector selector, const char* name, RTvariable* v);
4082 
4120  RTresult RTAPI rtSelectorQueryVariable(RTselector selector, const char* name, RTvariable* v);
4121 
4157 
4192  RTresult RTAPI rtSelectorGetVariableCount(RTselector selector, unsigned int* count);
4193 
4234  RTresult RTAPI rtSelectorGetVariable(RTselector selector, unsigned int index, RTvariable* v);
4235 
4236 /************************************
4237  **
4238  ** Transform object
4239  **
4240  ***********************************/
4241 
4281  RTresult RTAPI rtTransformCreate(RTcontext context, RTtransform* transform);
4282 
4315  RTresult RTAPI rtTransformDestroy(RTtransform transform);
4316 
4354  RTresult RTAPI rtTransformValidate(RTtransform transform);
4355 
4388  RTresult RTAPI rtTransformGetContext(RTtransform transform, RTcontext* context);
4389 
4440  RTresult RTAPI rtTransformSetMatrix(RTtransform transform, int transpose, const float* matrix, const float* inverse_matrix);
4441 
4481  RTresult RTAPI rtTransformGetMatrix(RTtransform transform, int transpose, float* matrix, float* inverse_matrix);
4482 
4519  RTresult RTAPI rtTransformSetChild(RTtransform transform, RTobject child);
4520 
4558  RTresult RTAPI rtTransformGetChild(RTtransform transform, RTobject* child);
4559 
4599  RTresult RTAPI rtTransformGetChildType(RTtransform transform, RTobjecttype* type);
4600 
4601 /************************************
4602  **
4603  ** GeometryGroup object
4604  **
4605  ***********************************/
4606 
4639  RTresult RTAPI rtGeometryGroupCreate(RTcontext context, RTgeometrygroup* geometrygroup);
4640 
4671  RTresult RTAPI rtGeometryGroupDestroy(RTgeometrygroup geometrygroup);
4672 
4701  RTresult RTAPI rtGeometryGroupValidate(RTgeometrygroup geometrygroup);
4702 
4735  RTresult RTAPI rtGeometryGroupGetContext(RTgeometrygroup geometrygroup, RTcontext* context);
4736 
4775  RTresult RTAPI rtGeometryGroupSetAcceleration(RTgeometrygroup geometrygroup, RTacceleration acceleration);
4776 
4808  RTresult RTAPI rtGeometryGroupGetAcceleration(RTgeometrygroup geometrygroup, RTacceleration* acceleration);
4809 
4843  RTresult RTAPI rtGeometryGroupSetChildCount(RTgeometrygroup geometrygroup, unsigned int count);
4844 
4877  RTresult RTAPI rtGeometryGroupGetChildCount(RTgeometrygroup geometrygroup, unsigned int* count);
4878 
4913  RTresult RTAPI rtGeometryGroupSetChild(RTgeometrygroup geometrygroup, unsigned int index, RTgeometryinstance geometryinstance);
4914 
4949  RTresult RTAPI rtGeometryGroupGetChild(RTgeometrygroup geometrygroup, unsigned int index, RTgeometryinstance* geometryinstance);
4950 
4951 /************************************
4952  **
4953  ** Acceleration object
4954  **
4955  ***********************************/
4956 
4996  RTresult RTAPI rtAccelerationCreate(RTcontext context, RTacceleration* acceleration);
4997 
5026  RTresult RTAPI rtAccelerationDestroy(RTacceleration acceleration);
5027 
5054  RTresult RTAPI rtAccelerationValidate(RTacceleration acceleration);
5055 
5083  RTresult RTAPI rtAccelerationGetContext(RTacceleration acceleration, RTcontext* context);
5084 
5085 
5140  RTresult RTAPI rtAccelerationSetBuilder(RTacceleration acceleration, const char* builder);
5141 
5173  RTresult RTAPI rtAccelerationGetBuilder(RTacceleration acceleration, const char** return_string);
5174 
5229  RTresult RTAPI rtAccelerationSetTraverser(RTacceleration acceleration, const char* traverser);
5230 
5262  RTresult RTAPI rtAccelerationGetTraverser(RTacceleration acceleration, const char** return_string);
5263 
5361  RTresult RTAPI rtAccelerationSetProperty(RTacceleration acceleration, const char* name, const char* value);
5362 
5397  RTresult RTAPI rtAccelerationGetProperty(RTacceleration acceleration, const char* name, const char** return_string);
5398 
5431  RTresult RTAPI rtAccelerationGetDataSize(RTacceleration acceleration, RTsize* size);
5432 
5466  RTresult RTAPI rtAccelerationGetData(RTacceleration acceleration, void* data);
5467 
5513  RTresult RTAPI rtAccelerationSetData(RTacceleration acceleration, const void* data, RTsize size);
5514 
5551  RTresult RTAPI rtAccelerationMarkDirty(RTacceleration acceleration);
5552 
5591  RTresult RTAPI rtAccelerationIsDirty(RTacceleration acceleration, int* dirty);
5592 
5593 /************************************
5594  **
5595  ** GeometryInstance object
5596  **
5597  ***********************************/
5598 
5632  RTresult RTAPI rtGeometryInstanceCreate(RTcontext context, RTgeometryinstance* geometryinstance);
5633 
5664  RTresult RTAPI rtGeometryInstanceDestroy(RTgeometryinstance geometryinstance);
5665 
5694  RTresult RTAPI rtGeometryInstanceValidate(RTgeometryinstance geometryinstance);
5695 
5727  RTresult RTAPI rtGeometryInstanceGetContext(RTgeometryinstance geometryinstance, RTcontext* context);
5728 
5759  RTresult RTAPI rtGeometryInstanceSetGeometry(RTgeometryinstance geometryinstance, RTgeometry geometry);
5760 
5793  RTresult RTAPI rtGeometryInstanceGetGeometry(RTgeometryinstance geometryinstance, RTgeometry* geometry);
5794 
5827  RTresult RTAPI rtGeometryInstanceSetMaterialCount(RTgeometryinstance geometryinstance, unsigned int count);
5828 
5858  RTresult RTAPI rtGeometryInstanceGetMaterialCount(RTgeometryinstance geometryinstance, unsigned int* count);
5859 
5892  RTresult RTAPI rtGeometryInstanceSetMaterial(RTgeometryinstance geometryinstance, unsigned int index, RTmaterial material);
5893 
5926  RTresult RTAPI rtGeometryInstanceGetMaterial(RTgeometryinstance geometryinstance, unsigned int index, RTmaterial* material);
5927 
5969  RTresult RTAPI rtGeometryInstanceDeclareVariable(RTgeometryinstance geometryinstance, const char* name, RTvariable* v);
5970 
6008  RTresult RTAPI rtGeometryInstanceQueryVariable(RTgeometryinstance geometryinstance, const char* name, RTvariable* v);
6009 
6046 
6079  RTresult RTAPI rtGeometryInstanceGetVariableCount(RTgeometryinstance geometryinstance, unsigned int* count);
6080 
6120  RTresult RTAPI rtGeometryInstanceGetVariable(RTgeometryinstance geometryinstance, unsigned int index, RTvariable* v);
6121 
6122 /************************************
6123  **
6124  ** Geometry object
6125  **
6126  ***********************************/
6127 
6161  RTresult RTAPI rtGeometryCreate(RTcontext context, RTgeometry* geometry);
6162 
6195  RTresult RTAPI rtGeometryDestroy(RTgeometry geometry);
6196 
6225  RTresult RTAPI rtGeometryValidate(RTgeometry geometry);
6226 
6257  RTresult RTAPI rtGeometryGetContext(RTgeometry geometry, RTcontext* context);
6258 
6287  RTresult RTAPI rtGeometrySetPrimitiveCount(RTgeometry geometry, unsigned int num_primitives);
6288 
6318  RTresult RTAPI rtGeometryGetPrimitiveCount(RTgeometry geometry, unsigned int* num_primitives);
6319 
6354  RTresult RTAPI rtGeometrySetPrimitiveIndexOffset(RTgeometry geometry, unsigned int index_offset);
6355 
6384  RTresult RTAPI rtGeometryGetPrimitiveIndexOffset(RTgeometry geometry, unsigned int* index_offset);
6385 
6420 
6451 
6486 
6518 
6549  RTresult RTAPI rtGeometryMarkDirty(RTgeometry geometry);
6550 
6584  RTresult RTAPI rtGeometryIsDirty(RTgeometry geometry, int* dirty);
6585 
6628  RTresult RTAPI rtGeometryDeclareVariable(RTgeometry geometry, const char* name, RTvariable* v);
6629 
6668  RTresult RTAPI rtGeometryQueryVariable(RTgeometry geometry, const char* name, RTvariable* v);
6669 
6705 
6738  RTresult RTAPI rtGeometryGetVariableCount(RTgeometry geometry, unsigned int* count);
6739 
6778  RTresult RTAPI rtGeometryGetVariable(RTgeometry geometry, unsigned int index, RTvariable* v);
6779 
6780 /************************************
6781  **
6782  ** Material object
6783  **
6784  ***********************************/
6785 
6817  RTresult RTAPI rtMaterialCreate(RTcontext context, RTmaterial* material);
6818 
6848  RTresult RTAPI rtMaterialDestroy(RTmaterial material);
6849 
6878  RTresult RTAPI rtMaterialValidate(RTmaterial material);
6879 
6911  RTresult RTAPI rtMaterialGetContext(RTmaterial material, RTcontext* context);
6912 
6954  RTresult RTAPI rtMaterialSetClosestHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram program);
6955 
6992  RTresult RTAPI rtMaterialGetClosestHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram* program);
6993 
7035  RTresult RTAPI rtMaterialSetAnyHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram program);
7036 
7073  RTresult RTAPI rtMaterialGetAnyHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram* program);
7074 
7116  RTresult RTAPI rtMaterialDeclareVariable(RTmaterial material, const char* name, RTvariable* v);
7117 
7151  RTresult RTAPI rtMaterialQueryVariable(RTmaterial material, const char* name, RTvariable* v);
7152 
7192 
7224  RTresult RTAPI rtMaterialGetVariableCount(RTmaterial material, unsigned int* count);
7225 
7262  RTresult RTAPI rtMaterialGetVariable(RTmaterial material, unsigned int index, RTvariable* v);
7263 
7264 /************************************
7265  **
7266  ** TextureSampler object
7267  **
7268  ***********************************/
7269 
7300  RTresult RTAPI rtTextureSamplerCreate(RTcontext context, RTtexturesampler* texturesampler);
7301 
7332  RTresult RTAPI rtTextureSamplerDestroy(RTtexturesampler texturesampler);
7333 
7363  RTresult RTAPI rtTextureSamplerValidate(RTtexturesampler texturesampler);
7364 
7394  RTresult RTAPI rtTextureSamplerGetContext(RTtexturesampler texturesampler, RTcontext* context);
7395 
7426  RTresult RTAPI rtTextureSamplerSetMipLevelCount(RTtexturesampler texturesampler, unsigned int num_mip_levels);
7427 
7458  RTresult RTAPI rtTextureSamplerGetMipLevelCount(RTtexturesampler texturesampler, unsigned int* num_mip_levels);
7459 
7491  RTresult RTAPI rtTextureSamplerSetArraySize(RTtexturesampler texturesampler, unsigned int num_textures_in_array);
7492 
7523  RTresult RTAPI rtTextureSamplerGetArraySize(RTtexturesampler texturesampler, unsigned int* num_textures_in_array);
7524 
7566  RTresult RTAPI rtTextureSamplerSetWrapMode(RTtexturesampler texturesampler, unsigned int dimension, RTwrapmode wrapmode);
7567 
7597  RTresult RTAPI rtTextureSamplerGetWrapMode(RTtexturesampler texturesampler, unsigned int dimension, RTwrapmode* wrapmode);
7598 
7641  RTresult RTAPI rtTextureSamplerSetFilteringModes(RTtexturesampler texturesampler, RTfiltermode minification, RTfiltermode magnification, RTfiltermode mipmapping);
7642 
7674  RTresult RTAPI rtTextureSamplerGetFilteringModes(RTtexturesampler texturesampler, RTfiltermode* minification, RTfiltermode* magnification, RTfiltermode* mipmapping);
7675 
7704  RTresult RTAPI rtTextureSamplerSetMaxAnisotropy(RTtexturesampler texturesampler, float value);
7705 
7734  RTresult RTAPI rtTextureSamplerGetMaxAnisotropy(RTtexturesampler texturesampler, float* value);
7735 
7764  RTresult RTAPI rtTextureSamplerSetMipLevelClamp(RTtexturesampler texturesampler, float minLevel, float maxLevel);
7765 
7795  RTresult RTAPI rtTextureSamplerGetMipLevelClamp(RTtexturesampler texturesampler, float* minLevel, float* maxLevel);
7796 
7824  RTresult RTAPI rtTextureSamplerSetMipLevelBias(RTtexturesampler texturesampler, float value);
7825 
7854  RTresult RTAPI rtTextureSamplerGetMipLevelBias(RTtexturesampler texturesampler, float* value);
7855 
7904 
7934 
7972 
8002 
8035  RTresult RTAPI rtTextureSamplerSetBuffer(RTtexturesampler texturesampler, unsigned int deprecated0, unsigned int deprecated1, RTbuffer buffer);
8036 
8071  RTresult RTAPI rtTextureSamplerGetBuffer(RTtexturesampler texturesampler, unsigned int deprecated0, unsigned int deprecated1, RTbuffer* buffer);
8072 
8102  RTresult RTAPI rtTextureSamplerGetId(RTtexturesampler texturesampler, int* texture_id);
8103 
8104 /************************************
8105  **
8106  ** Buffer object
8107  **
8108  ***********************************/
8109 
8181  RTresult RTAPI rtBufferCreate(RTcontext context, unsigned int bufferdesc, RTbuffer* buffer);
8182 
8214  RTresult RTAPI rtBufferDestroy(RTbuffer buffer);
8215 
8246  RTresult RTAPI rtBufferValidate(RTbuffer buffer);
8247 
8277  RTresult RTAPI rtBufferGetContext(RTbuffer buffer, RTcontext* context);
8278 
8348  RTresult RTAPI rtBufferSetFormat(RTbuffer buffer, RTformat format);
8349 
8380  RTresult RTAPI rtBufferGetFormat(RTbuffer buffer, RTformat* format);
8381 
8420  RTresult RTAPI rtBufferSetElementSize(RTbuffer buffer, RTsize size_of_element);
8421 
8455  RTresult RTAPI rtBufferGetElementSize(RTbuffer buffer, RTsize* size_of_element);
8456 
8499  RTresult RTAPI rtBufferSetSize1D(RTbuffer buffer, RTsize width);
8500 
8540  RTresult RTAPI rtBufferGetSize1D(RTbuffer buffer, RTsize* width);
8541 
8586  RTresult RTAPI rtBufferSetSize2D(RTbuffer buffer, RTsize width, RTsize height);
8587 
8629  RTresult RTAPI rtBufferGetSize2D(RTbuffer buffer, RTsize* width, RTsize* height);
8630 
8683  RTresult RTAPI rtBufferSetSize3D(RTbuffer buffer, RTsize width, RTsize height, RTsize depth);
8684 
8727  RTresult RTAPI rtBufferSetMipLevelCount(RTbuffer buffer, unsigned int levels);
8728 
8729 
8772  RTresult RTAPI rtBufferGetSize3D(RTbuffer buffer, RTsize* width, RTsize* height, RTsize* depth);
8773 
8812  RTresult RTAPI rtBufferGetMipLevelSize1D(RTbuffer buffer, unsigned int level, RTsize* width);
8813 
8855  RTresult RTAPI rtBufferGetMipLevelSize2D(RTbuffer buffer, unsigned int level, RTsize* width, RTsize* height);
8856 
8857 
8899  RTresult RTAPI rtBufferGetMipLevelSize3D(RTbuffer buffer, unsigned int level, RTsize* width, RTsize* height, RTsize* depth);
8900 
8901 
8946  RTresult RTAPI rtBufferSetSizev(RTbuffer buffer, unsigned int dimensionality, const RTsize* dims);
8947 
8990  RTresult RTAPI rtBufferGetSizev(RTbuffer buffer, unsigned int dimensionality, RTsize* dims);
8991 
9022  RTresult RTAPI rtBufferGetDimensionality(RTbuffer buffer, unsigned int* dimensionality);
9023 
9063  RTresult RTAPI rtBufferGetMipLevelCount(RTbuffer buffer, unsigned int* level);
9064 
9115  RTresult RTAPI rtBufferMap(RTbuffer buffer, void** user_pointer);
9116 
9150  RTresult RTAPI rtBufferUnmap(RTbuffer buffer);
9151 
9196  RTresult RTAPI rtBufferMapEx(RTbuffer buffer, unsigned int map_flags, unsigned int level, void* user_owned, void** optix_owned);
9197 
9232  RTresult RTAPI rtBufferUnmapEx(RTbuffer buffer, unsigned int level);
9233 
9265  RTresult RTAPI rtBufferGetId(RTbuffer buffer, int* buffer_id);
9266 
9296  RTresult RTAPI rtContextGetBufferFromId(RTcontext context, int buffer_id, RTbuffer* buffer);
9297 
9332  RTresult RTAPI rtBufferGetProgressiveUpdateReady(RTbuffer buffer, int* ready, unsigned int* subframe_count, unsigned int* max_subframes);
9333 
9367 
9423  RTresult RTAPI rtBufferSetAttribute(RTbuffer buffer, RTbufferattribute attrib, RTsize size, void* p);
9424 
9453  RTresult RTAPI rtBufferGetAttribute(RTbuffer buffer, RTbufferattribute attrib, RTsize size, void* p);
9454 
9502  RTresult RTAPI rtRemoteDeviceCreate(const char* url, const char* username, const char* password, RTremotedevice *remote_dev);
9503 
9533  RTresult RTAPI rtRemoteDeviceDestroy(RTremotedevice remote_dev);
9534 
9640  RTresult RTAPI rtRemoteDeviceGetAttribute(RTremotedevice remote_dev, RTremotedeviceattribute attrib, RTsize size, void *p);
9641 
9685  RTresult RTAPI rtRemoteDeviceReserve(RTremotedevice remote_dev, unsigned int num_nodes, unsigned int configuration);
9686 
9717  RTresult RTAPI rtRemoteDeviceRelease(RTremotedevice remote_dev);
9718 
9719 #ifdef __cplusplus
9720 }
9721 #endif
9722 
9723 #endif /* __optix_optix_host_h__ */
9724 
RTresult RTAPI rtVariableGetMatrix2x2fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtGeometryGroupGetChild(RTgeometrygroup geometrygroup, unsigned int index, RTgeometryinstance *geometryinstance)
Returns a child node of a geometry group.
RTexception
Definition: optix_declarations.h:220
RTresult RTAPI rtSelectorSetChild(RTselector selector, unsigned int index, RTobject child)
Attaches a child node to a Selector node.
RTresult RTAPI rtContextLaunch3D(RTcontext context, unsigned int entry_point_index, RTsize image_width, RTsize image_height, RTsize image_depth)
RTresult RTAPI rtContextGetDevices(RTcontext context, int *devices)
Retrieve a list of hardware devices being used by the kernel.
RTresult RTAPI rtTransformGetChildType(RTtransform transform, RTobjecttype *type)
Returns type information about a Transform child node.
RTtextureindexmode
Definition: optix_declarations.h:186
RTresult RTAPI rtVariableSet3ui(RTvariable v, unsigned int u1, unsigned int u2, unsigned int u3)
struct RTvariable_api * RTvariable
Definition: optix_host.h:102
RTresult RTAPI rtSelectorGetVariable(RTselector selector, unsigned int index, RTvariable *v)
Returns a variable associated with a Selector node.
RTresult RTAPI rtSelectorGetVariableCount(RTselector selector, unsigned int *count)
Returns the number of variables attached to a Selector node.
RTresult RTAPI rtContextGetPrintLaunchIndex(RTcontext context, int *x, int *y, int *z)
Gets the active print launch index.
RTresult RTAPI rtVariableGet2i(RTvariable v, int *i1, int *i2)
RTresult RTAPI rtVariableGet3fv(RTvariable v, float *f)
RTresult RTAPI rtContextGetBufferFromId(RTcontext context, int buffer_id, RTbuffer *buffer)
Gets an RTbuffer corresponding to the buffer id.
RTresult RTAPI rtVariableGetMatrix3x2fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtGeometryInstanceCreate(RTcontext context, RTgeometryinstance *geometryinstance)
Creates a new geometry instance node.
RTresult RTAPI rtGroupGetContext(RTgroup group, RTcontext *context)
Returns the context associated with a group.
RTresult RTAPI rtDeviceGetAttribute(int ordinal, RTdeviceattribute attrib, RTsize size, void *p)
Returns an attribute specific to an OptiX device.
RTresult
Definition: optix_declarations.h:236
RTresult RTAPI rtGeometryInstanceSetMaterial(RTgeometryinstance geometryinstance, unsigned int index, RTmaterial material)
Sets a material.
RTresult RTAPI rtVariableSetUserData(RTvariable v, RTsize size, const void *ptr)
Defined.
RTresult RTAPI rtMaterialGetClosestHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram *program)
Returns the closest hit program associated with a (material, ray type) tuple.
RTresult RTAPI rtBufferSetSize1D(RTbuffer buffer, RTsize width)
Sets the width and dimensionality of this buffer.
RTresult RTAPI rtGroupGetChild(RTgroup group, unsigned int index, RTobject *child)
Returns a child node of a group.
RTresult RTAPI rtProgramGetId(RTprogram program, int *program_id)
Returns the ID for the Program object.
RTresult RTAPI rtVariableGetContext(RTvariable v, RTcontext *context)
Returns the context associated with a program variable.
RTresult RTAPI rtGeometryGroupGetAcceleration(RTgeometrygroup geometrygroup, RTacceleration *acceleration)
Returns the acceleration structure attached to a geometry group.
RTresult RTAPI rtVariableGet4i(RTvariable v, int *i1, int *i2, int *i3, int *i4)
RTresult RTAPI rtVariableSet2f(RTvariable v, float f1, float f2)
RTresult RTAPI rtVariableSetMatrix3x3fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtGeometrySetIntersectionProgram(RTgeometry geometry, RTprogram program)
Sets the intersection program.
struct RTgroup_api * RTgroup
Definition: optix_host.h:84
RTresult RTAPI rtGeometryInstanceGetMaterial(RTgeometryinstance geometryinstance, unsigned int index, RTmaterial *material)
Returns a material handle.
RTresult RTAPI rtVariableGet3ui(RTvariable v, unsigned int *u1, unsigned int *u2, unsigned int *u3)
RTresult RTAPI rtSelectorGetChildCount(RTselector selector, unsigned int *count)
Returns the number of child node slots of a Selector node.
RTresult RTAPI rtVariableGetMatrix4x4fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtProgramGetVariableCount(RTprogram program, unsigned int *count)
Returns the number of variables attached to a program.
RTresult RTAPI rtContextGetExceptionEnabled(RTcontext context, RTexception exception, int *enabled)
Query whether a specified exception is enabled.
RTresult RTAPI rtGroupDestroy(RTgroup group)
Destroys a group node.
RTresult RTAPI rtGeometryCreate(RTcontext context, RTgeometry *geometry)
Creates a new geometry node.
RTresult RTAPI rtGeometryInstanceValidate(RTgeometryinstance geometryinstance)
Checks a GeometryInstance node for internal consistency.
RTresult RTAPI rtGeometryInstanceGetGeometry(RTgeometryinstance geometryinstance, RTgeometry *geometry)
Returns the attached Geometry node.
RTresult RTAPI rtMaterialGetAnyHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram *program)
Returns the any hit program associated with a (material, ray type) tuple.
RTresult RTAPI rtProgramQueryVariable(RTprogram program, const char *name, RTvariable *v)
Returns a handle to the named variable attached to a program.
RTresult RTAPI rtGeometryMarkDirty(RTgeometry geometry)
Sets the dirty flag.
RTresult RTAPI rtVariableSet3fv(RTvariable v, const float *f)
RTresult RTAPI rtVariableGet1iv(RTvariable v, int *i)
RTresult RTAPI rtGeometryGetPrimitiveCount(RTgeometry geometry, unsigned int *num_primitives)
Returns the number of primitives.
RTresult RTAPI rtBufferDestroy(RTbuffer buffer)
Destroys a buffer object.
RTresult RTAPI rtBufferBindProgressiveStream(RTbuffer stream, RTbuffer source)
Bind a stream buffer to an output buffer source.
RTresult RTAPI rtTextureSamplerValidate(RTtexturesampler texturesampler)
Validates the state of a texture sampler.
RTresult RTAPI rtContextLaunch1D(RTcontext context, unsigned int entry_point_index, RTsize image_width)
Executes the computation kernel for a given context.
RTresult RTAPI rtGeometryGroupValidate(RTgeometrygroup geometrygroup)
Validates the state of the geometry group.
RTresult RTAPI rtGeometryIsDirty(RTgeometry geometry, int *dirty)
Returns the dirty flag.
RTresult RTAPI rtBufferCreate(RTcontext context, unsigned int bufferdesc, RTbuffer *buffer)
Creates a new buffer object.
RTresult RTAPI rtBufferSetSizev(RTbuffer buffer, unsigned int dimensionality, const RTsize *dims)
Sets the dimensionality and dimensions of a buffer.
RTresult RTAPI rtTextureSamplerGetId(RTtexturesampler texturesampler, int *texture_id)
Returns the texture ID of this texture sampler.
RTresult RTAPI rtTransformGetMatrix(RTtransform transform, int transpose, float *matrix, float *inverse_matrix)
Returns the affine matrix and its inverse associated with a Transform node.
RTresult RTAPI rtTextureSamplerDestroy(RTtexturesampler texturesampler)
Destroys a texture sampler object.
RTresult RTAPI rtContextGetEntryPointCount(RTcontext context, unsigned int *num_entry_points)
Query the number of entry points for this context.
RTresult RTAPI rtContextStopProgressive(RTcontext context)
Stops a Progressive Launch.
RTresult RTAPI rtTextureSamplerSetMipLevelClamp(RTtexturesampler texturesampler, float minLevel, float maxLevel)
Sets the minimum and the maximum MIP level access range of a texture sampler.
RTresult RTAPI rtMaterialCreate(RTcontext context, RTmaterial *material)
Creates a new material.
RTresult RTAPI rtContextDeclareVariable(RTcontext context, const char *name, RTvariable *v)
Declares a new named variable associated with this context.
RTresult RTAPI rtTransformSetMatrix(RTtransform transform, int transpose, const float *matrix, const float *inverse_matrix)
Associates an affine transformation matrix with a Transform node.
RTresult RTAPI rtProgramGetVariable(RTprogram program, unsigned int index, RTvariable *v)
Returns a handle to a variable attached to a program by index.
RTresult RTAPI rtMaterialSetAnyHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram program)
Sets the any hit program associated with a (material, ray type) tuple.
RTresult RTAPI rtGeometryInstanceSetMaterialCount(RTgeometryinstance geometryinstance, unsigned int count)
Sets the number of materials.
RTresult RTAPI rtBufferGetProgressiveUpdateReady(RTbuffer buffer, int *ready, unsigned int *subframe_count, unsigned int *max_subframes)
Check whether stream buffer content has been updated by a Progressive Launch.
RTresult RTAPI rtContextSetAttribute(RTcontext context, RTcontextattribute attrib, RTsize size, void *p)
Set an attribute specific to an OptiX context.
RTresult RTAPI rtBufferGetContext(RTbuffer buffer, RTcontext *context)
Returns the context object that created this buffer.
RTresult RTAPI rtContextSetRayGenerationProgram(RTcontext context, unsigned int entry_point_index, RTprogram program)
Specifies the ray generation program for a given context entry point.
RTresult RTAPI rtAccelerationGetBuilder(RTacceleration acceleration, const char **return_string)
Query the current builder from an acceleration structure.
RTresult RTAPI rtProgramDeclareVariable(RTprogram program, const char *name, RTvariable *v)
Declares a new named variable associated with a program.
RTresult RTAPI rtVariableGetMatrix2x3fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtBufferSetSize3D(RTbuffer buffer, RTsize width, RTsize height, RTsize depth)
Sets the width, height, depth and dimensionality of a buffer.
RTresult RTAPI rtTransformGetChild(RTtransform transform, RTobject *child)
Returns the child node that is attached to a Transform node.
RTresult RTAPI rtContextGetMissProgram(RTcontext context, unsigned int ray_type_index, RTprogram *program)
Queries the miss program associated with the given context and ray type.
RTresult RTAPI rtContextGetVariable(RTcontext context, unsigned int index, RTvariable *v)
Queries an indexed variable associated with this context.
RTresult RTAPI rtAccelerationCreate(RTcontext context, RTacceleration *acceleration)
Creates a new acceleration structure.
RTresult RTAPI rtGeometryRemoveVariable(RTgeometry geometry, RTvariable v)
Removes a named variable from a geometry node.
RTresult RTAPI rtGeometryGroupDestroy(RTgeometrygroup geometrygroup)
Destroys a geometry group node.
RTresult RTAPI rtAccelerationSetData(RTacceleration acceleration, const void *data, RTsize size)
Sets the state of an acceleration structure.
RTresult RTAPI rtGeometryGetVariable(RTgeometry geometry, unsigned int index, RTvariable *v)
Returns a handle to an indexed variable of a geometry node.
RTresult RTAPI rtGroupGetChildCount(RTgroup group, unsigned int *count)
Returns the number of child slots for a group.
RTresult RTAPI rtGeometryDeclareVariable(RTgeometry geometry, const char *name, RTvariable *v)
Declares a new named variable associated with a geometry instance.
RTresult RTAPI rtAccelerationSetTraverser(RTacceleration acceleration, const char *traverser)
Specifies the traverser to be used for an acceleration structure.
struct RTacceleration_api * RTacceleration
Definition: optix_host.h:66
RTresult RTAPI rtVariableGetObject(RTvariable v, RTobject *object)
Returns the value of a OptiX object program variable.
RTresult RTAPI rtMaterialGetVariable(RTmaterial material, unsigned int index, RTvariable *v)
Returns a handle to an indexed variable of a material.
RTresult RTAPI rtTransformCreate(RTcontext context, RTtransform *transform)
Creates a new Transform node.
RTresult RTAPI rtBufferSetFormat(RTbuffer buffer, RTformat format)
Sets the format of this buffer.
RTresult RTAPI rtContextGetProgramFromId(RTcontext context, int program_id, RTprogram *program)
Gets an RTprogram corresponding to the program id.
RTresult RTAPI rtContextSetPrintBufferSize(RTcontext context, RTsize buffer_size_bytes)
Set the size of the print buffer.
RTresult RTAPI rtAccelerationGetContext(RTacceleration acceleration, RTcontext *context)
Returns the context associated with an acceleration structure.
RTtexturereadmode
Definition: optix_declarations.h:163
RTresult RTAPI rtVariableSet3i(RTvariable v, int i1, int i2, int i3)
RTresult RTAPI rtGeometryGroupSetChildCount(RTgeometrygroup geometrygroup, unsigned int count)
Sets the number of child nodes to be attached to the group.
RTresult RTAPI rtGeometryQueryVariable(RTgeometry geometry, const char *name, RTvariable *v)
Returns a handle to a named variable of a geometry node.
RTresult RTAPI rtContextGetExceptionProgram(RTcontext context, unsigned int entry_point_index, RTprogram *program)
Queries the exception program associated with the given context and entry point.
RTresult RTAPI rtVariableGet4f(RTvariable v, float *f1, float *f2, float *f3, float *f4)
RTresult RTAPI rtTextureSamplerGetContext(RTtexturesampler texturesampler, RTcontext *context)
Gets the context object that created this texture sampler.
RTresult RTAPI rtSelectorValidate(RTselector selector)
Checks a Selector node for internal consistency.
RTresult RTAPI rtContextGetVariableCount(RTcontext context, unsigned int *count)
Returns the number of variables associated with this context.
RTresult RTAPI rtMaterialRemoveVariable(RTmaterial material, RTvariable v)
Removes a variable from a material.
RTbufferattribute
Definition: optix_declarations.h:332
RTresult RTAPI rtContextCompile(RTcontext context)
Compiles a context object.
RTresult RTAPI rtVariableGetSize(RTvariable v, RTsize *size)
Queries the size, in bytes, of a variable.
RTresult RTAPI rtTextureSamplerSetMipLevelBias(RTtexturesampler texturesampler, float value)
Sets the mipmap offset of a texture sampler.
RTresult RTAPI rtVariableGetMatrix3x3fv(RTvariable v, int transpose, float *m)
struct RTmaterial_api * RTmaterial
Definition: optix_host.h:87
RTresult RTAPI rtVariableSet1iv(RTvariable v, const int *i)
RTresult RTAPI rtGeometryInstanceRemoveVariable(RTgeometryinstance geometryinstance, RTvariable v)
Removes a named variable from a geometry instance node.
RTresult RTAPI rtMaterialGetVariableCount(RTmaterial material, unsigned int *count)
Returns the number of variables attached to a material.
RTresult RTAPI rtGeometryInstanceGetVariableCount(RTgeometryinstance geometryinstance, unsigned int *count)
Returns the number of attached variables.
RTresult RTAPI rtVariableSet2fv(RTvariable v, const float *f)
RTresult RTAPI rtVariableSet4ui(RTvariable v, unsigned int u1, unsigned int u2, unsigned int u3, unsigned int u4)
RTresult RTAPI rtMaterialSetClosestHitProgram(RTmaterial material, unsigned int ray_type_index, RTprogram program)
Sets the closest hit program associated with a (material, ray type) tuple.
RTresult RTAPI rtVariableGet1f(RTvariable v, float *f1)
Functions designed to modify the value of a program variable.
RTresult RTAPI rtTextureSamplerGetMaxAnisotropy(RTtexturesampler texturesampler, float *value)
Gets the maximum anisotropy level for a texture sampler.
RTresult RTAPI rtVariableSet4f(RTvariable v, float f1, float f2, float f3, float f4)
RTresult RTAPI rtBufferGetMipLevelCount(RTbuffer buffer, unsigned int *level)
Gets the number of mipmap levels of this buffer object.
RTresult RTAPI rtSelectorDestroy(RTselector selector)
Destroys a selector node.
RTresult RTAPI rtAccelerationSetBuilder(RTacceleration acceleration, const char *builder)
Specifies the builder to be used for an acceleration structure.
RTresult RTAPI rtContextSetExceptionEnabled(RTcontext context, RTexception exception, int enabled)
Enable or disable an exception.
RTresult RTAPI rtGeometryGetIntersectionProgram(RTgeometry geometry, RTprogram *program)
Returns the attached intersection program.
RTresult RTAPI rtTextureSamplerSetFilteringModes(RTtexturesampler texturesampler, RTfiltermode minification, RTfiltermode magnification, RTfiltermode mipmapping)
Sets the filtering modes of a texture sampler.
RTresult RTAPI rtContextGetRunningState(RTcontext context, int *running)
Query whether the given context is currently running.
RTresult RTAPI rtVariableGetMatrix4x2fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtTransformValidate(RTtransform transform)
Checks a Transform node for internal consistency.
RTresult RTAPI rtGeometryGetBoundingBoxProgram(RTgeometry geometry, RTprogram *program)
Returns the attached bounding box program.
RTresult RTAPI rtVariableGet4ui(RTvariable v, unsigned int *u1, unsigned int *u2, unsigned int *u3, unsigned int *u4)
RTresult RTAPI rtGeometryInstanceGetVariable(RTgeometryinstance geometryinstance, unsigned int index, RTvariable *v)
Returns a handle to an indexed variable of a geometry instance node.
RTresult RTAPI rtSelectorCreate(RTcontext context, RTselector *selector)
Creates a Selector node.
RTresult RTAPI rtVariableSet1i(RTvariable v, int i1)
RTresult RTAPI rtGeometryGroupGetContext(RTgeometrygroup geometrygroup, RTcontext *context)
Returns the context associated with a geometry group.
RTresult RTAPI rtBufferGetSize3D(RTbuffer buffer, RTsize *width, RTsize *height, RTsize *depth)
Gets the width, height and depth of this buffer.
RTresult RTAPI rtGeometryValidate(RTgeometry geometry)
Validates the geometry nodes integrity.
RTresult RTAPI rtContextCreate(RTcontext *context)
Creates a new context object.
RTresult RTAPI rtAccelerationGetProperty(RTacceleration acceleration, const char *name, const char **return_string)
Queries an acceleration structure property.
RTresult RTAPI rtGeometryGroupGetChildCount(RTgeometrygroup geometrygroup, unsigned int *count)
Returns the number of child slots for a group.
RTresult RTAPI rtBufferGetAttribute(RTbuffer buffer, RTbufferattribute attrib, RTsize size, void *p)
Query a buffer attribute.
RTresult RTAPI rtGeometryGetPrimitiveIndexOffset(RTgeometry geometry, unsigned int *index_offset)
Returns the current primitive index offset.
RTresult RTAPI rtGeometryInstanceDeclareVariable(RTgeometryinstance geometryinstance, const char *name, RTvariable *v)
Declares a new named variable associated with a geometry node.
RTresult RTAPI rtBufferSetSize2D(RTbuffer buffer, RTsize width, RTsize height)
Sets the width, height and dimensionality of this buffer.
RTresult RTAPI rtBufferUnmapEx(RTbuffer buffer, unsigned int level)
Unmaps mipmap level storage from the host.
RTresult RTAPI rtGeometrySetPrimitiveIndexOffset(RTgeometry geometry, unsigned int index_offset)
Sets the primitive index offset.
RTresult RTAPI rtSelectorSetVisitProgram(RTselector selector, RTprogram program)
Assigns a visit program to a Selector node.
RTresult RTAPI rtVariableSet2i(RTvariable v, int i1, int i2)
RTresult RTAPI rtBufferGetFormat(RTbuffer buffer, RTformat *format)
Gets the format of this buffer.
RTresult RTAPI rtBufferGetSizev(RTbuffer buffer, unsigned int dimensionality, RTsize *dims)
Gets the dimensions of this buffer.
RTresult RTAPI rtTextureSamplerGetIndexingMode(RTtexturesampler texturesampler, RTtextureindexmode *indexmode)
Gets the indexing mode of a texture sampler.
RTresult RTAPI rtSelectorQueryVariable(RTselector selector, const char *name, RTvariable *v)
Returns a variable associated with a Selector node.
RTresult RTAPI rtAccelerationGetDataSize(RTacceleration acceleration, RTsize *size)
Returns the size of the data to be retrieved from an acceleration structure.
RTresult RTAPI rtTransformSetChild(RTtransform transform, RTobject child)
Attaches a child node to a Transform node.
RTresult RTAPI rtBufferGetSize2D(RTbuffer buffer, RTsize *width, RTsize *height)
Gets the width and height of this buffer.
struct RTtexturesampler_api * RTtexturesampler
Definition: optix_host.h:96
struct RTbuffer_api * RTbuffer
Definition: optix_host.h:69
RTresult RTAPI rtAccelerationGetData(RTacceleration acceleration, void *data)
Retrieves acceleration structure data.
RTresult RTAPI rtVariableGetAnnotation(RTvariable v, const char **annotation_return)
Queries the annotation string of a program variable.
RTresult RTAPI rtGroupSetChild(RTgroup group, unsigned int index, RTobject child)
Attaches a child node to a group.
RTresult RTAPI rtContextSetDevices(RTcontext context, unsigned int count, const int *devices)
Specify a list of hardware devices to be used by the kernel.
int(* RTtimeoutcallback)(void)
Definition: optix_host.h:118
RTresult RTAPI rtVariableGet1uiv(RTvariable v, unsigned int *u)
RTresult RTAPI rtVariableGet2ui(RTvariable v, unsigned int *u1, unsigned int *u2)
RTresult RTAPI rtContextGetTextureSamplerFromId(RTcontext context, int sampler_id, RTtexturesampler *sampler)
Gets an RTtexturesampler corresponding to the texture id.
RTresult RTAPI rtMaterialGetContext(RTmaterial material, RTcontext *context)
Returns the context associated with a material.
struct RTprogram_api * RTprogram
Definition: optix_host.h:90
RTresult RTAPI rtVariableGet3f(RTvariable v, float *f1, float *f2, float *f3)
RTresult RTAPI rtProgramGetContext(RTprogram program, RTcontext *context)
Gets the context object that created a program.
RTresult RTAPI rtContextSetTimeoutCallback(RTcontext context, RTtimeoutcallback callback, double min_polling_seconds)
Side timeout callback function.
RTresult RTAPI rtAccelerationMarkDirty(RTacceleration acceleration)
Marks an acceleration structure as dirty.
RTresult RTAPI rtTextureSamplerSetMipLevelCount(RTtexturesampler texturesampler, unsigned int num_mip_levels)
Sets the number of MIP levels in a texture sampler.
RTresult RTAPI rtTextureSamplerGetReadMode(RTtexturesampler texturesampler, RTtexturereadmode *readmode)
Gets the read mode of a texture sampler.
RTresult RTAPI rtVariableSet4fv(RTvariable v, const float *f)
RTresult RTAPI rtBufferSetElementSize(RTbuffer buffer, RTsize size_of_element)
Modifies the size in bytes of a buffer's individual elements.
RTresult RTAPI rtVariableGet2fv(RTvariable v, float *f)
RTdeviceattribute
Definition: optix_declarations.h:281
RTresult RTAPI rtVariableGetType(RTvariable v, RTobjecttype *type_return)
Returns type information about a program variable.
RTresult RTAPI rtRemoteDeviceDestroy(RTremotedevice remote_dev)
Destroys a remote device.
RTresult RTAPI rtTextureSamplerGetBuffer(RTtexturesampler texturesampler, unsigned int deprecated0, unsigned int deprecated1, RTbuffer *buffer)
Gets a buffer object handle from a texture sampler.
RTresult RTAPI rtVariableGet4fv(RTvariable v, float *f)
RTresult RTAPI rtContextGetRayGenerationProgram(RTcontext context, unsigned int entry_point_index, RTprogram *program)
Queries the ray generation program associated with the given context and entry point.
RTresult RTAPI rtVariableSetMatrix4x2fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtVariableSet3f(RTvariable v, float f1, float f2, float f3)
RTresult RTAPI rtContextValidate(RTcontext context)
Checks the given context for valid internal state.
RTresult RTAPI rtContextGetDeviceCount(RTcontext context, unsigned int *count)
Query the number of devices currently being used.
RTresult RTAPI rtVariableSet2uiv(RTvariable v, const unsigned int *u)
RTresult RTAPI rtVariableSetMatrix2x2fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtDeviceGetDeviceCount(unsigned int *count)
Returns the number of OptiX capable devices.
RTresult RTAPI rtVariableSetMatrix4x3fv(RTvariable v, int transpose, const float *m)
struct RTgeometryinstance_api * RTgeometryinstance
Definition: optix_host.h:78
RTresult RTAPI rtTransformDestroy(RTtransform transform)
Destroys a transform node.
RTresult RTAPI rtGroupGetAcceleration(RTgroup group, RTacceleration *acceleration)
Returns the acceleration structure attached to a group.
RTobjecttype
Definition: optix_declarations.h:104
RTresult RTAPI rtAccelerationDestroy(RTacceleration acceleration)
Destroys an acceleration structure object.
RTresult RTAPI rtContextQueryVariable(RTcontext context, const char *name, RTvariable *v)
Returns a named variable associated with this context.
RTresult RTAPI rtContextSetExceptionProgram(RTcontext context, unsigned int entry_point_index, RTprogram program)
Specifies the exception program for a given context entry point.
RTresult RTAPI rtVariableSet4uiv(RTvariable v, const unsigned int *u)
RTformat
Definition: optix_declarations.h:63
RTresult RTAPI rtProgramCreateFromPTXString(RTcontext context, const char *ptx, const char *program_name, RTprogram *program)
Creates a new program object.
RTresult RTAPI rtBufferGetMipLevelSize3D(RTbuffer buffer, unsigned int level, RTsize *width, RTsize *height, RTsize *depth)
Gets the width, height and depth of buffer specific MIP level.
RTresult RTAPI rtVariableGetName(RTvariable v, const char **name_return)
Queries the name of a program variable.
struct RTgeometry_api * RTgeometry
Definition: optix_host.h:75
RTresult RTAPI rtMaterialDestroy(RTmaterial material)
Destroys a material object.
RTresult RTAPI rtProgramValidate(RTprogram program)
Validates the state of a program.
RTresult RTAPI rtTextureSamplerSetReadMode(RTtexturesampler texturesampler, RTtexturereadmode readmode)
Sets the read mode of a texture sampler.
RTresult RTAPI rtGroupCreate(RTcontext context, RTgroup *group)
Creates a new group.
RTresult RTAPI rtTextureSamplerGetArraySize(RTtexturesampler texturesampler, unsigned int *num_textures_in_array)
Gets the number of array slices present in a texture sampler.
RTresult RTAPI rtVariableSet2ui(RTvariable v, unsigned int u1, unsigned int u2)
RTresult RTAPI rtTextureSamplerCreate(RTcontext context, RTtexturesampler *texturesampler)
Creates a new texture sampler object.
RTresult RTAPI rtVariableSetMatrix4x4fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtGeometryDestroy(RTgeometry geometry)
Destroys a geometry node.
RTresult RTAPI rtBufferSetMipLevelCount(RTbuffer buffer, unsigned int levels)
Sets the MIP level count of a buffer.
RTresult RTAPI rtGeometryGetContext(RTgeometry geometry, RTcontext *context)
Returns the context associated with a geometry node.
OptiX public API declarations.
RTresult RTAPI rtBufferUnmap(RTbuffer buffer)
Unmaps a buffer's storage from the host.
RTresult RTAPI rtSelectorDeclareVariable(RTselector selector, const char *name, RTvariable *v)
Declares a variable associated with a Selector node.
RTresult RTAPI rtVariableSet3uiv(RTvariable v, const unsigned int *u)
RTresult RTAPI rtAccelerationSetProperty(RTacceleration acceleration, const char *name, const char *value)
Sets an acceleration structure property.
RTresult RTAPI rtVariableSetMatrix2x3fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtContextGetRayTypeCount(RTcontext context, unsigned int *num_ray_types)
Query the number of ray types associated with this context.
RTresult RTAPI rtTextureSamplerGetFilteringModes(RTtexturesampler texturesampler, RTfiltermode *minification, RTfiltermode *magnification, RTfiltermode *mipmapping)
Gets the filtering modes of a texture sampler.
RTresult RTAPI rtTextureSamplerGetWrapMode(RTtexturesampler texturesampler, unsigned int dimension, RTwrapmode *wrapmode)
Gets the wrap mode of a texture sampler.
RTresult RTAPI rtContextLaunchProgressive2D(RTcontext context, unsigned int entry_index, RTsize width, RTsize height, unsigned int max_subframes)
Executes a Progressive Launch for a given context.
RTresult RTAPI rtMaterialQueryVariable(RTmaterial material, const char *name, RTvariable *v)
Queries for the existence of a named variable of a material.
RTresult RTAPI rtVariableSetMatrix3x2fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtGeometrySetBoundingBoxProgram(RTgeometry geometry, RTprogram program)
Sets the bounding box program.
RTresult RTAPI rtGeometrySetPrimitiveCount(RTgeometry geometry, unsigned int num_primitives)
Sets the number of primitives.
RTresult RTAPI rtVariableSetObject(RTvariable v, RTobject object)
Sets a program variable value to a OptiX object.
RTresult RTAPI rtBufferMapEx(RTbuffer buffer, unsigned int map_flags, unsigned int level, void *user_owned, void **optix_owned)
Maps mipmap level of buffer object to the host.
RTresult RTAPI rtVariableGetMatrix2x4fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtContextSetEntryPointCount(RTcontext context, unsigned int num_entry_points)
Set the number of entry points for a given context.
RTwrapmode
Definition: optix_declarations.h:146
RTresult RTAPI rtContextGetPrintBufferSize(RTcontext context, RTsize *buffer_size_bytes)
Get the current size of the print buffer.
RTresult RTAPI rtContextRemoveVariable(RTcontext context, RTvariable v)
Removes a variable from the given context.
void RTAPI rtContextGetErrorString(RTcontext context, RTresult code, const char **return_string)
Returns the error string associated with a given error.
RTresult RTAPI rtGeometryInstanceQueryVariable(RTgeometryinstance geometryinstance, const char *name, RTvariable *v)
Returns a handle to a named variable of a geometry node.
struct RTselector_api * RTselector
Definition: optix_host.h:93
RTresult RTAPI rtMaterialDeclareVariable(RTmaterial material, const char *name, RTvariable *v)
Declares a new named variable to be associated with a material.
RTresult RTAPI rtContextSetPrintLaunchIndex(RTcontext context, int x, int y, int z)
Sets the active launch index to limit text output.
RTresult RTAPI rtAccelerationValidate(RTacceleration acceleration)
Validates the state of an acceleration structure.
RTresult RTAPI rtVariableSet1uiv(RTvariable v, const unsigned int *u)
RTresult RTAPI rtVariableSet4i(RTvariable v, int i1, int i2, int i3, int i4)
struct RTremotedevice_api * RTremotedevice
Definition: optix_host.h:108
RTresult RTAPI rtProgramRemoveVariable(RTprogram program, RTvariable v)
Removes the named variable from a program.
RTresult RTAPI rtVariableGet2f(RTvariable v, float *f1, float *f2)
RTresult RTAPI rtGeometryGroupSetChild(RTgeometrygroup geometrygroup, unsigned int index, RTgeometryinstance geometryinstance)
Attaches a child node to a geometry group.
RTresult RTAPI rtGroupSetChildCount(RTgroup group, unsigned int count)
Sets the number of child nodes to be attached to the group.
void * RTobject
Definition: optix_host.h:105
RTresult RTAPI rtVariableGet1ui(RTvariable v, unsigned int *u1)
RTresult RTAPI rtContextSetRemoteDevice(RTcontext context, RTremotedevice remote_dev)
Enable rendering on a remote device.
RTresult RTAPI rtBufferGetId(RTbuffer buffer, int *buffer_id)
Gets an id suitable for use with buffers of buffers.
RTresult RTAPI rtTextureSamplerSetArraySize(RTtexturesampler texturesampler, unsigned int num_textures_in_array)
Sets the array size of a texture sampler.
RTresult RTAPI rtVariableSet1f(RTvariable v, float f1)
Functions designed to modify the value of a program variable.
RTresult RTAPI rtVariableGetMatrix4x3fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtSelectorGetContext(RTselector selector, RTcontext *context)
Returns the context of a Selector node.
RTresult RTAPI rtVariableSetMatrix3x4fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtBufferMap(RTbuffer buffer, void **user_pointer)
Maps a buffer object to the host.
RTresult RTAPI rtRemoteDeviceRelease(RTremotedevice remote_dev)
Release reserved nodes on a remote device.
RTresult RTAPI rtContextSetPrintEnabled(RTcontext context, int enabled)
Enable or disable text printing from programs.
RTresult RTAPI rtGroupSetAcceleration(RTgroup group, RTacceleration acceleration)
Set the acceleration structure for a group.
RTresult RTAPI rtContextLaunch2D(RTcontext context, unsigned int entry_point_index, RTsize image_width, RTsize image_height)
RTresult RTAPI rtProgramCreateFromPTXFile(RTcontext context, const char *filename, const char *program_name, RTprogram *program)
Creates a new program object.
RTresult RTAPI rtGeometryInstanceGetMaterialCount(RTgeometryinstance geometryinstance, unsigned int *count)
Returns the number of attached materials.
RTresult RTAPI rtTransformGetContext(RTtransform transform, RTcontext *context)
Returns the context of a Transform node.
RTresult RTAPI rtContextSetStackSize(RTcontext context, RTsize stack_size_bytes)
Set the stack size for a given context.
RTresult RTAPI rtTextureSamplerSetBuffer(RTtexturesampler texturesampler, unsigned int deprecated0, unsigned int deprecated1, RTbuffer buffer)
Attaches a buffer object to a texture sampler.
RTresult RTAPI rtAccelerationIsDirty(RTacceleration acceleration, int *dirty)
Returns the dirty flag of an acceleration structure.
RTresult RTAPI rtRemoteDeviceReserve(RTremotedevice remote_dev, unsigned int num_nodes, unsigned int configuration)
Reserve nodes for rendering on a remote device.
RTresult RTAPI rtVariableSet3iv(RTvariable v, const int *i)
RTresult RTAPI rtProgramDestroy(RTprogram program)
Destroys a program object.
RTresult RTAPI rtTextureSamplerSetIndexingMode(RTtexturesampler texturesampler, RTtextureindexmode indexmode)
Sets whether texture coordinates for this texture sampler are normalized.
RTresult RTAPI rtSelectorGetChildType(RTselector selector, unsigned int index, RTobjecttype *type)
Returns type information about a Selector child node.
RTresult RTAPI rtAccelerationGetTraverser(RTacceleration acceleration, const char **return_string)
Query the current traverser from an acceleration structure.
RTresult RTAPI rtTextureSamplerGetMipLevelBias(RTtexturesampler texturesampler, float *value)
Gets the mipmap offset for a texture sampler.
RTfiltermode
Definition: optix_declarations.h:155
RTresult RTAPI rtBufferGetMipLevelSize1D(RTbuffer buffer, unsigned int level, RTsize *width)
Gets the width of buffer specific MIP level.
RTresult RTAPI rtBufferSetAttribute(RTbuffer buffer, RTbufferattribute attrib, RTsize size, void *p)
Set a buffer attribute.
RTresult RTAPI rtContextGetStackSize(RTcontext context, RTsize *stack_size_bytes)
Query the stack size for this context.
RTresult RTAPI rtTextureSamplerSetMaxAnisotropy(RTtexturesampler texturesampler, float value)
Sets the maximum anisotropy of a texture sampler.
RTresult RTAPI rtGeometryInstanceSetGeometry(RTgeometryinstance geometryinstance, RTgeometry geometry)
Attaches a Geometry node.
RTcontextattribute
Definition: optix_declarations.h:321
RTresult RTAPI rtBufferGetSize1D(RTbuffer buffer, RTsize *width)
Get the width of this buffer.
RTresult RTAPI rtContextSetMissProgram(RTcontext context, unsigned int ray_type_index, RTprogram program)
Specifies the miss program for a given context ray type.
RTresult RTAPI rtGroupGetChildType(RTgroup group, unsigned int index, RTobjecttype *type)
Get the type of a group child.
RTresult RTAPI rtGroupValidate(RTgroup group)
Verifies the state of the group.
RTresult RTAPI rtBufferGetMipLevelSize2D(RTbuffer buffer, unsigned int level, RTsize *width, RTsize *height)
Gets the width, height of buffer specific MIP level.
RTresult RTAPI rtVariableSetMatrix2x4fv(RTvariable v, int transpose, const float *m)
RTresult RTAPI rtGeometryInstanceDestroy(RTgeometryinstance geometryinstance)
Destroys a geometry instance node.
RTresult RTAPI rtVariableGet3i(RTvariable v, int *i1, int *i2, int *i3)
RTresult RTAPI rtVariableGet2iv(RTvariable v, int *i)
RTresult RTAPI rtVariableGet4uiv(RTvariable v, unsigned int *u)
RTresult RTAPI rtContextDestroy(RTcontext context)
Destroys a context and frees all associated resources.
RTremotedeviceattribute
Definition: optix_declarations.h:296
RTresult RTAPI rtGeometryGetVariableCount(RTgeometry geometry, unsigned int *count)
Returns the number of attached variables.
RTresult RTAPI rtTextureSamplerGetMipLevelClamp(RTtexturesampler texturesampler, float *minLevel, float *maxLevel)
Gets the minimum and the maximum MIP level access range for a texture sampler.
RTresult RTAPI rtTextureSamplerGetMipLevelCount(RTtexturesampler texturesampler, unsigned int *num_mip_levels)
Gets the number of MIP levels in a texture sampler.
struct RTtransform_api * RTtransform
Definition: optix_host.h:99
RTresult RTAPI rtTextureSamplerSetWrapMode(RTtexturesampler texturesampler, unsigned int dimension, RTwrapmode wrapmode)
Sets the wrapping mode of a texture sampler.
RTresult RTAPI rtContextGetPrintEnabled(RTcontext context, int *enabled)
Query whether text printing from programs is enabled.
RTresult RTAPI rtBufferGetElementSize(RTbuffer buffer, RTsize *size_of_element)
Returns the size of a buffer's individual elements.
RTresult RTAPI rtRemoteDeviceCreate(const char *url, const char *username, const char *password, RTremotedevice *remote_dev)
Create a device for remote rendering on VCAs.
struct RTcontext_api * RTcontext
Definition: optix_host.h:72
RTresult RTAPI rtVariableSet1ui(RTvariable v, unsigned int u1)
RTresult RTAPI rtVariableGet4iv(RTvariable v, int *i)
RTresult RTAPI rtVariableGet1i(RTvariable v, int *i1)
RTresult RTAPI rtSelectorGetChild(RTselector selector, unsigned int index, RTobject *child)
Returns a child node that is attached to a Selector node.
RTresult RTAPI rtGeometryInstanceGetContext(RTgeometryinstance geometryinstance, RTcontext *context)
Returns the context associated with a geometry instance node.
RTresult RTAPI rtVariableGetMatrix3x4fv(RTvariable v, int transpose, float *m)
RTresult RTAPI rtVariableSet4iv(RTvariable v, const int *i)
RTresult RTAPI rtVariableSet1fv(RTvariable v, const float *f)
RTresult RTAPI rtMaterialValidate(RTmaterial material)
Verifies the state of a material.
RTresult RTAPI rtVariableGet3uiv(RTvariable v, unsigned int *u)
RTresult RTAPI rtGetVersion(unsigned int *version)
Returns the current OptiX version.
RTresult RTAPI rtVariableSet2iv(RTvariable v, const int *i)
RTresult RTAPI rtContextSetRayTypeCount(RTcontext context, unsigned int num_ray_types)
Sets the number of ray types for a given context.
RTresult RTAPI rtVariableGet3iv(RTvariable v, int *i)
RTresult RTAPI rtSelectorSetChildCount(RTselector selector, unsigned int count)
Specifies the number of child nodes to be attached to a Selector node.
RTresult RTAPI rtBufferValidate(RTbuffer buffer)
Validates the state of a buffer.
struct RTgeometrygroup_api * RTgeometrygroup
Definition: optix_host.h:81
RTresult RTAPI rtSelectorGetVisitProgram(RTselector selector, RTprogram *program)
Returns the currently assigned visit program.
RTresult RTAPI rtGeometryGroupSetAcceleration(RTgeometrygroup geometrygroup, RTacceleration acceleration)
Set the acceleration structure for a group.
RTresult RTAPI rtSelectorRemoveVariable(RTselector selector, RTvariable v)
Removes a variable from a Selector node.
RTresult RTAPI rtContextGetAttribute(RTcontext context, RTcontextattribute attrib, RTsize size, void *p)
Returns an attribute specific to an OptiX context.
RTresult RTAPI rtRemoteDeviceGetAttribute(RTremotedevice remote_dev, RTremotedeviceattribute attrib, RTsize size, void *p)
Queries attributes of a remote device.
RTresult RTAPI rtBufferGetDimensionality(RTbuffer buffer, unsigned int *dimensionality)
Gets the dimensionality of this buffer object.
RTresult RTAPI rtVariableGet2uiv(RTvariable v, unsigned int *u)
RTresult RTAPI rtVariableGet1fv(RTvariable v, float *f)
RTresult RTAPI rtVariableGetUserData(RTvariable v, RTsize size, void *ptr)
Defined.
RTresult RTAPI rtGeometryGroupCreate(RTcontext context, RTgeometrygroup *geometrygroup)
Creates a new geometry group.