OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
optix_defines.h
Go to the documentation of this file.
1 
2 /*
3  * Copyright (c) 2008 - 2009 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_defines_h__
31 #define __optix_optix_defines_h__
32 
36 
39 
42 };
43 
48 };
49 
53 };
54 
55 namespace rti_internal_typeinfo {
56  enum rtiTypeKind {
57  _OPTIX_VARIABLE = 0x796152
58  };
59  struct rti_typeinfo {
60  unsigned int kind;
61  unsigned int size;
62  };
63 }
64 
65 namespace rti_internal_typeinfo {
66 
67  enum rtiTypeEnum {
68  _OPTIX_TYPE_ENUM_UNKNOWN = 0x1337,
69  _OPTIX_TYPE_ENUM_PROGRAM_ID,
70  _OPTIX_TYPE_ENUM_PROGRAM_AS_ID
71  };
72  // Specialize this class (struct) to change the value of m_typeenum
73  template<typename T>
74  struct rti_typeenum
75  {
76  static const int m_typeenum = _OPTIX_TYPE_ENUM_UNKNOWN;
77  };
78 }
79 
80 namespace optix {
81  /* Internal enums for identifying texture function lookup types. Don't add new items in
82  * the middle. Only add at the end. */
83  enum rtiTexLookupKind {
84  TEX_LOOKUP_1D = 1,
85  TEX_LOOKUP_2D = 2,
86  TEX_LOOKUP_3D = 3,
87  TEX_LOOKUP_A1 = 4,
88  TEX_LOOKUP_A2 = 5,
89  TEX_LOOKUP_CUBE = 6,
90  TEX_LOOKUP_ACUBE = 7
91  };
92 }
93 
94 
95 
96 #if defined(__x86_64) || defined(AMD64) || defined(_M_AMD64)
97 #define OPTIX_ASM_PTR "l"
98 #define OPTIX_ASM_SIZE_T "l"
99 #define OPTIX_ASM_PTR_SIZE_STR "64"
100 #define OPTIX_BITNESS_SUFFIX "_64"
101 namespace optix {
102 #if defined( _WIN64 )
103  typedef unsigned __int64 optix_size_t;
104 #else
105  typedef unsigned long long optix_size_t;
106 #endif
107 }
108 #else
109 #define OPTIX_ASM_PTR "r"
110 #define OPTIX_ASM_SIZE_T "r"
111 #define OPTIX_ASM_PTR_SIZE_STR "32"
112 #define OPTIX_BITNESS_SUFFIX ""
113 namespace optix {
114  typedef size_t optix_size_t;
115 }
116 #endif
117 
118 #endif /* __optix_optix_defines_h__ */
Definition: optix_defines.h:46
Definition: optix_defines.h:59
Definition: optix_defines.h:35
Definition: optix_defines.h:38
rtSemanticTypes
Definition: optix_defines.h:33
Definition: optix_defines.h:52
Definition: optix_defines.h:74
Definition: optix_defines.h:41
Definition: optix_defines.h:47
RTtransformflags
Definition: optix_defines.h:51
RTtransformkind
Definition: optix_defines.h:45