PageRenderTime 50ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 1ms

/src/Cg/include/Cg/cg.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 1375 lines | 1285 code | 30 blank | 60 comment | 6 complexity | d101ef2bf50322ea2195cfb60dbd1640 MD5 | raw file
Possible License(s): LGPL-3.0, BSD-3-Clause, CPL-1.0, Unlicense, GPL-2.0, GPL-3.0, LGPL-2.0, MPL-2.0-no-copyleft-exception, BSD-2-Clause, LGPL-2.1
  1. /*
  2. *
  3. * Copyright (c) 2002-2012, NVIDIA Corporation.
  4. *
  5. *
  6. *
  7. * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
  8. * of your agreement to the following terms, and your use, installation,
  9. * modification or redistribution of this NVIDIA software constitutes
  10. * acceptance of these terms. If you do not agree with these terms, please do
  11. * not use, install, modify or redistribute this NVIDIA software.
  12. *
  13. *
  14. *
  15. * In consideration of your agreement to abide by the following terms, and
  16. * subject to these terms, NVIDIA grants you a personal, non-exclusive license,
  17. * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
  18. * Software"), to use, reproduce, modify and redistribute the NVIDIA
  19. * Software, with or without modifications, in source and/or binary forms;
  20. * provided that if you redistribute the NVIDIA Software, you must retain the
  21. * copyright notice of NVIDIA, this notice and the following text and
  22. * disclaimers in all such redistributions of the NVIDIA Software. Neither the
  23. * name, trademarks, service marks nor logos of NVIDIA Corporation may be used
  24. * to endorse or promote products derived from the NVIDIA Software without
  25. * specific prior written permission from NVIDIA. Except as expressly stated
  26. * in this notice, no other rights or licenses express or implied, are granted
  27. * by NVIDIA herein, including but not limited to any patent rights that may be
  28. * infringed by your derivative works or by other works in which the NVIDIA
  29. * Software may be incorporated. No hardware is licensed hereunder.
  30. *
  31. *
  32. *
  33. * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
  34. * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  35. * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
  36. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
  37. * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
  38. *
  39. *
  40. *
  41. * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
  42. * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
  43. * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  44. * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
  45. * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
  46. * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
  47. * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
  48. * OF THE POSSIBILITY OF SUCH DAMAGE.
  49. *
  50. */
  51. #ifndef _cg_h
  52. #define _cg_h
  53. /*************************************************************************/
  54. /*** CG Run-Time Library API ***/
  55. /*************************************************************************/
  56. #define CG_VERSION_NUM 3100
  57. #ifdef _WIN32
  58. # ifndef APIENTRY /* From Win32's <windef.h> */
  59. # define CG_APIENTRY_DEFINED
  60. # if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
  61. # define APIENTRY __stdcall
  62. # else
  63. # define APIENTRY
  64. # endif
  65. # endif
  66. # ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */
  67. # define CG_WINGDIAPI_DEFINED
  68. # define WINGDIAPI __declspec(dllimport)
  69. # endif
  70. #endif /* _WIN32 */
  71. /* Set up CG_API for Win32 dllexport or gcc visibility. */
  72. #ifndef CG_API
  73. # ifdef CG_EXPORTS
  74. # ifdef _WIN32
  75. # define CG_API __declspec(dllexport)
  76. # elif defined(__GNUC__) && __GNUC__>=4
  77. # define CG_API __attribute__ ((visibility("default")))
  78. # elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
  79. # define CG_API __global
  80. # else
  81. # define CG_API
  82. # endif
  83. # else
  84. # define CG_API
  85. # endif
  86. #endif
  87. #ifndef CGENTRY
  88. # ifdef _WIN32
  89. # define CGENTRY __cdecl
  90. # else
  91. # define CGENTRY
  92. # endif
  93. #endif
  94. /*************************************************************************/
  95. /*** Data types and enumerants ***/
  96. /*************************************************************************/
  97. typedef int CGbool;
  98. typedef struct _CGcontext *CGcontext;
  99. typedef struct _CGprogram *CGprogram;
  100. typedef struct _CGparameter *CGparameter;
  101. typedef struct _CGobj *CGobj;
  102. typedef struct _CGbuffer *CGbuffer;
  103. typedef struct _CGeffect *CGeffect;
  104. typedef struct _CGtechnique *CGtechnique;
  105. typedef struct _CGpass *CGpass;
  106. typedef struct _CGstate *CGstate;
  107. typedef struct _CGstateassignment *CGstateassignment;
  108. typedef struct _CGannotation *CGannotation;
  109. typedef void *CGhandle;
  110. #define CG_FALSE ((CGbool)0)
  111. #define CG_TRUE ((CGbool)1)
  112. typedef enum
  113. {
  114. CG_BEHAVIOR_UNKNOWN = 0,
  115. CG_BEHAVIOR_LATEST = 1, /* latest behavior supported at runtime */
  116. CG_BEHAVIOR_2200 = 1000, /* default behavior */
  117. CG_BEHAVIOR_3000 = 2000,
  118. CG_BEHAVIOR_3100 = 3000,
  119. CG_BEHAVIOR_CURRENT = CG_BEHAVIOR_3100 /* latest behavior supported at compile time */
  120. } CGbehavior;
  121. typedef enum
  122. {
  123. CG_UNKNOWN_TYPE = 0,
  124. CG_ARRAY = 2,
  125. CG_STRING = 1135,
  126. CG_STRUCT = 1,
  127. CG_TYPELESS_STRUCT = 3,
  128. CG_TEXTURE = 1137,
  129. CG_BUFFER = 1319,
  130. CG_UNIFORMBUFFER = 1320,
  131. CG_ADDRESS = 1321,
  132. CG_PIXELSHADER_TYPE = 1142,
  133. CG_PROGRAM_TYPE = 1136,
  134. CG_VERTEXSHADER_TYPE = 1141,
  135. CG_SAMPLER = 1143,
  136. CG_SAMPLER1D = 1065,
  137. CG_SAMPLER1DARRAY = 1138,
  138. CG_SAMPLER1DSHADOW = 1313,
  139. CG_SAMPLER2D = 1066,
  140. CG_SAMPLER2DARRAY = 1139,
  141. CG_SAMPLER2DMS = 1317, /* ARB_texture_multisample */
  142. CG_SAMPLER2DMSARRAY = 1318, /* ARB_texture_multisample */
  143. CG_SAMPLER2DSHADOW = 1314,
  144. CG_SAMPLER3D = 1067,
  145. CG_SAMPLERBUF = 1144,
  146. CG_SAMPLERCUBE = 1069,
  147. CG_SAMPLERCUBEARRAY = 1140,
  148. CG_SAMPLERRBUF = 1316, /* NV_explicit_multisample */
  149. CG_SAMPLERRECT = 1068,
  150. CG_SAMPLERRECTSHADOW = 1315,
  151. CG_TYPE_START_ENUM = 1024,
  152. CG_BOOL = 1114,
  153. CG_BOOL1 = 1115,
  154. CG_BOOL2 = 1116,
  155. CG_BOOL3 = 1117,
  156. CG_BOOL4 = 1118,
  157. CG_BOOL1x1 = 1119,
  158. CG_BOOL1x2 = 1120,
  159. CG_BOOL1x3 = 1121,
  160. CG_BOOL1x4 = 1122,
  161. CG_BOOL2x1 = 1123,
  162. CG_BOOL2x2 = 1124,
  163. CG_BOOL2x3 = 1125,
  164. CG_BOOL2x4 = 1126,
  165. CG_BOOL3x1 = 1127,
  166. CG_BOOL3x2 = 1128,
  167. CG_BOOL3x3 = 1129,
  168. CG_BOOL3x4 = 1130,
  169. CG_BOOL4x1 = 1131,
  170. CG_BOOL4x2 = 1132,
  171. CG_BOOL4x3 = 1133,
  172. CG_BOOL4x4 = 1134,
  173. CG_CHAR = 1166,
  174. CG_CHAR1 = 1167,
  175. CG_CHAR2 = 1168,
  176. CG_CHAR3 = 1169,
  177. CG_CHAR4 = 1170,
  178. CG_CHAR1x1 = 1171,
  179. CG_CHAR1x2 = 1172,
  180. CG_CHAR1x3 = 1173,
  181. CG_CHAR1x4 = 1174,
  182. CG_CHAR2x1 = 1175,
  183. CG_CHAR2x2 = 1176,
  184. CG_CHAR2x3 = 1177,
  185. CG_CHAR2x4 = 1178,
  186. CG_CHAR3x1 = 1179,
  187. CG_CHAR3x2 = 1180,
  188. CG_CHAR3x3 = 1181,
  189. CG_CHAR3x4 = 1182,
  190. CG_CHAR4x1 = 1183,
  191. CG_CHAR4x2 = 1184,
  192. CG_CHAR4x3 = 1185,
  193. CG_CHAR4x4 = 1186,
  194. CG_DOUBLE = 1145,
  195. CG_DOUBLE1 = 1146,
  196. CG_DOUBLE2 = 1147,
  197. CG_DOUBLE3 = 1148,
  198. CG_DOUBLE4 = 1149,
  199. CG_DOUBLE1x1 = 1150,
  200. CG_DOUBLE1x2 = 1151,
  201. CG_DOUBLE1x3 = 1152,
  202. CG_DOUBLE1x4 = 1153,
  203. CG_DOUBLE2x1 = 1154,
  204. CG_DOUBLE2x2 = 1155,
  205. CG_DOUBLE2x3 = 1156,
  206. CG_DOUBLE2x4 = 1157,
  207. CG_DOUBLE3x1 = 1158,
  208. CG_DOUBLE3x2 = 1159,
  209. CG_DOUBLE3x3 = 1160,
  210. CG_DOUBLE3x4 = 1161,
  211. CG_DOUBLE4x1 = 1162,
  212. CG_DOUBLE4x2 = 1163,
  213. CG_DOUBLE4x3 = 1164,
  214. CG_DOUBLE4x4 = 1165,
  215. CG_FIXED = 1070,
  216. CG_FIXED1 = 1092,
  217. CG_FIXED2 = 1071,
  218. CG_FIXED3 = 1072,
  219. CG_FIXED4 = 1073,
  220. CG_FIXED1x1 = 1074,
  221. CG_FIXED1x2 = 1075,
  222. CG_FIXED1x3 = 1076,
  223. CG_FIXED1x4 = 1077,
  224. CG_FIXED2x1 = 1078,
  225. CG_FIXED2x2 = 1079,
  226. CG_FIXED2x3 = 1080,
  227. CG_FIXED2x4 = 1081,
  228. CG_FIXED3x1 = 1082,
  229. CG_FIXED3x2 = 1083,
  230. CG_FIXED3x3 = 1084,
  231. CG_FIXED3x4 = 1085,
  232. CG_FIXED4x1 = 1086,
  233. CG_FIXED4x2 = 1087,
  234. CG_FIXED4x3 = 1088,
  235. CG_FIXED4x4 = 1089,
  236. CG_FLOAT = 1045,
  237. CG_FLOAT1 = 1091,
  238. CG_FLOAT2 = 1046,
  239. CG_FLOAT3 = 1047,
  240. CG_FLOAT4 = 1048,
  241. CG_FLOAT1x1 = 1049,
  242. CG_FLOAT1x2 = 1050,
  243. CG_FLOAT1x3 = 1051,
  244. CG_FLOAT1x4 = 1052,
  245. CG_FLOAT2x1 = 1053,
  246. CG_FLOAT2x2 = 1054,
  247. CG_FLOAT2x3 = 1055,
  248. CG_FLOAT2x4 = 1056,
  249. CG_FLOAT3x1 = 1057,
  250. CG_FLOAT3x2 = 1058,
  251. CG_FLOAT3x3 = 1059,
  252. CG_FLOAT3x4 = 1060,
  253. CG_FLOAT4x1 = 1061,
  254. CG_FLOAT4x2 = 1062,
  255. CG_FLOAT4x3 = 1063,
  256. CG_FLOAT4x4 = 1064,
  257. CG_HALF = 1025,
  258. CG_HALF1 = 1090,
  259. CG_HALF2 = 1026,
  260. CG_HALF3 = 1027,
  261. CG_HALF4 = 1028,
  262. CG_HALF1x1 = 1029,
  263. CG_HALF1x2 = 1030,
  264. CG_HALF1x3 = 1031,
  265. CG_HALF1x4 = 1032,
  266. CG_HALF2x1 = 1033,
  267. CG_HALF2x2 = 1034,
  268. CG_HALF2x3 = 1035,
  269. CG_HALF2x4 = 1036,
  270. CG_HALF3x1 = 1037,
  271. CG_HALF3x2 = 1038,
  272. CG_HALF3x3 = 1039,
  273. CG_HALF3x4 = 1040,
  274. CG_HALF4x1 = 1041,
  275. CG_HALF4x2 = 1042,
  276. CG_HALF4x3 = 1043,
  277. CG_HALF4x4 = 1044,
  278. CG_INT = 1093,
  279. CG_INT1 = 1094,
  280. CG_INT2 = 1095,
  281. CG_INT3 = 1096,
  282. CG_INT4 = 1097,
  283. CG_INT1x1 = 1098,
  284. CG_INT1x2 = 1099,
  285. CG_INT1x3 = 1100,
  286. CG_INT1x4 = 1101,
  287. CG_INT2x1 = 1102,
  288. CG_INT2x2 = 1103,
  289. CG_INT2x3 = 1104,
  290. CG_INT2x4 = 1105,
  291. CG_INT3x1 = 1106,
  292. CG_INT3x2 = 1107,
  293. CG_INT3x3 = 1108,
  294. CG_INT3x4 = 1109,
  295. CG_INT4x1 = 1110,
  296. CG_INT4x2 = 1111,
  297. CG_INT4x3 = 1112,
  298. CG_INT4x4 = 1113,
  299. CG_LONG = 1271,
  300. CG_LONG1 = 1272,
  301. CG_LONG2 = 1273,
  302. CG_LONG3 = 1274,
  303. CG_LONG4 = 1275,
  304. CG_LONG1x1 = 1276,
  305. CG_LONG1x2 = 1277,
  306. CG_LONG1x3 = 1278,
  307. CG_LONG1x4 = 1279,
  308. CG_LONG2x1 = 1280,
  309. CG_LONG2x2 = 1281,
  310. CG_LONG2x3 = 1282,
  311. CG_LONG2x4 = 1283,
  312. CG_LONG3x1 = 1284,
  313. CG_LONG3x2 = 1285,
  314. CG_LONG3x3 = 1286,
  315. CG_LONG3x4 = 1287,
  316. CG_LONG4x1 = 1288,
  317. CG_LONG4x2 = 1289,
  318. CG_LONG4x3 = 1290,
  319. CG_LONG4x4 = 1291,
  320. CG_SHORT = 1208,
  321. CG_SHORT1 = 1209,
  322. CG_SHORT2 = 1210,
  323. CG_SHORT3 = 1211,
  324. CG_SHORT4 = 1212,
  325. CG_SHORT1x1 = 1213,
  326. CG_SHORT1x2 = 1214,
  327. CG_SHORT1x3 = 1215,
  328. CG_SHORT1x4 = 1216,
  329. CG_SHORT2x1 = 1217,
  330. CG_SHORT2x2 = 1218,
  331. CG_SHORT2x3 = 1219,
  332. CG_SHORT2x4 = 1220,
  333. CG_SHORT3x1 = 1221,
  334. CG_SHORT3x2 = 1222,
  335. CG_SHORT3x3 = 1223,
  336. CG_SHORT3x4 = 1224,
  337. CG_SHORT4x1 = 1225,
  338. CG_SHORT4x2 = 1226,
  339. CG_SHORT4x3 = 1227,
  340. CG_SHORT4x4 = 1228,
  341. CG_UCHAR = 1187,
  342. CG_UCHAR1 = 1188,
  343. CG_UCHAR2 = 1189,
  344. CG_UCHAR3 = 1190,
  345. CG_UCHAR4 = 1191,
  346. CG_UCHAR1x1 = 1192,
  347. CG_UCHAR1x2 = 1193,
  348. CG_UCHAR1x3 = 1194,
  349. CG_UCHAR1x4 = 1195,
  350. CG_UCHAR2x1 = 1196,
  351. CG_UCHAR2x2 = 1197,
  352. CG_UCHAR2x3 = 1198,
  353. CG_UCHAR2x4 = 1199,
  354. CG_UCHAR3x1 = 1200,
  355. CG_UCHAR3x2 = 1201,
  356. CG_UCHAR3x3 = 1202,
  357. CG_UCHAR3x4 = 1203,
  358. CG_UCHAR4x1 = 1204,
  359. CG_UCHAR4x2 = 1205,
  360. CG_UCHAR4x3 = 1206,
  361. CG_UCHAR4x4 = 1207,
  362. CG_UINT = 1250,
  363. CG_UINT1 = 1251,
  364. CG_UINT2 = 1252,
  365. CG_UINT3 = 1253,
  366. CG_UINT4 = 1254,
  367. CG_UINT1x1 = 1255,
  368. CG_UINT1x2 = 1256,
  369. CG_UINT1x3 = 1257,
  370. CG_UINT1x4 = 1258,
  371. CG_UINT2x1 = 1259,
  372. CG_UINT2x2 = 1260,
  373. CG_UINT2x3 = 1261,
  374. CG_UINT2x4 = 1262,
  375. CG_UINT3x1 = 1263,
  376. CG_UINT3x2 = 1264,
  377. CG_UINT3x3 = 1265,
  378. CG_UINT3x4 = 1266,
  379. CG_UINT4x1 = 1267,
  380. CG_UINT4x2 = 1268,
  381. CG_UINT4x3 = 1269,
  382. CG_UINT4x4 = 1270,
  383. CG_ULONG = 1292,
  384. CG_ULONG1 = 1293,
  385. CG_ULONG2 = 1294,
  386. CG_ULONG3 = 1295,
  387. CG_ULONG4 = 1296,
  388. CG_ULONG1x1 = 1297,
  389. CG_ULONG1x2 = 1298,
  390. CG_ULONG1x3 = 1299,
  391. CG_ULONG1x4 = 1300,
  392. CG_ULONG2x1 = 1301,
  393. CG_ULONG2x2 = 1302,
  394. CG_ULONG2x3 = 1303,
  395. CG_ULONG2x4 = 1304,
  396. CG_ULONG3x1 = 1305,
  397. CG_ULONG3x2 = 1306,
  398. CG_ULONG3x3 = 1307,
  399. CG_ULONG3x4 = 1308,
  400. CG_ULONG4x1 = 1309,
  401. CG_ULONG4x2 = 1310,
  402. CG_ULONG4x3 = 1311,
  403. CG_ULONG4x4 = 1312,
  404. CG_USHORT = 1229,
  405. CG_USHORT1 = 1230,
  406. CG_USHORT2 = 1231,
  407. CG_USHORT3 = 1232,
  408. CG_USHORT4 = 1233,
  409. CG_USHORT1x1 = 1234,
  410. CG_USHORT1x2 = 1235,
  411. CG_USHORT1x3 = 1236,
  412. CG_USHORT1x4 = 1237,
  413. CG_USHORT2x1 = 1238,
  414. CG_USHORT2x2 = 1239,
  415. CG_USHORT2x3 = 1240,
  416. CG_USHORT2x4 = 1241,
  417. CG_USHORT3x1 = 1242,
  418. CG_USHORT3x2 = 1243,
  419. CG_USHORT3x3 = 1244,
  420. CG_USHORT3x4 = 1245,
  421. CG_USHORT4x1 = 1246,
  422. CG_USHORT4x2 = 1247,
  423. CG_USHORT4x3 = 1248,
  424. CG_USHORT4x4 = 1249
  425. } CGtype;
  426. typedef enum
  427. {
  428. CG_TEXUNIT0 = 2048,
  429. CG_TEXUNIT1 = 2049,
  430. CG_TEXUNIT2 = 2050,
  431. CG_TEXUNIT3 = 2051,
  432. CG_TEXUNIT4 = 2052,
  433. CG_TEXUNIT5 = 2053,
  434. CG_TEXUNIT6 = 2054,
  435. CG_TEXUNIT7 = 2055,
  436. CG_TEXUNIT8 = 2056,
  437. CG_TEXUNIT9 = 2057,
  438. CG_TEXUNIT10 = 2058,
  439. CG_TEXUNIT11 = 2059,
  440. CG_TEXUNIT12 = 2060,
  441. CG_TEXUNIT13 = 2061,
  442. CG_TEXUNIT14 = 2062,
  443. CG_TEXUNIT15 = 2063,
  444. CG_TEXUNIT16 = 4624,
  445. CG_TEXUNIT17 = 4625,
  446. CG_TEXUNIT18 = 4626,
  447. CG_TEXUNIT19 = 4627,
  448. CG_TEXUNIT20 = 4628,
  449. CG_TEXUNIT21 = 4629,
  450. CG_TEXUNIT22 = 4630,
  451. CG_TEXUNIT23 = 4631,
  452. CG_TEXUNIT24 = 4632,
  453. CG_TEXUNIT25 = 4633,
  454. CG_TEXUNIT26 = 4634,
  455. CG_TEXUNIT27 = 4635,
  456. CG_TEXUNIT28 = 4636,
  457. CG_TEXUNIT29 = 4637,
  458. CG_TEXUNIT30 = 4638,
  459. CG_TEXUNIT31 = 4639,
  460. CG_BUFFER0 = 2064,
  461. CG_BUFFER1 = 2065,
  462. CG_BUFFER2 = 2066,
  463. CG_BUFFER3 = 2067,
  464. CG_BUFFER4 = 2068,
  465. CG_BUFFER5 = 2069,
  466. CG_BUFFER6 = 2070,
  467. CG_BUFFER7 = 2071,
  468. CG_BUFFER8 = 2072,
  469. CG_BUFFER9 = 2073,
  470. CG_BUFFER10 = 2074,
  471. CG_BUFFER11 = 2075,
  472. CG_ATTR0 = 2113,
  473. CG_ATTR1 = 2114,
  474. CG_ATTR2 = 2115,
  475. CG_ATTR3 = 2116,
  476. CG_ATTR4 = 2117,
  477. CG_ATTR5 = 2118,
  478. CG_ATTR6 = 2119,
  479. CG_ATTR7 = 2120,
  480. CG_ATTR8 = 2121,
  481. CG_ATTR9 = 2122,
  482. CG_ATTR10 = 2123,
  483. CG_ATTR11 = 2124,
  484. CG_ATTR12 = 2125,
  485. CG_ATTR13 = 2126,
  486. CG_ATTR14 = 2127,
  487. CG_ATTR15 = 2128,
  488. CG_C = 2178,
  489. CG_TEX0 = 2179,
  490. CG_TEX1 = 2180,
  491. CG_TEX2 = 2181,
  492. CG_TEX3 = 2192,
  493. CG_TEX4 = 2193,
  494. CG_TEX5 = 2194,
  495. CG_TEX6 = 2195,
  496. CG_TEX7 = 2196,
  497. CG_HPOS = 2243,
  498. CG_COL0 = 2245,
  499. CG_COL1 = 2246,
  500. CG_COL2 = 2247,
  501. CG_COL3 = 2248,
  502. CG_PSIZ = 2309,
  503. CG_CLP0 = 2310,
  504. CG_CLP1 = 2311,
  505. CG_CLP2 = 2312,
  506. CG_CLP3 = 2313,
  507. CG_CLP4 = 2314,
  508. CG_CLP5 = 2315,
  509. CG_WPOS = 2373,
  510. CG_POINTCOORD = 2374,
  511. CG_POSITION0 = 2437,
  512. CG_POSITION1 = 2438,
  513. CG_POSITION2 = 2439,
  514. CG_POSITION3 = 2440,
  515. CG_POSITION4 = 2441,
  516. CG_POSITION5 = 2442,
  517. CG_POSITION6 = 2443,
  518. CG_POSITION7 = 2444,
  519. CG_POSITION8 = 2445,
  520. CG_POSITION9 = 2446,
  521. CG_POSITION10 = 2447,
  522. CG_POSITION11 = 2448,
  523. CG_POSITION12 = 2449,
  524. CG_POSITION13 = 2450,
  525. CG_POSITION14 = 2451,
  526. CG_POSITION15 = 2452,
  527. CG_DIFFUSE0 = 2501,
  528. CG_TANGENT0 = 2565,
  529. CG_TANGENT1 = 2566,
  530. CG_TANGENT2 = 2567,
  531. CG_TANGENT3 = 2568,
  532. CG_TANGENT4 = 2569,
  533. CG_TANGENT5 = 2570,
  534. CG_TANGENT6 = 2571,
  535. CG_TANGENT7 = 2572,
  536. CG_TANGENT8 = 2573,
  537. CG_TANGENT9 = 2574,
  538. CG_TANGENT10 = 2575,
  539. CG_TANGENT11 = 2576,
  540. CG_TANGENT12 = 2577,
  541. CG_TANGENT13 = 2578,
  542. CG_TANGENT14 = 2579,
  543. CG_TANGENT15 = 2580,
  544. CG_SPECULAR0 = 2629,
  545. CG_BLENDINDICES0 = 2693,
  546. CG_BLENDINDICES1 = 2694,
  547. CG_BLENDINDICES2 = 2695,
  548. CG_BLENDINDICES3 = 2696,
  549. CG_BLENDINDICES4 = 2697,
  550. CG_BLENDINDICES5 = 2698,
  551. CG_BLENDINDICES6 = 2699,
  552. CG_BLENDINDICES7 = 2700,
  553. CG_BLENDINDICES8 = 2701,
  554. CG_BLENDINDICES9 = 2702,
  555. CG_BLENDINDICES10 = 2703,
  556. CG_BLENDINDICES11 = 2704,
  557. CG_BLENDINDICES12 = 2705,
  558. CG_BLENDINDICES13 = 2706,
  559. CG_BLENDINDICES14 = 2707,
  560. CG_BLENDINDICES15 = 2708,
  561. CG_COLOR0 = 2757,
  562. CG_COLOR1 = 2758,
  563. CG_COLOR2 = 2759,
  564. CG_COLOR3 = 2760,
  565. CG_COLOR4 = 2761,
  566. CG_COLOR5 = 2762,
  567. CG_COLOR6 = 2763,
  568. CG_COLOR7 = 2764,
  569. CG_COLOR8 = 2765,
  570. CG_COLOR9 = 2766,
  571. CG_COLOR10 = 2767,
  572. CG_COLOR11 = 2768,
  573. CG_COLOR12 = 2769,
  574. CG_COLOR13 = 2770,
  575. CG_COLOR14 = 2771,
  576. CG_COLOR15 = 2772,
  577. CG_PSIZE0 = 2821,
  578. CG_PSIZE1 = 2822,
  579. CG_PSIZE2 = 2823,
  580. CG_PSIZE3 = 2824,
  581. CG_PSIZE4 = 2825,
  582. CG_PSIZE5 = 2826,
  583. CG_PSIZE6 = 2827,
  584. CG_PSIZE7 = 2828,
  585. CG_PSIZE8 = 2829,
  586. CG_PSIZE9 = 2830,
  587. CG_PSIZE10 = 2831,
  588. CG_PSIZE11 = 2832,
  589. CG_PSIZE12 = 2833,
  590. CG_PSIZE13 = 2834,
  591. CG_PSIZE14 = 2835,
  592. CG_PSIZE15 = 2836,
  593. CG_BINORMAL0 = 2885,
  594. CG_BINORMAL1 = 2886,
  595. CG_BINORMAL2 = 2887,
  596. CG_BINORMAL3 = 2888,
  597. CG_BINORMAL4 = 2889,
  598. CG_BINORMAL5 = 2890,
  599. CG_BINORMAL6 = 2891,
  600. CG_BINORMAL7 = 2892,
  601. CG_BINORMAL8 = 2893,
  602. CG_BINORMAL9 = 2894,
  603. CG_BINORMAL10 = 2895,
  604. CG_BINORMAL11 = 2896,
  605. CG_BINORMAL12 = 2897,
  606. CG_BINORMAL13 = 2898,
  607. CG_BINORMAL14 = 2899,
  608. CG_BINORMAL15 = 2900,
  609. CG_FOG0 = 2917,
  610. CG_FOG1 = 2918,
  611. CG_FOG2 = 2919,
  612. CG_FOG3 = 2920,
  613. CG_FOG4 = 2921,
  614. CG_FOG5 = 2922,
  615. CG_FOG6 = 2923,
  616. CG_FOG7 = 2924,
  617. CG_FOG8 = 2925,
  618. CG_FOG9 = 2926,
  619. CG_FOG10 = 2927,
  620. CG_FOG11 = 2928,
  621. CG_FOG12 = 2929,
  622. CG_FOG13 = 2930,
  623. CG_FOG14 = 2931,
  624. CG_FOG15 = 2932,
  625. CG_DEPTH0 = 2933,
  626. CG_DEPTH1 = 2934,
  627. CG_DEPTH2 = 2935,
  628. CG_DEPTH3 = 2936,
  629. CG_DEPTH4 = 2937,
  630. CG_DEPTH5 = 2938,
  631. CG_DEPTH6 = 2939,
  632. CG_DEPTH7 = 2940,
  633. CG_DEPTH8 = 2941,
  634. CG_DEPTH9 = 2942,
  635. CG_DEPTH10 = 2943,
  636. CG_DEPTH11 = 2944,
  637. CG_DEPTH12 = 2945,
  638. CG_DEPTH13 = 2946,
  639. CG_DEPTH14 = 2947,
  640. CG_DEPTH15 = 2948,
  641. CG_SAMPLE0 = 2949,
  642. CG_SAMPLE1 = 2950,
  643. CG_SAMPLE2 = 2951,
  644. CG_SAMPLE3 = 2952,
  645. CG_SAMPLE4 = 2953,
  646. CG_SAMPLE5 = 2954,
  647. CG_SAMPLE6 = 2955,
  648. CG_SAMPLE7 = 2956,
  649. CG_SAMPLE8 = 2957,
  650. CG_SAMPLE9 = 2958,
  651. CG_SAMPLE10 = 2959,
  652. CG_SAMPLE11 = 2960,
  653. CG_SAMPLE12 = 2961,
  654. CG_SAMPLE13 = 2962,
  655. CG_SAMPLE14 = 2963,
  656. CG_SAMPLE15 = 2964,
  657. CG_BLENDWEIGHT0 = 3028,
  658. CG_BLENDWEIGHT1 = 3029,
  659. CG_BLENDWEIGHT2 = 3030,
  660. CG_BLENDWEIGHT3 = 3031,
  661. CG_BLENDWEIGHT4 = 3032,
  662. CG_BLENDWEIGHT5 = 3033,
  663. CG_BLENDWEIGHT6 = 3034,
  664. CG_BLENDWEIGHT7 = 3035,
  665. CG_BLENDWEIGHT8 = 3036,
  666. CG_BLENDWEIGHT9 = 3037,
  667. CG_BLENDWEIGHT10 = 3038,
  668. CG_BLENDWEIGHT11 = 3039,
  669. CG_BLENDWEIGHT12 = 3040,
  670. CG_BLENDWEIGHT13 = 3041,
  671. CG_BLENDWEIGHT14 = 3042,
  672. CG_BLENDWEIGHT15 = 3043,
  673. CG_NORMAL0 = 3092,
  674. CG_NORMAL1 = 3093,
  675. CG_NORMAL2 = 3094,
  676. CG_NORMAL3 = 3095,
  677. CG_NORMAL4 = 3096,
  678. CG_NORMAL5 = 3097,
  679. CG_NORMAL6 = 3098,
  680. CG_NORMAL7 = 3099,
  681. CG_NORMAL8 = 3100,
  682. CG_NORMAL9 = 3101,
  683. CG_NORMAL10 = 3102,
  684. CG_NORMAL11 = 3103,
  685. CG_NORMAL12 = 3104,
  686. CG_NORMAL13 = 3105,
  687. CG_NORMAL14 = 3106,
  688. CG_NORMAL15 = 3107,
  689. CG_FOGCOORD = 3156,
  690. CG_TEXCOORD0 = 3220,
  691. CG_TEXCOORD1 = 3221,
  692. CG_TEXCOORD2 = 3222,
  693. CG_TEXCOORD3 = 3223,
  694. CG_TEXCOORD4 = 3224,
  695. CG_TEXCOORD5 = 3225,
  696. CG_TEXCOORD6 = 3226,
  697. CG_TEXCOORD7 = 3227,
  698. CG_TEXCOORD8 = 3228,
  699. CG_TEXCOORD9 = 3229,
  700. CG_TEXCOORD10 = 3230,
  701. CG_TEXCOORD11 = 3231,
  702. CG_TEXCOORD12 = 3232,
  703. CG_TEXCOORD13 = 3233,
  704. CG_TEXCOORD14 = 3234,
  705. CG_TEXCOORD15 = 3235,
  706. CG_COMBINER_CONST0 = 3284,
  707. CG_COMBINER_CONST1 = 3285,
  708. CG_COMBINER_STAGE_CONST0 = 3286,
  709. CG_COMBINER_STAGE_CONST1 = 3287,
  710. CG_OFFSET_TEXTURE_MATRIX = 3288,
  711. CG_OFFSET_TEXTURE_SCALE = 3289,
  712. CG_OFFSET_TEXTURE_BIAS = 3290,
  713. CG_CONST_EYE = 3291,
  714. CG_COVERAGE = 3292,
  715. CG_TESSFACTOR = 3255,
  716. CG_GLSL_UNIFORM = 3300,
  717. CG_GLSL_ATTRIB = 3301,
  718. CG_ENV = 3302,
  719. CG_HLSL_UNIFORM = 3559,
  720. CG_HLSL_VARYING = 3560,
  721. CG_SAMPLER_RES = 3561,
  722. CG_LASTCOL0 = 4400,
  723. CG_LASTCOL1 = 4401,
  724. CG_LASTCOL2 = 4402,
  725. CG_LASTCOL3 = 4403,
  726. CG_LASTCOL4 = 4404,
  727. CG_LASTCOL5 = 4405,
  728. CG_LASTCOL6 = 4406,
  729. CG_LASTCOL7 = 4407,
  730. CG_FACE = 4410,
  731. CG_PRIMITIVEID = 4411,
  732. CG_INSTANCEID = 4412,
  733. CG_SAMPLEID = 4413,
  734. CG_VERTEXID = 4414,
  735. CG_LAYER = 4415,
  736. CG_SAMPLEMASK = 4416,
  737. CG_CONTROLPOINTID = 4417,
  738. CG_EDGETESS = 4418,
  739. CG_INNERTESS = 4419,
  740. CG_SAMPLEPOS = 4420,
  741. CG_NUMSAMPLES = 4421,
  742. CG_UNDEFINED = 3256
  743. } CGresource;
  744. typedef enum
  745. {
  746. CG_PROFILE_UNKNOWN = 6145,
  747. CG_PROFILE_VP20 = 6146,
  748. CG_PROFILE_FP20 = 6147,
  749. CG_PROFILE_VP30 = 6148,
  750. CG_PROFILE_FP30 = 6149,
  751. CG_PROFILE_ARBVP1 = 6150,
  752. CG_PROFILE_FP40 = 6151,
  753. CG_PROFILE_ARBFP1 = 7000,
  754. CG_PROFILE_VP40 = 7001,
  755. CG_PROFILE_GLSLV = 7007, /* GLSL vertex shader */
  756. CG_PROFILE_GLSLF = 7008, /* GLSL fragment shader */
  757. CG_PROFILE_GLSLG = 7016, /* GLSL geometry shader */
  758. CG_PROFILE_GLSLC = 7009, /* Combined GLSL program */
  759. CG_PROFILE_GPU_FP = 7010, /* Deprecated alias for CG_PROFILE_GP4FP */
  760. CG_PROFILE_GPU_VP = 7011, /* Deprecated alias for CG_PROFILE_GP4VP */
  761. CG_PROFILE_GPU_GP = 7012, /* Deprecated alias for CG_PROFILE_GP4GP */
  762. CG_PROFILE_GP4FP = 7010, /* NV_gpu_program4 fragment program */
  763. CG_PROFILE_GP4VP = 7011, /* NV_gpu_program4 vertex program */
  764. CG_PROFILE_GP4GP = 7012, /* NV_gpu_program4 geometry program */
  765. CG_PROFILE_GP5FP = 7017, /* NV_gpu_program5 fragment program */
  766. CG_PROFILE_GP5VP = 7018, /* NV_gpu_program5 vertex program */
  767. CG_PROFILE_GP5GP = 7019, /* NV_gpu_program5 geometry program */
  768. CG_PROFILE_GP5TCP = 7020, /* NV_tessellation_program5 tessellation control program */
  769. CG_PROFILE_GP5TEP = 7021, /* NV_tessellation_program5 tessellation evaluation program */
  770. CG_PROFILE_VS_1_1 = 6153,
  771. CG_PROFILE_VS_2_0 = 6154,
  772. CG_PROFILE_VS_2_X = 6155,
  773. CG_PROFILE_VS_2_SW = 6156,
  774. CG_PROFILE_PS_1_1 = 6159,
  775. CG_PROFILE_PS_1_2 = 6160,
  776. CG_PROFILE_PS_1_3 = 6161,
  777. CG_PROFILE_PS_2_0 = 6162,
  778. CG_PROFILE_PS_2_X = 6163,
  779. CG_PROFILE_PS_2_SW = 6164,
  780. CG_PROFILE_VS_3_0 = 6157, /* DX9 vertex shader */
  781. CG_PROFILE_PS_3_0 = 6165, /* DX9 pixel shader */
  782. CG_PROFILE_HLSLV = 6158, /* DX9 HLSL vertex shader */
  783. CG_PROFILE_HLSLF = 6166, /* DX9 HLSL fragment shader */
  784. CG_PROFILE_VS_4_0 = 6167, /* DX10 vertex shader */
  785. CG_PROFILE_PS_4_0 = 6168, /* DX10 pixel shader */
  786. CG_PROFILE_GS_4_0 = 6169, /* DX10 geometry shader */
  787. CG_PROFILE_VS_5_0 = 6170, /* DX11 vertex shader */
  788. CG_PROFILE_PS_5_0 = 6171, /* DX11 pixel shader */
  789. CG_PROFILE_GS_5_0 = 6172, /* DX11 geometry shader */
  790. CG_PROFILE_HS_5_0 = 6173, /* DX11 hull shader (tessellation control) */
  791. CG_PROFILE_DS_5_0 = 6174, /* DX11 domain shader (tessellation evaluation) */
  792. CG_PROFILE_GENERIC = 7002
  793. } CGprofile;
  794. typedef enum
  795. {
  796. CG_NO_ERROR = 0,
  797. CG_COMPILER_ERROR = 1,
  798. CG_INVALID_PARAMETER_ERROR = 2,
  799. CG_INVALID_PROFILE_ERROR = 3,
  800. CG_PROGRAM_LOAD_ERROR = 4,
  801. CG_PROGRAM_BIND_ERROR = 5,
  802. CG_PROGRAM_NOT_LOADED_ERROR = 6,
  803. CG_UNSUPPORTED_GL_EXTENSION_ERROR = 7,
  804. CG_INVALID_VALUE_TYPE_ERROR = 8,
  805. CG_NOT_MATRIX_PARAM_ERROR = 9,
  806. CG_INVALID_ENUMERANT_ERROR = 10,
  807. CG_NOT_4x4_MATRIX_ERROR = 11,
  808. CG_FILE_READ_ERROR = 12,
  809. CG_FILE_WRITE_ERROR = 13,
  810. CG_NVPARSE_ERROR = 14,
  811. CG_MEMORY_ALLOC_ERROR = 15,
  812. CG_INVALID_CONTEXT_HANDLE_ERROR = 16,
  813. CG_INVALID_PROGRAM_HANDLE_ERROR = 17,
  814. CG_INVALID_PARAM_HANDLE_ERROR = 18,
  815. CG_UNKNOWN_PROFILE_ERROR = 19,
  816. CG_VAR_ARG_ERROR = 20,
  817. CG_INVALID_DIMENSION_ERROR = 21,
  818. CG_ARRAY_PARAM_ERROR = 22,
  819. CG_OUT_OF_ARRAY_BOUNDS_ERROR = 23,
  820. CG_CONFLICTING_TYPES_ERROR = 24,
  821. CG_CONFLICTING_PARAMETER_TYPES_ERROR = 25,
  822. CG_PARAMETER_IS_NOT_SHARED_ERROR = 26,
  823. CG_INVALID_PARAMETER_VARIABILITY_ERROR = 27,
  824. CG_CANNOT_DESTROY_PARAMETER_ERROR = 28,
  825. CG_NOT_ROOT_PARAMETER_ERROR = 29,
  826. CG_PARAMETERS_DO_NOT_MATCH_ERROR = 30,
  827. CG_IS_NOT_PROGRAM_PARAMETER_ERROR = 31,
  828. CG_INVALID_PARAMETER_TYPE_ERROR = 32,
  829. CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR = 33,
  830. CG_INVALID_SIZE_ERROR = 34,
  831. CG_BIND_CREATES_CYCLE_ERROR = 35,
  832. CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR = 36,
  833. CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR = 37,
  834. CG_ARRAY_HAS_WRONG_DIMENSION_ERROR = 38,
  835. CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR = 39,
  836. CG_INVALID_EFFECT_HANDLE_ERROR = 40,
  837. CG_INVALID_STATE_HANDLE_ERROR = 41,
  838. CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR = 42,
  839. CG_INVALID_PASS_HANDLE_ERROR = 43,
  840. CG_INVALID_ANNOTATION_HANDLE_ERROR = 44,
  841. CG_INVALID_TECHNIQUE_HANDLE_ERROR = 45,
  842. CG_INVALID_PARAMETER_HANDLE_ERROR = 46,
  843. CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR = 47,
  844. CG_INVALID_FUNCTION_HANDLE_ERROR = 48,
  845. CG_INVALID_TECHNIQUE_ERROR = 49,
  846. CG_INVALID_POINTER_ERROR = 50,
  847. CG_NOT_ENOUGH_DATA_ERROR = 51,
  848. CG_NON_NUMERIC_PARAMETER_ERROR = 52,
  849. CG_ARRAY_SIZE_MISMATCH_ERROR = 53,
  850. CG_CANNOT_SET_NON_UNIFORM_PARAMETER_ERROR = 54,
  851. CG_DUPLICATE_NAME_ERROR = 55,
  852. CG_INVALID_OBJ_HANDLE_ERROR = 56,
  853. CG_INVALID_BUFFER_HANDLE_ERROR = 57,
  854. CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR = 58,
  855. CG_BUFFER_ALREADY_MAPPED_ERROR = 59,
  856. CG_BUFFER_UPDATE_NOT_ALLOWED_ERROR = 60,
  857. CG_GLSLG_UNCOMBINED_LOAD_ERROR = 61
  858. } CGerror;
  859. typedef enum
  860. {
  861. CG_UNKNOWN = 4096,
  862. CG_IN = 4097,
  863. CG_OUT = 4098,
  864. CG_INOUT = 4099,
  865. CG_MIXED = 4100,
  866. CG_VARYING = 4101,
  867. CG_UNIFORM = 4102,
  868. CG_CONSTANT = 4103,
  869. CG_PROGRAM_SOURCE = 4104, /* cgGetProgramString */
  870. CG_PROGRAM_ENTRY = 4105, /* cgGetProgramString */
  871. CG_COMPILED_PROGRAM = 4106, /* cgGetProgramString */
  872. CG_PROGRAM_PROFILE = 4107, /* cgGetProgramString */
  873. CG_GLOBAL = 4108,
  874. CG_PROGRAM = 4109,
  875. CG_DEFAULT = 4110,
  876. CG_ERROR = 4111,
  877. CG_SOURCE = 4112,
  878. CG_OBJECT = 4113,
  879. CG_COMPILE_MANUAL = 4114,
  880. CG_COMPILE_IMMEDIATE = 4115,
  881. CG_COMPILE_LAZY = 4116,
  882. CG_CURRENT = 4117,
  883. CG_LITERAL = 4118,
  884. CG_VERSION = 4119, /* cgGetString */
  885. CG_ROW_MAJOR = 4120,
  886. CG_COLUMN_MAJOR = 4121,
  887. CG_FRAGMENT = 4122, /* cgGetProgramInput and cgGetProgramOutput */
  888. CG_VERTEX = 4123, /* cgGetProgramInput and cgGetProgramOutput */
  889. CG_POINT = 4124, /* Geometry program cgGetProgramInput */
  890. CG_LINE = 4125, /* Geometry program cgGetProgramInput */
  891. CG_LINE_ADJ = 4126, /* Geometry program cgGetProgramInput */
  892. CG_TRIANGLE = 4127, /* Geometry program cgGetProgramInput */
  893. CG_TRIANGLE_ADJ = 4128, /* Geometry program cgGetProgramInput */
  894. CG_POINT_OUT = 4129, /* Geometry program cgGetProgramOutput */
  895. CG_LINE_OUT = 4130, /* Geometry program cgGetProgramOutput */
  896. CG_TRIANGLE_OUT = 4131, /* Geometry program cgGetProgramOutput */
  897. CG_IMMEDIATE_PARAMETER_SETTING = 4132,
  898. CG_DEFERRED_PARAMETER_SETTING = 4133,
  899. CG_NO_LOCKS_POLICY = 4134,
  900. CG_THREAD_SAFE_POLICY = 4135,
  901. CG_FORCE_UPPER_CASE_POLICY = 4136,
  902. CG_UNCHANGED_CASE_POLICY = 4137,
  903. CG_IS_OPENGL_PROFILE = 4138,
  904. CG_IS_DIRECT3D_PROFILE = 4139,
  905. CG_IS_DIRECT3D_8_PROFILE = 4140,
  906. CG_IS_DIRECT3D_9_PROFILE = 4141,
  907. CG_IS_DIRECT3D_10_PROFILE = 4142,
  908. CG_IS_VERTEX_PROFILE = 4143,
  909. CG_IS_FRAGMENT_PROFILE = 4144,
  910. CG_IS_GEOMETRY_PROFILE = 4145,
  911. CG_IS_TRANSLATION_PROFILE = 4146,
  912. CG_IS_HLSL_PROFILE = 4147,
  913. CG_IS_GLSL_PROFILE = 4148,
  914. CG_IS_TESSELLATION_CONTROL_PROFILE = 4149,
  915. CG_IS_TESSELLATION_EVALUATION_PROFILE = 4150,
  916. CG_PATCH = 4152, /* cgGetProgramInput and cgGetProgramOutput */
  917. CG_IS_DIRECT3D_11_PROFILE = 4153
  918. } CGenum;
  919. typedef enum
  920. {
  921. CG_PARAMETERCLASS_UNKNOWN = 0,
  922. CG_PARAMETERCLASS_SCALAR = 1,
  923. CG_PARAMETERCLASS_VECTOR = 2,
  924. CG_PARAMETERCLASS_MATRIX = 3,
  925. CG_PARAMETERCLASS_STRUCT = 4,
  926. CG_PARAMETERCLASS_ARRAY = 5,
  927. CG_PARAMETERCLASS_SAMPLER = 6,
  928. CG_PARAMETERCLASS_OBJECT = 7,
  929. CG_PARAMETERCLASS_BUFFER = 8
  930. } CGparameterclass;
  931. typedef enum
  932. {
  933. CG_UNKNOWN_DOMAIN = 0,
  934. CG_FIRST_DOMAIN = 1,
  935. CG_VERTEX_DOMAIN = 1,
  936. CG_FRAGMENT_DOMAIN = 2,
  937. CG_GEOMETRY_DOMAIN = 3,
  938. CG_TESSELLATION_CONTROL_DOMAIN = 4,
  939. CG_TESSELLATION_EVALUATION_DOMAIN = 5
  940. } CGdomain;
  941. typedef enum
  942. {
  943. CG_MAP_READ = 0,
  944. CG_MAP_WRITE = 1,
  945. CG_MAP_READ_WRITE = 2,
  946. CG_MAP_WRITE_DISCARD = 3,
  947. CG_MAP_WRITE_NO_OVERWRITE = 4
  948. } CGbufferaccess;
  949. typedef enum
  950. {
  951. CG_BUFFER_USAGE_STREAM_DRAW = 0,
  952. CG_BUFFER_USAGE_STREAM_READ = 1,
  953. CG_BUFFER_USAGE_STREAM_COPY = 2,
  954. CG_BUFFER_USAGE_STATIC_DRAW = 3,
  955. CG_BUFFER_USAGE_STATIC_READ = 4,
  956. CG_BUFFER_USAGE_STATIC_COPY = 5,
  957. CG_BUFFER_USAGE_DYNAMIC_DRAW = 6,
  958. CG_BUFFER_USAGE_DYNAMIC_READ = 7,
  959. CG_BUFFER_USAGE_DYNAMIC_COPY = 8
  960. } CGbufferusage;
  961. #ifdef __cplusplus
  962. extern "C"
  963. {
  964. #endif
  965. typedef CGbool (CGENTRY * CGstatecallback)(CGstateassignment);
  966. typedef void (CGENTRY * CGerrorCallbackFunc)(void);
  967. typedef void (CGENTRY * CGerrorHandlerFunc)(CGcontext, CGerror, void *);
  968. typedef void (CGENTRY * CGIncludeCallbackFunc)(CGcontext, const char *);
  969. /*************************************************************************/
  970. /*** Functions ***/
  971. /*************************************************************************/
  972. #ifndef CG_EXPLICIT
  973. CG_API CGenum CGENTRY cgSetLockingPolicy(CGenum lockingPolicy);
  974. CG_API CGenum CGENTRY cgGetLockingPolicy(void);
  975. CG_API CGenum CGENTRY cgSetSemanticCasePolicy(CGenum casePolicy);
  976. CG_API CGenum CGENTRY cgGetSemanticCasePolicy(void);
  977. CG_API CGcontext CGENTRY cgCreateContext(void);
  978. CG_API void CGENTRY cgSetContextBehavior(CGcontext context, CGbehavior behavior);
  979. CG_API CGbehavior CGENTRY cgGetContextBehavior(CGcontext context);
  980. CG_API const char * CGENTRY cgGetBehaviorString(CGbehavior behavior);
  981. CG_API CGbehavior CGENTRY cgGetBehavior(const char *behavior_string);
  982. CG_API void CGENTRY cgDestroyContext(CGcontext context);
  983. CG_API CGbool CGENTRY cgIsContext(CGcontext context);
  984. CG_API const char * CGENTRY cgGetLastListing(CGcontext context);
  985. CG_API void CGENTRY cgSetLastListing(CGhandle handle, const char *listing);
  986. CG_API void CGENTRY cgSetAutoCompile(CGcontext context, CGenum autoCompileMode);
  987. CG_API CGenum CGENTRY cgGetAutoCompile(CGcontext context);
  988. CG_API void CGENTRY cgSetParameterSettingMode(CGcontext context, CGenum parameterSettingMode);
  989. CG_API CGenum CGENTRY cgGetParameterSettingMode(CGcontext context);
  990. CG_API void CGENTRY cgSetCompilerIncludeString(CGcontext context, const char *name, const char *source);
  991. CG_API void CGENTRY cgSetCompilerIncludeFile(CGcontext context, const char *name, const char *filename);
  992. CG_API void CGENTRY cgSetCompilerIncludeCallback(CGcontext context, CGIncludeCallbackFunc func);
  993. CG_API CGIncludeCallbackFunc CGENTRY cgGetCompilerIncludeCallback(CGcontext context);
  994. CG_API CGprogram CGENTRY cgCreateProgram(CGcontext context, CGenum program_type, const char *program, CGprofile profile, const char *entry, const char **args);
  995. CG_API CGprogram CGENTRY cgCreateProgramFromFile(CGcontext context, CGenum program_type, const char *program_file, CGprofile profile, const char *entry, const char **args);
  996. CG_API CGprogram CGENTRY cgCopyProgram(CGprogram program);
  997. CG_API void CGENTRY cgDestroyProgram(CGprogram program);
  998. CG_API CGprogram CGENTRY cgGetFirstProgram(CGcontext context);
  999. CG_API CGprogram CGENTRY cgGetNextProgram(CGprogram current);
  1000. CG_API CGcontext CGENTRY cgGetProgramContext(CGprogram program);
  1001. CG_API CGbool CGENTRY cgIsProgram(CGprogram program);
  1002. CG_API void CGENTRY cgCompileProgram(CGprogram program);
  1003. CG_API CGbool CGENTRY cgIsProgramCompiled(CGprogram program);
  1004. CG_API const char * CGENTRY cgGetProgramString(CGprogram program, CGenum pname);
  1005. CG_API CGprofile CGENTRY cgGetProgramProfile(CGprogram program);
  1006. CG_API char const * const * CGENTRY cgGetProgramOptions(CGprogram program);
  1007. CG_API void CGENTRY cgSetProgramProfile(CGprogram program, CGprofile profile);
  1008. CG_API CGenum CGENTRY cgGetProgramInput(CGprogram program);
  1009. CG_API CGenum CGENTRY cgGetProgramOutput(CGprogram program);
  1010. CG_API int CGENTRY cgGetProgramOutputVertices(CGprogram program);
  1011. CG_API void CGENTRY cgSetProgramOutputVertices(CGprogram program, int vertices);
  1012. CG_API void CGENTRY cgSetPassProgramParameters(CGprogram program);
  1013. CG_API void CGENTRY cgUpdateProgramParameters(CGprogram program);
  1014. CG_API void CGENTRY cgUpdatePassParameters(CGpass pass);
  1015. CG_API CGparameter CGENTRY cgCreateParameter(CGcontext context, CGtype type);
  1016. CG_API CGparameter CGENTRY cgCreateParameterArray(CGcontext context, CGtype type, int length);
  1017. CG_API CGparameter CGENTRY cgCreateParameterMultiDimArray(CGcontext context, CGtype type, int dim, const int *lengths);
  1018. CG_API void CGENTRY cgDestroyParameter(CGparameter param);
  1019. CG_API void CGENTRY cgConnectParameter(CGparameter from, CGparameter to);
  1020. CG_API void CGENTRY cgDisconnectParameter(CGparameter param);
  1021. CG_API CGparameter CGENTRY cgGetConnectedParameter(CGparameter param);
  1022. CG_API int CGENTRY cgGetNumConnectedToParameters(CGparameter param);
  1023. CG_API CGparameter CGENTRY cgGetConnectedToParameter(CGparameter param, int index);
  1024. CG_API CGparameter CGENTRY cgGetNamedParameter(CGprogram program, const char *name);
  1025. CG_API CGparameter CGENTRY cgGetNamedProgramParameter(CGprogram program, CGenum name_space, const char *name);
  1026. CG_API CGparameter CGENTRY cgGetNamedProgramUniformBuffer(CGprogram program, const char *blockName);
  1027. CG_API CGparameter CGENTRY cgGetNamedEffectUniformBuffer(CGeffect effect, const char *blockName);
  1028. CG_API const char * CGENTRY cgGetUniformBufferBlockName(CGparameter param);
  1029. CG_API CGparameter CGENTRY cgGetFirstParameter(CGprogram program, CGenum name_space);
  1030. CG_API CGparameter CGENTRY cgGetNextParameter(CGparameter current);
  1031. CG_API CGparameter CGENTRY cgGetFirstLeafParameter(CGprogram program, CGenum name_space);
  1032. CG_API CGparameter CGENTRY cgGetNextLeafParameter(CGparameter current);
  1033. CG_API CGparameter CGENTRY cgGetFirstStructParameter(CGparameter param);
  1034. CG_API CGparameter CGENTRY cgGetFirstUniformBufferParameter(CGparameter param);
  1035. CG_API CGparameter CGENTRY cgGetNamedStructParameter(CGparameter param, const char *name);
  1036. CG_API CGparameter CGENTRY cgGetNamedUniformBufferParameter(CGparameter param, const char *name);
  1037. CG_API CGparameter CGENTRY cgGetFirstDependentParameter(CGparameter param);
  1038. CG_API CGparameter CGENTRY cgGetArrayParameter(CGparameter aparam, int index);
  1039. CG_API int CGENTRY cgGetArrayDimension(CGparameter param);
  1040. CG_API CGtype CGENTRY cgGetArrayType(CGparameter param);
  1041. CG_API int CGENTRY cgGetArraySize(CGparameter param, int dimension);
  1042. CG_API int CGENTRY cgGetArrayTotalSize(CGparameter param);
  1043. CG_API void CGENTRY cgSetArraySize(CGparameter param, int size);
  1044. CG_API void CGENTRY cgSetMultiDimArraySize(CGparameter param, const int *sizes);
  1045. CG_API CGprogram CGENTRY cgGetParameterProgram(CGparameter param);
  1046. CG_API CGcontext CGENTRY cgGetParameterContext(CGparameter param);
  1047. CG_API CGbool CGENTRY cgIsParameter(CGparameter param);
  1048. CG_API const char * CGENTRY cgGetParameterName(CGparameter param);
  1049. CG_API CGtype CGENTRY cgGetParameterType(CGparameter param);
  1050. CG_API CGtype CGENTRY cgGetParameterBaseType(CGparameter param);
  1051. CG_API CGparameterclass CGENTRY cgGetParameterClass(CGparameter param);
  1052. CG_API int CGENTRY cgGetParameterRows(CGparameter param);
  1053. CG_API int CGENTRY cgGetParameterColumns(CGparameter param);
  1054. CG_API CGtype CGENTRY cgGetParameterNamedType(CGparameter param);
  1055. CG_API const char * CGENTRY cgGetParameterSemantic(CGparameter param);
  1056. CG_API CGresource CGENTRY cgGetParameterResource(CGparameter param);
  1057. CG_API CGresource CGENTRY cgGetParameterBaseResource(CGparameter param);
  1058. CG_API unsigned long CGENTRY cgGetParameterResourceIndex(CGparameter param);
  1059. CG_API CGenum CGENTRY cgGetParameterVariability(CGparameter param);
  1060. CG_API CGenum CGENTRY cgGetParameterDirection(CGparameter param);
  1061. CG_API CGbool CGENTRY cgIsParameterReferenced(CGparameter param);
  1062. CG_API CGbool CGENTRY cgIsParameterUsed(CGparameter param, CGhandle handle);
  1063. CG_API const double * CGENTRY cgGetParameterValues(CGparameter param, CGenum value_type, int *nvalues);
  1064. CG_API void CGENTRY cgSetParameterValuedr(CGparameter param, int nelements, const double *vals);
  1065. CG_API void CGENTRY cgSetParameterValuedc(CGparameter param, int nelements, const double *vals);
  1066. CG_API void CGENTRY cgSetParameterValuefr(CGparameter param, int nelements, const float *vals);
  1067. CG_API void CGENTRY cgSetParameterValuefc(CGparameter param, int nelements, const float *vals);
  1068. CG_API void CGENTRY cgSetParameterValueir(CGparameter param, int nelements, const int *vals);
  1069. CG_API void CGENTRY cgSetParameterValueic(CGparameter param, int nelements, const int *vals);
  1070. CG_API int CGENTRY cgGetParameterValuedr(CGparameter param, int nelements, double *vals);
  1071. CG_API int CGENTRY cgGetParameterValuedc(CGparameter param, int nelements, double *vals);
  1072. CG_API int CGENTRY cgGetParameterValuefr(CGparameter param, int nelements, float *vals);
  1073. CG_API int CGENTRY cgGetParameterValuefc(CGparameter param, int nelements, float *vals);
  1074. CG_API int CGENTRY cgGetParameterValueir(CGparameter param, int nelements, int *vals);
  1075. CG_API int CGENTRY cgGetParameterValueic(CGparameter param, int nelements, int *vals);
  1076. CG_API int CGENTRY cgGetParameterDefaultValuedr(CGparameter param, int nelements, double *vals);
  1077. CG_API int CGENTRY cgGetParameterDefaultValuedc(CGparameter param, int nelements, double *vals);
  1078. CG_API int CGENTRY cgGetParameterDefaultValuefr(CGparameter param, int nelements, float *vals);
  1079. CG_API int CGENTRY cgGetParameterDefaultValuefc(CGparameter param, int nelements, float *vals);
  1080. CG_API int CGENTRY cgGetParameterDefaultValueir(CGparameter param, int nelements, int *vals);
  1081. CG_API int CGENTRY cgGetParameterDefaultValueic(CGparameter param, int nelements, int *vals);
  1082. CG_API const char * CGENTRY cgGetStringParameterValue(CGparameter param);
  1083. CG_API void CGENTRY cgSetStringParameterValue(CGparameter param, const char *str);
  1084. CG_API int CGENTRY cgGetParameterOrdinalNumber(CGparameter param);
  1085. CG_API CGbool CGENTRY cgIsParameterGlobal(CGparameter param);
  1086. CG_API int CGENTRY cgGetParameterIndex(CGparameter param);
  1087. CG_API void CGENTRY cgSetParameterVariability(CGparameter param, CGenum vary);
  1088. CG_API void CGENTRY cgSetParameterSemantic(CGparameter param, const char *semantic);
  1089. CG_API void CGENTRY cgSetParameter1f(CGparameter param, float x);
  1090. CG_API void CGENTRY cgSetParameter2f(CGparameter param, float x, float y);
  1091. CG_API void CGENTRY cgSetParameter3f(CGparameter param, float x, float y, float z);
  1092. CG_API void CGENTRY cgSetParameter4f(CGparameter param, float x, float y, float z, float w);
  1093. CG_API void CGENTRY cgSetParameter1d(CGparameter param, double x);
  1094. CG_API void CGENTRY cgSetParameter2d(CGparameter param, double x, double y);
  1095. CG_API void CGENTRY cgSetParameter3d(CGparameter param, double x, double y, double z);
  1096. CG_API void CGENTRY cgSetParameter4d(CGparameter param, double x, double y, double z, double w);
  1097. CG_API void CGENTRY cgSetParameter1i(CGparameter param, int x);
  1098. CG_API void CGENTRY cgSetParameter2i(CGparameter param, int x, int y);
  1099. CG_API void CGENTRY cgSetParameter3i(CGparameter param, int x, int y, int z);
  1100. CG_API void CGENTRY cgSetParameter4i(CGparameter param, int x, int y, int z, int w);
  1101. CG_API void CGENTRY cgSetParameter1iv(CGparameter param, const int *v);
  1102. CG_API void CGENTRY cgSetParameter2iv(CGparameter param, const int *v);
  1103. CG_API void CGENTRY cgSetParameter3iv(CGparameter param, const int *v);
  1104. CG_API void CGENTRY cgSetParameter4iv(CGparameter param, const int *v);
  1105. CG_API void CGENTRY cgSetParameter1fv(CGparameter param, const float *v);
  1106. CG_API void CGENTRY cgSetParameter2fv(CGparameter param, const float *v);
  1107. CG_API void CGENTRY cgSetParameter3fv(CGparameter param, const float *v);
  1108. CG_API void CGENTRY cgSetParameter4fv(CGparameter param, const float *v);
  1109. CG_API void CGENTRY cgSetParameter1dv(CGparameter param, const double *v);
  1110. CG_API void CGENTRY cgSetParameter2dv(CGparameter param, const double *v);
  1111. CG_API void CGENTRY cgSetParameter3dv(CGparameter param, const double *v);
  1112. CG_API void CGENTRY cgSetParameter4dv(CGparameter param, const double *v);
  1113. CG_API void CGENTRY cgSetMatrixParameterir(CGparameter param, const int *matrix);
  1114. CG_API void CGENTRY cgSetMatrixParameterdr(CGparameter param, const double *matrix);
  1115. CG_API void CGENTRY cgSetMatrixParameterfr(CGparameter param, const float *matrix);
  1116. CG_API void CGENTRY cgSetMatrixParameteric(CGparameter param, const int *matrix);
  1117. CG_API void CGENTRY cgSetMatrixParameterdc(CGparameter param, const double *matrix);
  1118. CG_API void CGENTRY cgSetMatrixParameterfc(CGparameter param, const float *matrix);
  1119. CG_API void CGENTRY cgGetMatrixParameterir(CGparameter param, int *matrix);
  1120. CG_API void CGENTRY cgGetMatrixParameterdr(CGparameter param, double *matrix);
  1121. CG_API void CGENTRY cgGetMatrixParameterfr(CGparameter param, float *matrix);
  1122. CG_API void CGENTRY cgGetMatrixParameteric(CGparameter param, int *matrix);
  1123. CG_API void CGENTRY cgGetMatrixParameterdc(CGparameter param, double *matrix);
  1124. CG_API void CGENTRY cgGetMatrixParameterfc(CGparameter param, float *matrix);
  1125. CG_API CGenum CGENTRY cgGetMatrixParameterOrder(CGparameter param);
  1126. CG_API CGparameter CGENTRY cgGetNamedSubParameter(CGparameter param, const char *name);
  1127. CG_API const char * CGENTRY cgGetTypeString(CGtype type);
  1128. CG_API CGtype CGENTRY cgGetType(const char *type_string);
  1129. CG_API CGtype CGENTRY cgGetNamedUserType(CGhandle handle, const char *name);
  1130. CG_API int CGENTRY cgGetNumUserTypes(CGhandle handle);
  1131. CG_API CGtype CGENTRY cgGetUserType(CGhandle handle, int index);
  1132. CG_API int CGENTRY cgGetNumParentTypes(CGtype type);
  1133. CG_API CGtype CGENTRY cgGetParentType(CGtype type, int index);
  1134. CG_API CGbool CGENTRY cgIsParentType(CGtype parent, CGtype child);
  1135. CG_API CGbool CGENTRY cgIsInterfaceType(CGtype type);
  1136. CG_API const char * CGENTRY cgGetResourceString(CGresource resource);
  1137. CG_API CGresource CGENTRY cgGetResource(const char *resource_string);
  1138. CG_API const char * CGENTRY cgGetEnumString(CGenum en);
  1139. CG_API CGenum CGENTRY cgGetEnum(const char *enum_string);
  1140. CG_API const char * CGENTRY cgGetProfileString(CGprofile profile);
  1141. CG_API CGprofile CGENTRY cgGetProfile(const char *profile_string);
  1142. CG_API int CGENTRY cgGetNumSupportedProfiles(void);
  1143. CG_API CGprofile CGENTRY cgGetSupportedProfile(int index);
  1144. CG_API CGbool CGENTRY cgIsProfileSupported(CGprofile profile);
  1145. CG_API CGbool CGENTRY cgGetProfileProperty(CGprofile profile, CGenum query);
  1146. CG_API const char * CGENTRY cgGetParameterClassString(CGparameterclass pc);
  1147. CG_API CGparameterclass CGENTRY cgGetParameterClassEnum(const char *pString);
  1148. CG_API const char * CGENTRY cgGetDomainString(CGdomain domain);
  1149. CG_API CGdomain CGENTRY cgGetDomain(const char *domain_string);
  1150. CG_API CGdomain CGENTRY cgGetProgramDomain(CGprogram program);
  1151. CG_API CGerror CGENTRY cgGetError(void);
  1152. CG_API CGerror CGENTRY cgGetFirstError(void);
  1153. CG_API const char * CGENTRY cgGetErrorString(CGerror error);
  1154. CG_API const char * CGENTRY cgGetLastErrorString(CGerror *error);
  1155. CG_API void CGENTRY cgSetErrorCallback(CGerrorCallbackFunc func);
  1156. CG_API CGerrorCallbackFunc CGENTRY cgGetErrorCallback(void);
  1157. CG_API void CGENTRY cgSetErrorHandler(CGerrorHandlerFunc func, void *data);
  1158. CG_API CGerrorHandlerFunc CGENTRY cgGetErrorHandler(void **data);
  1159. CG_API const char * CGENTRY cgGetString(CGenum sname);
  1160. CG_API CGeffect CGENTRY cgCreateEffect(CGcontext context, const char *code, const char **args);
  1161. CG_API CGeffect CGENTRY cgCreateEffectFromFile(CGcontext context, const char *filename, const char **args);
  1162. CG_API CGeffect CGENTRY cgCopyEffect(CGeffect effect);
  1163. CG_API void CGENTRY cgDestroyEffect(CGeffect effect);
  1164. CG_API CGcontext CGENTRY cgGetEffectContext(CGeffect effect);
  1165. CG_API CGbool CGENTRY cgIsEffect(CGeffect effect);
  1166. CG_API CGeffect CGENTRY cgGetFirstEffect(CGcontext context);
  1167. CG_API CGeffect CGENTRY cgGetNextEffect(CGeffect effect);
  1168. CG_API CGprogram CGENTRY cgCreateProgramFromEffect(CGeffect effect, CGprofile profile, const char *entry, const char **args);
  1169. CG_API CGtechnique CGENTRY cgGetFirstTechnique(CGeffect effect);
  1170. CG_API CGtechnique CGENTRY cgGetNextTechnique(CGtechnique tech);
  1171. CG_API CGtechnique CGENTRY cgGetNamedTechnique(CGeffect effect, const char *name);
  1172. CG_API const char * CGENTRY cgGetTechniqueName(CGtechnique tech);
  1173. CG_API CGbool CGENTRY cgIsTechnique(CGtechnique tech);
  1174. CG_API CGbool CGENTRY cgValidateTechnique(CGtechnique tech);
  1175. CG_API CGbool CGENTRY cgIsTechniqueValidated(CGtechnique tech);
  1176. CG_API CGeffect CGENTRY cgGetTechniqueEffect(CGtechnique tech);
  1177. CG_API CGpass CGENTRY cgGetFirstPass(CGtechnique tech);
  1178. CG_API CGpass CGENTRY cgGetNamedPass(CGtechnique tech, const char *name);
  1179. CG_API CGpass CGENTRY cgGetNextPass(CGpass pass);
  1180. CG_API CGbool CGENTRY cgIsPass(CGpass pass);
  1181. CG_API const char * CGENTRY cgGetPassName(CGpass pass);
  1182. CG_API CGtechnique CGENTRY cgGetPassTechnique(CGpass pass);
  1183. CG_API CGprogram CGENTRY cgGetPassProgram(CGpass pass, CGdomain domain);
  1184. CG_API void CGENTRY cgSetPassState(CGpass pass);
  1185. CG_API void CGENTRY cgResetPassState(CGpass pass);
  1186. CG_API CGstateassignment CGENTRY cgGetFirstStateAssignment(CGpass pass);
  1187. CG_API CGstateassignment CGENTRY cgGetNamedStateAssignment(CGpass pass, const char *name);
  1188. CG_API CGstateassignment CGENTRY cgGetNextStateAssignment(CGstateassignment sa);
  1189. CG_API CGbool CGENTRY cgIsStateAssignment(CGstateassignment sa);
  1190. CG_API CGbool CGENTRY cgCallStateSetCallback(CGstateassignment sa);
  1191. CG_API CGbool CGENTRY cgCallStateValidateCallback(CGstateassignment sa);
  1192. CG_API CGbool CGENTRY cgCallStateResetCallback(CGstateassignment sa);
  1193. CG_API CGpass CGENTRY cgGetStateAssignmentPass(CGstateassignment sa);
  1194. CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentParameter(CGstateassignment sa);
  1195. CG_API const float * CGENTRY cgGetFloatStateAssignmentValues(CGstateassignment sa, int *nvalues);
  1196. CG_API const int * CGENTRY cgGetIntStateAssignmentValues(CGstateassignment sa, int *nvalues);
  1197. CG_API const CGbool * CGENTRY cgGetBoolStateAssignmentValues(CGstateassignment sa, int *nvalues);
  1198. CG_API const char * CGENTRY cgGetStringStateAssignmentValue(CGstateassignment sa);
  1199. CG_API CGprogram CGENTRY cgGetProgramStateAssignmentValue(CGstateassignment sa);
  1200. CG_API CGparameter CGENTRY cgGetTextureStateAssignmentValue(CGstateassignment sa);
  1201. CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentValue(CGstateassignment sa);
  1202. CG_API int CGENTRY cgGetStateAssignmentIndex(CGstateassignment sa);
  1203. CG_API int CGENTRY cgGetNumDependentStateAssignmentParameters(CGstateassignment sa);
  1204. CG_API CGparameter CGENTRY cgGetDependentStateAssignmentParameter(CGstateassignment sa, int index);
  1205. CG_API int CGENTRY cgGetNumDependentProgramArrayStateAssignmentParameters(CGstateassignment sa);
  1206. CG_API CGparameter CGENTRY cgGetDependentProgramArrayStateAssignmentParameter(CGstateassignment sa, int index);
  1207. CG_API CGparameter CGENTRY cgGetConnectedStateAssignmentParameter(CGstateassignment sa);
  1208. CG_API CGstate CGENTRY cgGetStateAssignmentState(CGstateassignment sa);
  1209. CG_API CGstate CGENTRY cgGetSamplerStateAssignmentState(CGstateassignment sa);
  1210. CG_API CGstate CGENTRY cgCreateState(CGcontext context, const char *name, CGtype type);
  1211. CG_API CGstate CGENTRY cgCreateArrayState(CGcontext context, const char *name, CGtype type, int nelements);
  1212. CG_API void CGENTRY cgSetStateCallbacks(CGstate state, CGstatecallback set, CGstatecallback reset, CGstatecallback validate);
  1213. CG_API void CGENTRY cgSetStateLatestProfile(CGstate state, CGprofile profile);
  1214. CG_API CGstatecallback CGENTRY cgGetStateSetCallback(CGstate state);
  1215. CG_API CGstatecallback CGENTRY cgGetStateResetCallback(CGstate state);
  1216. CG_API CGstatecallback CGENTRY cgGetStateValidateCallback(CGstate state);
  1217. CG_API CGprofile CGENTRY cgGetStateLatestProfile(CGstate state);
  1218. CG_API CGcontext CGENTRY cgGetStateContext(CGstate state);
  1219. CG_API CGtype CGENTRY cgGetStateType(CGstate state);
  1220. CG_API const char * CGENTRY cgGetStateName(CGstate state);
  1221. CG_API CGstate CGENTRY cgGetNamedState(CGcontext context, const char *name);
  1222. CG_API CGstate CGENTRY cgGetFirstState(CGcontext context);
  1223. CG_API CGstate CGENTRY cgGetNextState(CGstate state);
  1224. CG_API CGbool CGENTRY cgIsState(CGstate state);
  1225. CG_API void CGENTRY cgAddStateEnumerant(CGstate state, const char *name, int value);
  1226. CG_API CGstate CGENTRY cgCreateSamplerState(CGcontext context, const char *name, CGtype type);
  1227. CG_API CGstate CGENTRY cgCreateArraySamplerState(CGcontext context, const char *name, CGtype type, int nelements);
  1228. CG_API CGstate CGENTRY cgGetNamedSamplerState(CGcontext context, const char *name);
  1229. CG_API CGstate CGENTRY cgGetFirstSamplerState(CGcontext context);
  1230. CG_API CGstateassignment CGENTRY cgGetFirstSamplerStateAssignment(CGparameter param);
  1231. CG_API CGstateassignment CGENTRY cgGetNamedSamplerStateAssignment(CGparameter param, const char *name);
  1232. CG_API void CGENTRY cgSetSamplerState(CGparameter param);
  1233. CG_API CGparameter CGENTRY cgGetNamedEffectParameter(CGeffect effect, const char *name);
  1234. CG_API CGparameter CGENTRY cgGetFirstLeafEffectParameter(CGeffect effect);
  1235. CG_API CGparameter CGENTRY cgGetFirstEffectParameter(CGeffect effect);
  1236. CG_API CGparameter CGENTRY cgGetEffectParameterBySemantic(CGeffect effect, const char *semantic);
  1237. CG_API CGannotation CGENTRY cgGetFirstTechniqueAnnotation(CGtechnique tech);
  1238. CG_API CGannotation CGENTRY cgGetFirstPassAnnotation(CGpass pass);
  1239. CG_API CGannotation CGENTRY cgGetFirstParameterAnnotation(CGparameter param);
  1240. CG_API CGannotation CGENTRY cgGetFirstProgramAnnotation(CGprogram program);
  1241. CG_API CGannotation CGENTRY cgGetFirstEffectAnnotation(CGeffect effect);
  1242. CG_API CGannotation CGENTRY cgGetNextAnnotation(CGannotation ann);
  1243. CG_API CGannotation CGENTRY cgGetNamedTechniqueAnnotation(CGtechnique tech, const char *name);
  1244. CG_API CGannotation CGENTRY cgGetNamedPassAnnotation(CGpass pass, const char *name);
  1245. CG_API CGannotation CGENTRY cgGetNamedParameterAnnotation(CGparameter param, const char *name);
  1246. CG_API CGannotation CGENTRY cgGetNamedProgramAnnotation(CGprogram program, const char *name);
  1247. CG_API CGannotation CGENTRY cgGetNamedEffectAnnotation(CGeffect effect, const char *name);
  1248. CG_API CGbool CGENTRY cgIsAnnotation(CGannotation ann);
  1249. CG_API const char * CGENTRY cgGetAnnotationName(CGannotation ann);
  1250. CG_API CGtype CGENTRY cgGetAnnotationType(CGannotation ann);
  1251. CG_API const float * CGENTRY cgGetFloatAnnotationValues(CGannotation ann, int *nvalues);
  1252. CG_API const int * CGENTRY cgGetIntAnnotationValues(CGannotation ann, int *nvalues);
  1253. CG_API const char * CGENTRY cgGetStringAnnotationValue(CGannotation ann);
  1254. CG_API const char * const * CGENTRY cgGetStringAnnotationValues(CGannotation ann, int *nvalues);
  1255. CG_API const CGbool * CGENTRY cgGetBoolAnnotationValues(CGannotation ann, int *nvalues);
  1256. CG_API const int * CGENTRY cgGetBooleanAnnotationValues(CGannotation ann, int *nvalues);
  1257. CG_API int CGENTRY cgGetNumDependentAnnotationParameters(CGannotation ann);
  1258. CG_API CGparameter CGENTRY cgGetDependentAnnotationParameter(CGannotation ann, int index);
  1259. CG_API void CGENTRY cgEvaluateProgram(CGprogram program, float *buf, int ncomps, int nx, int ny, int nz);
  1260. CG_API CGbool CGENTRY cgSetEffectName(CGeffect effect, const char *name);
  1261. CG_API const char * CGENTRY cgGetEffectName(CGeffect effect);
  1262. CG_API CGeffect CGENTRY cgGetNamedEffect(CGcontext context, const char *name);
  1263. CG_API CGparameter CGENTRY cgCreateEffectParameter(CGeffect effect, const char *name, CGtype type);
  1264. CG_API CGtechnique CGENTRY cgCreateTechnique(CGeffect effect, const char *name);
  1265. CG_API CGparameter CGENTRY cgCreateEffectParameterArray(CGeffect effect, const char *name, CGtype type, int length);
  1266. CG_API CGparameter CGENTRY cgCreateEffectParameterMultiDimArray(CGeffect effect, const char *name, CGtype type, int dim, const int *lengths);
  1267. CG_API CGpass CGENTRY cgCreatePass(CGtechnique tech, const char *name);
  1268. CG_API CGstateassignment CGENTRY cgCreateStateAssignment(CGpass pass, CGstate state);
  1269. CG_API CGstateassignment CGENTRY cgCreateStateAssignmentIndex(CGpass pass, CGstate state, int index);
  1270. CG_API CGstateassignment CGENTRY cgCreateSamplerStateAssignment(CGparameter param, CGstate state);
  1271. CG_API CGbool CGENTRY cgSetFloatStateAssignment(CGstateassignment sa, float value);
  1272. CG_API CGbool CGENTRY cgSetIntStateAssignment(CGstateassignment sa, int value);
  1273. CG_API CGbool CGENTRY cgSetBoolStateAssignment(CGstateassignment sa, CGbool value);
  1274. CG_API CGbool CGENTRY cgSetStringStateAssignment(CGstateassignment sa, const char *value);
  1275. CG_API CGbool CGENTRY cgSetProgramStateAssignment(CGstateassignment sa, CGprogram program);
  1276. CG_API CGbool CGENTRY cgSetSamplerStateAssignment(CGstateassignment sa, CGparameter param);
  1277. CG_API CGbool CGENTRY cgSetTextureStateAssignment(CGstateassignment sa, CGparameter param);
  1278. CG_API CGbool CGENTRY cgSetFloatArrayStateAssignment(CGstateassignment sa, const float *vals);
  1279. CG_API CGbool CGENTRY cgSetIntArrayStateAssignment(CGstateassignment sa, const int *vals);
  1280. CG_API CGbool CGENTRY cgSetBoolArrayStateAssignment(CGstateassignment sa, const CGbool *vals);
  1281. CG_API CGannotation CGENTRY cgCreateTechniqueAnnotation(CGtechnique tech, const char *name, CGtype type);
  1282. CG_API CGannotation CGENTRY cgCreatePassAnnotation(CGpass pass, const char *name, CGtype type);
  1283. CG_API CGannotation CGENTRY cgCreateParameterAnnotation(CGparameter param, const char *name, CGtype type);
  1284. CG_API CGannotation CGENTRY cgCreateProgramAnnotation(CGprogram program, const char *name, CGtype type);
  1285. CG_API CGannotation CGENTRY cgCreateEffectAnnotation(CGeffect effect, const char *name, CGtype type);
  1286. CG_API CGbool CGENTRY cgSetIntAnnotation(CGannotation ann, int value);
  1287. CG_API CGbool CGENTRY cgSetFloatAnnotation(CGannotation ann, float value);
  1288. CG_API CGbool CGENTRY cgSetBoolAnnotation(CGannotation ann, CGbool value);
  1289. CG_API CGbool CGENTRY cgSetStringAnnotation(CGannotation ann, const char *value);
  1290. CG_API int CGENTRY cgGetNumStateEnumerants(CGstate state);
  1291. CG_API const char * CGENTRY cgGetStateEnumerant(CGstate state, int index, int *value);
  1292. CG_API const char * CGENTRY cgGetStateEnumerantName(CGstate state, int value);
  1293. CG_API int CGENTRY cgGetStateEnumerantValue(CGstate state, const char *name);
  1294. CG_API CGeffect CGENTRY cgGetParameterEffect(CGparameter param);
  1295. CG_API CGparameterclass CGENTRY cgGetTypeClass(CGtype type);
  1296. CG_API CGtype CGENTRY cgGetTypeBase(CGtype type);
  1297. CG_API CGbool CGENTRY cgGetTypeSizes(CGtype type, int *nrows, int *ncols);
  1298. CG_API void CGENTRY cgGetMatrixSize(CGtype type, int *nrows, int *ncols);
  1299. CG_API int CGENTRY cgGetNumProgramDomains(CGprogram program);
  1300. CG_API CGdomain CGENTRY cgGetProfileDomain(CGprofile profile);
  1301. CG_API CGprofile CGENTRY cgGetProfileSibling(CGprofile profile, CGdomain domain);
  1302. CG_API CGprogram CGENTRY cgCombinePrograms(int n, const CGprogram *exeList);
  1303. CG_API CGprogram CGENTRY cgCombinePrograms2(const CGprogram exe1, const CGprogram exe2);
  1304. CG_API CGprogram CGENTRY cgCombinePrograms3(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3);
  1305. CG_API CGprogram CGENTRY cgCombinePrograms4(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3, const CGprogram exe4);
  1306. CG_API CGprogram CGENTRY cgCombinePrograms5(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3, const CGprogram exe4, const CGprogram exe5);
  1307. CG_API CGprofile CGENTRY cgGetProgramDomainProfile(CGprogram program, int index);
  1308. CG_API CGprogram CGENTRY cgGetProgramDomainProgram(CGprogram program, int index);
  1309. CG_API CGobj CGENTRY cgCreateObj(CGcontext context, CGenum program_type, const char *source, CGprofile profile, const char **args);
  1310. CG_API CGobj CGENTRY cgCreateObjFromFile(CGcontext context, CGenum program_type, const char *source_file, CGprofile profile, const char **args);
  1311. CG_API void CGENTRY cgDestroyObj(CGobj obj);
  1312. CG_API long CGENTRY cgGetParameterResourceSize(CGparameter param);
  1313. CG_API CGtype CGENTRY cgGetParameterResourceType(CGparameter param);
  1314. CG_API const char * CGENTRY cgGetParameterResourceName(CGparameter param);
  1315. CG_API int CGENTRY cgGetParameterBufferIndex(CGparameter param);
  1316. CG_API int CGENTRY cgGetParameterBufferOffset(CGparameter param);
  1317. CG_API CGbuffer CGENTRY cgCreateBuffer(CGcontext context, int size, const void *data, CGbufferusage bufferUsage);
  1318. CG_API CGbool CGENTRY cgIsBuffer(CGbuffer buffer);
  1319. CG_API void CGENTRY cgSetBufferData(CGbuffer buffer, int size, const void *data);
  1320. CG_API void CGENTRY cgSetBufferSubData(CGbuffer buffer, int offset, int size, const void *data);
  1321. CG_API void CGENTRY cgSetProgramBuffer(CGprogram program, int bufferIndex, CGbuffer buffer);
  1322. CG_API void CGENTRY cgSetUniformBufferParameter(CGparameter param, CGbuffer buffer);
  1323. CG_API void * CGENTRY cgMapBuffer(CGbuffer buffer, CGbufferaccess access);
  1324. CG_API void CGENTRY cgUnmapBuffer(CGbuffer buffer);
  1325. CG_API void CGENTRY cgDestroyBuffer(CGbuffer buffer);
  1326. CG_API CGbuffer CGENTRY cgGetProgramBuffer(CGprogram program, int bufferIndex);
  1327. CG_API CGbuffer CGENTRY cgGetUniformBufferParameter(CGparameter param);
  1328. CG_API int CGENTRY cgGetBufferSize(CGbuffer buffer);
  1329. CG_API int CGENTRY cgGetProgramBufferMaxSize(CGprofile profile);
  1330. CG_API int CGENTRY cgGetProgramBufferMaxIndex(CGprofile profile);
  1331. CG_API CGbuffer CGENTRY cgGetEffectParameterBuffer(CGparameter param);
  1332. CG_API void CGENTRY cgSetEffectParameterBuffer(CGparameter param, CGbuffer buffer);
  1333. #endif
  1334. #ifdef __cplusplus
  1335. }
  1336. #endif
  1337. #ifdef CG_APIENTRY_DEFINED
  1338. # undef CG_APIENTRY_DEFINED
  1339. # undef APIENTRY
  1340. #endif
  1341. #ifdef CG_WINGDIAPI_DEFINED
  1342. # undef CG_WINGDIAPI_DEFINED
  1343. # undef WINGDIAPI
  1344. #endif
  1345. #endif