cg_explicit.h 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867
  1. /*
  2. ===========================================================================
  3. Doom 3 GPL Source Code
  4. Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
  5. This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
  6. Doom 3 Source Code is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. Doom 3 Source Code is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
  16. In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
  17. If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
  18. ===========================================================================
  19. */
  20. #ifndef CG_EXTERNAL___H
  21. #define CG_EXTERNAL___H
  22. typedef int CGbool;
  23. typedef struct _CGcontext *CGcontext;
  24. typedef struct _CGprogram *CGprogram;
  25. typedef struct _CGparameter *CGparameter;
  26. typedef enum
  27. {
  28. CG_UNKNOWN_TYPE,
  29. CG_STRUCT,
  30. CG_ARRAY,
  31. CG_TYPE_START_ENUM = 1024,
  32. CG_HALF ,
  33. CG_HALF2 ,
  34. CG_HALF3 ,
  35. CG_HALF4 ,
  36. CG_HALF1x1 ,
  37. CG_HALF1x2 ,
  38. CG_HALF1x3 ,
  39. CG_HALF1x4 ,
  40. CG_HALF2x1 ,
  41. CG_HALF2x2 ,
  42. CG_HALF2x3 ,
  43. CG_HALF2x4 ,
  44. CG_HALF3x1 ,
  45. CG_HALF3x2 ,
  46. CG_HALF3x3 ,
  47. CG_HALF3x4 ,
  48. CG_HALF4x1 ,
  49. CG_HALF4x2 ,
  50. CG_HALF4x3 ,
  51. CG_HALF4x4 ,
  52. CG_FLOAT ,
  53. CG_FLOAT2 ,
  54. CG_FLOAT3 ,
  55. CG_FLOAT4 ,
  56. CG_FLOAT1x1 ,
  57. CG_FLOAT1x2 ,
  58. CG_FLOAT1x3 ,
  59. CG_FLOAT1x4 ,
  60. CG_FLOAT2x1 ,
  61. CG_FLOAT2x2 ,
  62. CG_FLOAT2x3 ,
  63. CG_FLOAT2x4 ,
  64. CG_FLOAT3x1 ,
  65. CG_FLOAT3x2 ,
  66. CG_FLOAT3x3 ,
  67. CG_FLOAT3x4 ,
  68. CG_FLOAT4x1 ,
  69. CG_FLOAT4x2 ,
  70. CG_FLOAT4x3 ,
  71. CG_FLOAT4x4 ,
  72. CG_SAMPLER1D ,
  73. CG_SAMPLER2D ,
  74. CG_SAMPLER3D ,
  75. CG_SAMPLERRECT ,
  76. CG_SAMPLERCUBE ,
  77. CG_FIXED ,
  78. CG_FIXED2 ,
  79. CG_FIXED3 ,
  80. CG_FIXED4 ,
  81. CG_FIXED1x1 ,
  82. CG_FIXED1x2 ,
  83. CG_FIXED1x3 ,
  84. CG_FIXED1x4 ,
  85. CG_FIXED2x1 ,
  86. CG_FIXED2x2 ,
  87. CG_FIXED2x3 ,
  88. CG_FIXED2x4 ,
  89. CG_FIXED3x1 ,
  90. CG_FIXED3x2 ,
  91. CG_FIXED3x3 ,
  92. CG_FIXED3x4 ,
  93. CG_FIXED4x1 ,
  94. CG_FIXED4x2 ,
  95. CG_FIXED4x3 ,
  96. CG_FIXED4x4 ,
  97. CG_HALF1 ,
  98. CG_FLOAT1 ,
  99. CG_FIXED1 ,
  100. } CGtype;
  101. typedef enum
  102. {
  103. CG_TEXUNIT0 = 2048,
  104. CG_TEXUNIT1 = 2049,
  105. CG_TEXUNIT2 = 2050,
  106. CG_TEXUNIT3 = 2051,
  107. CG_TEXUNIT4 = 2052,
  108. CG_TEXUNIT5 = 2053,
  109. CG_TEXUNIT6 = 2054,
  110. CG_TEXUNIT7 = 2055,
  111. CG_TEXUNIT8 = 2056,
  112. CG_TEXUNIT9 = 2057,
  113. CG_TEXUNIT10 = 2058,
  114. CG_TEXUNIT11 = 2059,
  115. CG_TEXUNIT12 = 2060,
  116. CG_TEXUNIT13 = 2061,
  117. CG_TEXUNIT14 = 2062,
  118. CG_TEXUNIT15 = 2063,
  119. CG_ATTR0 = 2113,
  120. CG_ATTR1 = 2114,
  121. CG_ATTR2 = 2115,
  122. CG_ATTR3 = 2116,
  123. CG_ATTR4 = 2117,
  124. CG_ATTR5 = 2118,
  125. CG_ATTR6 = 2119,
  126. CG_ATTR7 = 2120,
  127. CG_ATTR8 = 2121,
  128. CG_ATTR9 = 2122,
  129. CG_ATTR10 = 2123,
  130. CG_ATTR11 = 2124,
  131. CG_ATTR12 = 2125,
  132. CG_ATTR13 = 2126,
  133. CG_ATTR14 = 2127,
  134. CG_ATTR15 = 2128,
  135. CG_C = 2178,
  136. CG_TEX0 = 2179,
  137. CG_TEX1 = 2180,
  138. CG_TEX2 = 2181,
  139. CG_TEX3 = 2192,
  140. CG_TEX4 = 2193,
  141. CG_TEX5 = 2194,
  142. CG_TEX6 = 2195,
  143. CG_TEX7 = 2196,
  144. CG_HPOS = 2243,
  145. CG_COL0 = 2245,
  146. CG_COL1 = 2246,
  147. CG_COL2 = 2247,
  148. CG_COL3 = 2248,
  149. CG_PSIZ = 2309,
  150. CG_WPOS = 2373,
  151. CG_POSITION0 = 2437,
  152. CG_POSITION1 = 2438,
  153. CG_POSITION2 = 2439,
  154. CG_POSITION3 = 2440,
  155. CG_POSITION4 = 2441,
  156. CG_POSITION5 = 2442,
  157. CG_POSITION6 = 2443,
  158. CG_POSITION7 = 2444,
  159. CG_POSITION8 = 2445,
  160. CG_POSITION9 = 2446,
  161. CG_POSITION10 = 2447,
  162. CG_POSITION11 = 2448,
  163. CG_POSITION12 = 2449,
  164. CG_POSITION13 = 2450,
  165. CG_POSITION14 = 2451,
  166. CG_POSITION15 = 2452,
  167. CG_DIFFUSE0 = 2501,
  168. CG_TANGENT0 = 2565,
  169. CG_TANGENT1 = 2566,
  170. CG_TANGENT2 = 2567,
  171. CG_TANGENT3 = 2568,
  172. CG_TANGENT4 = 2569,
  173. CG_TANGENT5 = 2570,
  174. CG_TANGENT6 = 2571,
  175. CG_TANGENT7 = 2572,
  176. CG_TANGENT8 = 2573,
  177. CG_TANGENT9 = 2574,
  178. CG_TANGENT10 = 2575,
  179. CG_TANGENT11 = 2576,
  180. CG_TANGENT12 = 2577,
  181. CG_TANGENT13 = 2578,
  182. CG_TANGENT14 = 2579,
  183. CG_TANGENT15 = 2580,
  184. CG_SPECULAR0 = 2629,
  185. CG_BLENDINDICES0 = 2693,
  186. CG_BLENDINDICES1 = 2694,
  187. CG_BLENDINDICES2 = 2695,
  188. CG_BLENDINDICES3 = 2696,
  189. CG_BLENDINDICES4 = 2697,
  190. CG_BLENDINDICES5 = 2698,
  191. CG_BLENDINDICES6 = 2699,
  192. CG_BLENDINDICES7 = 2700,
  193. CG_BLENDINDICES8 = 2701,
  194. CG_BLENDINDICES9 = 2702,
  195. CG_BLENDINDICES10 = 2703,
  196. CG_BLENDINDICES11 = 2704,
  197. CG_BLENDINDICES12 = 2705,
  198. CG_BLENDINDICES13 = 2706,
  199. CG_BLENDINDICES14 = 2707,
  200. CG_BLENDINDICES15 = 2708,
  201. CG_COLOR0 = 2757,
  202. CG_COLOR1 = 2758,
  203. CG_COLOR2 = 2759,
  204. CG_COLOR3 = 2760,
  205. CG_COLOR4 = 2761,
  206. CG_COLOR5 = 2762,
  207. CG_COLOR6 = 2763,
  208. CG_COLOR7 = 2764,
  209. CG_COLOR8 = 2765,
  210. CG_COLOR9 = 2766,
  211. CG_COLOR10 = 2767,
  212. CG_COLOR11 = 2768,
  213. CG_COLOR12 = 2769,
  214. CG_COLOR13 = 2770,
  215. CG_COLOR14 = 2771,
  216. CG_COLOR15 = 2772,
  217. CG_PSIZE0 = 2821,
  218. CG_PSIZE1 = 2822,
  219. CG_PSIZE2 = 2823,
  220. CG_PSIZE3 = 2824,
  221. CG_PSIZE4 = 2825,
  222. CG_PSIZE5 = 2826,
  223. CG_PSIZE6 = 2827,
  224. CG_PSIZE7 = 2828,
  225. CG_PSIZE8 = 2829,
  226. CG_PSIZE9 = 2830,
  227. CG_PSIZE10 = 2831,
  228. CG_PSIZE11 = 2832,
  229. CG_PSIZE12 = 2833,
  230. CG_PSIZE13 = 2834,
  231. CG_PSIZE14 = 2835,
  232. CG_PSIZE15 = 2836,
  233. CG_BINORMAL0 = 2885,
  234. CG_BINORMAL1 = 2886,
  235. CG_BINORMAL2 = 2887,
  236. CG_BINORMAL3 = 2888,
  237. CG_BINORMAL4 = 2889,
  238. CG_BINORMAL5 = 2890,
  239. CG_BINORMAL6 = 2891,
  240. CG_BINORMAL7 = 2892,
  241. CG_BINORMAL8 = 2893,
  242. CG_BINORMAL9 = 2894,
  243. CG_BINORMAL10 = 2895,
  244. CG_BINORMAL11 = 2896,
  245. CG_BINORMAL12 = 2897,
  246. CG_BINORMAL13 = 2898,
  247. CG_BINORMAL14 = 2899,
  248. CG_BINORMAL15 = 2900,
  249. CG_FOG0 = 2917,
  250. CG_FOG1 = 2918,
  251. CG_FOG2 = 2919,
  252. CG_FOG3 = 2920,
  253. CG_FOG4 = 2921,
  254. CG_FOG5 = 2922,
  255. CG_FOG6 = 2923,
  256. CG_FOG7 = 2924,
  257. CG_FOG8 = 2925,
  258. CG_FOG9 = 2926,
  259. CG_FOG10 = 2927,
  260. CG_FOG11 = 2928,
  261. CG_FOG12 = 2929,
  262. CG_FOG13 = 2930,
  263. CG_FOG14 = 2931,
  264. CG_FOG15 = 2932,
  265. CG_DEPTH0 = 2933,
  266. CG_DEPTH1 = 2934,
  267. CG_DEPTH2 = 2935,
  268. CG_DEPTH3 = 2936,
  269. CG_DEPTH4 = 2937,
  270. CG_DEPTH5 = 2938,
  271. CG_DEPTH6 = 2939,
  272. CG_DEPTH7 = 2940,
  273. CG_DEPTH8 = 2941,
  274. CG_DEPTH9 = 29542,
  275. CG_DEPTH10 = 2943,
  276. CG_DEPTH11 = 2944,
  277. CG_DEPTH12 = 2945,
  278. CG_DEPTH13 = 2946,
  279. CG_DEPTH14 = 2947,
  280. CG_DEPTH15 = 2948,
  281. CG_SAMPLE0 = 2949,
  282. CG_SAMPLE1 = 2950,
  283. CG_SAMPLE2 = 2951,
  284. CG_SAMPLE3 = 2952,
  285. CG_SAMPLE4 = 2953,
  286. CG_SAMPLE5 = 2954,
  287. CG_SAMPLE6 = 2955,
  288. CG_SAMPLE7 = 2956,
  289. CG_SAMPLE8 = 2957,
  290. CG_SAMPLE9 = 2958,
  291. CG_SAMPLE10 = 2959,
  292. CG_SAMPLE11 = 2960,
  293. CG_SAMPLE12 = 2961,
  294. CG_SAMPLE13 = 2962,
  295. CG_SAMPLE14 = 2963,
  296. CG_SAMPLE15 = 2964,
  297. CG_BLENDWEIGHT0 = 3028,
  298. CG_BLENDWEIGHT1 = 3029,
  299. CG_BLENDWEIGHT2 = 3030,
  300. CG_BLENDWEIGHT3 = 3031,
  301. CG_BLENDWEIGHT4 = 3032,
  302. CG_BLENDWEIGHT5 = 3033,
  303. CG_BLENDWEIGHT6 = 3034,
  304. CG_BLENDWEIGHT7 = 3035,
  305. CG_BLENDWEIGHT8 = 3036,
  306. CG_BLENDWEIGHT9 = 3037,
  307. CG_BLENDWEIGHT10 = 3038,
  308. CG_BLENDWEIGHT11 = 3039,
  309. CG_BLENDWEIGHT12 = 3040,
  310. CG_BLENDWEIGHT13 = 3041,
  311. CG_BLENDWEIGHT14 = 3042,
  312. CG_BLENDWEIGHT15 = 3043,
  313. CG_NORMAL0 = 3092,
  314. CG_NORMAL1 = 3093,
  315. CG_NORMAL2 = 3094,
  316. CG_NORMAL3 = 3095,
  317. CG_NORMAL4 = 3096,
  318. CG_NORMAL5 = 3097,
  319. CG_NORMAL6 = 3098,
  320. CG_NORMAL7 = 3099,
  321. CG_NORMAL8 = 3100,
  322. CG_NORMAL9 = 3101,
  323. CG_NORMAL10 = 3102,
  324. CG_NORMAL11 = 3103,
  325. CG_NORMAL12 = 3104,
  326. CG_NORMAL13 = 3105,
  327. CG_NORMAL14 = 3106,
  328. CG_NORMAL15 = 3107,
  329. CG_FOGCOORD = 3156,
  330. CG_TEXCOORD0 = 3220,
  331. CG_TEXCOORD1 = 3221,
  332. CG_TEXCOORD2 = 3222,
  333. CG_TEXCOORD3 = 3223,
  334. CG_TEXCOORD4 = 3224,
  335. CG_TEXCOORD5 = 3225,
  336. CG_TEXCOORD6 = 3226,
  337. CG_TEXCOORD7 = 3227,
  338. CG_TEXCOORD8 = 3228,
  339. CG_TEXCOORD9 = 3229,
  340. CG_TEXCOORD10 = 3230,
  341. CG_TEXCOORD11 = 3231,
  342. CG_TEXCOORD12 = 3232,
  343. CG_TEXCOORD13 = 3233,
  344. CG_TEXCOORD14 = 3234,
  345. CG_TEXCOORD15 = 3235,
  346. CG_COMBINER_CONST0 = 3284,
  347. CG_COMBINER_CONST1 = 3285,
  348. CG_COMBINER_STAGE_CONST0 = 3286,
  349. CG_COMBINER_STAGE_CONST1 = 3287,
  350. CG_OFFSET_TEXTURE_MATRIX = 3288,
  351. CG_OFFSET_TEXTURE_SCALE = 3289,
  352. CG_OFFSET_TEXTURE_BIAS = 3290,
  353. CG_CONST_EYE = 3291,
  354. CG_TESSFACTOR = 3255,
  355. CG_UNDEFINED,
  356. } CGresource;
  357. typedef enum
  358. {
  359. CG_PROFILE_START = 6144,
  360. CG_PROFILE_UNKNOWN,
  361. CG_PROFILE_VP20 = 6146,
  362. CG_PROFILE_FP20 = 6147,
  363. CG_PROFILE_VP30 = 6148,
  364. CG_PROFILE_FP30 = 6149,
  365. CG_PROFILE_ARBVP1 = 6150,
  366. CG_PROFILE_ARBFP1 = 7000,
  367. CG_PROFILE_VS_1_1 = 6153,
  368. CG_PROFILE_VS_2_0 = 6154,
  369. CG_PROFILE_VS_2_X = 6155,
  370. CG_PROFILE_PS_1_1 = 6159,
  371. CG_PROFILE_PS_1_2 = 6160,
  372. CG_PROFILE_PS_1_3 = 6161,
  373. CG_PROFILE_PS_2_0 = 6162,
  374. CG_PROFILE_PS_2_X = 6163,
  375. CG_PROFILE_MAX,
  376. } CGprofile;
  377. typedef enum
  378. {
  379. CG_NO_ERROR = 0,
  380. CG_COMPILER_ERROR = 1,
  381. CG_INVALID_PARAMETER_ERROR = 2,
  382. CG_INVALID_PROFILE_ERROR = 3,
  383. CG_PROGRAM_LOAD_ERROR = 4,
  384. CG_PROGRAM_BIND_ERROR = 5,
  385. CG_PROGRAM_NOT_LOADED_ERROR = 6,
  386. CG_UNSUPPORTED_GL_EXTENSION_ERROR = 7,
  387. CG_INVALID_VALUE_TYPE_ERROR = 8,
  388. CG_NOT_MATRIX_PARAM_ERROR = 9,
  389. CG_INVALID_ENUMERANT_ERROR = 10,
  390. CG_NOT_4x4_MATRIX_ERROR = 11,
  391. CG_FILE_READ_ERROR = 12,
  392. CG_FILE_WRITE_ERROR = 13,
  393. CG_NVPARSE_ERROR = 14,
  394. CG_MEMORY_ALLOC_ERROR = 15,
  395. CG_INVALID_CONTEXT_HANDLE_ERROR = 16,
  396. CG_INVALID_PROGRAM_HANDLE_ERROR = 17,
  397. CG_INVALID_PARAM_HANDLE_ERROR = 18,
  398. CG_UNKNOWN_PROFILE_ERROR = 19,
  399. CG_VAR_ARG_ERROR = 20,
  400. CG_INVALID_DIMENSION_ERROR = 21,
  401. CG_ARRAY_PARAM_ERROR = 22,
  402. CG_OUT_OF_ARRAY_BOUNDS_ERROR = 23,
  403. } CGerror;
  404. typedef enum
  405. {
  406. CG_UNKNOWN = 4096,
  407. CG_IN,
  408. CG_OUT,
  409. CG_INOUT,
  410. CG_MIXED,
  411. CG_VARYING,
  412. CG_UNIFORM,
  413. CG_CONSTANT,
  414. CG_PROGRAM_SOURCE,
  415. CG_PROGRAM_ENTRY,
  416. CG_COMPILED_PROGRAM,
  417. CG_PROGRAM_PROFILE,
  418. CG_GLOBAL,
  419. CG_PROGRAM,
  420. CG_DEFAULT,
  421. CG_ERROR,
  422. CG_SOURCE,
  423. CG_OBJECT,
  424. } CGenum;
  425. extern "C" {
  426. typedef void (*CGerrorCallbackFunc)(void);
  427. typedef CGcontext (*PFNCGCREATECONTEXTPROC)(void);
  428. typedef void (*PFNCGDESTROYCONTEXTPROC)(CGcontext ctx);
  429. typedef CGbool (*PFNCGISCONTEXTPROC)(CGcontext ctx);
  430. typedef const char * (*PFNCGGETLASTLISTINGPROC)(CGcontext ctx);
  431. typedef CGprogram (*PFNCGCREATEPROGRAMPROC)(CGcontext ctx,
  432. CGenum program_type,
  433. const char *program,
  434. CGprofile profile,
  435. const char *entry,
  436. const char **args);
  437. typedef CGprogram (*PFNCGCREATEPROGRAMFROMFILEPROC)(CGcontext ctx,
  438. CGenum program_type,
  439. const char *program_file,
  440. CGprofile profile,
  441. const char *entry,
  442. const char **args);
  443. typedef CGprogram (*PFNCGCOPYPROGRAMPROC)(CGprogram program);
  444. typedef void (*PFNCGDESTROYPROGRAMPROC)(CGprogram program);
  445. typedef CGprogram (*PFNCGGETFIRSTPROGRAMPROC)(CGcontext ctx);
  446. typedef CGprogram (*PFNCGGETNEXTPROGRAMPROC)(CGprogram current);
  447. typedef CGcontext (*PFNCGGETPROGRAMCONTEXTPROC)(CGprogram prog);
  448. typedef CGbool (*PFNCGISPROGRAMPROC)(CGprogram program);
  449. typedef void (*PFNCGCOMPILEPROGRAMPROC)(CGprogram program);
  450. typedef CGbool (*PFNCGISPROGRAMCOMPILEDPROC)(CGprogram program);
  451. typedef const char * (*PFNCGGETPROGRAMSTRINGPROC)(CGprogram prog, CGenum pname);
  452. typedef CGprofile (*PFNCGGETPROGRAMPROFILEPROC)(CGprogram prog);
  453. typedef CGparameter (*PFNCGGETNAMEDPARAMETERPROC)(CGprogram prog, const char *name);
  454. typedef CGparameter (*PFNCGGETFIRSTPARAMETERPROC)(CGprogram prog, CGenum name_space);
  455. typedef CGparameter (*PFNCGGETNEXTPARAMETERPROC)(CGparameter current);
  456. typedef CGparameter (*PFNCGGETFIRSTLEAFPARAMETERPROC)(CGprogram prog, CGenum name_space);
  457. typedef CGparameter (*PFNCGGETNEXTLEAFPARAMETERPROC)(CGparameter current);
  458. typedef CGparameter (*PFNCGGETFIRSTSTRUCTPARAMETERPROC)(CGparameter param);
  459. typedef CGparameter (*PFNCGGETFIRSTDEPENDENTPARAMETERPROC)(CGparameter param);
  460. typedef CGparameter (*PFNCGGETARRAYPARAMETERPROC)(CGparameter aparam, int index);
  461. typedef int (*PFNCGGETARRAYDIMENSIONPROC)(CGparameter param);
  462. typedef int (*PFNCGGETARRAYSIZEPROC)(CGparameter param, int dimension);
  463. typedef CGprogram (*PFNCGGETPARAMETERPROGRAMPROC)(CGparameter prog);
  464. typedef CGbool (*PFNCGISPARAMETERPROC)(CGparameter param);
  465. typedef const char * (*PFNCGGETPARAMETERNAMEPROC)(CGparameter param);
  466. typedef CGtype (*PFNCGGETPARAMETERTYPEPROC)(CGparameter param);
  467. typedef const char * (*PFNCGGETPARAMETERSEMANTICPROC)(CGparameter param);
  468. typedef CGresource (*PFNCGGETPARAMETERRESOURCEPROC)(CGparameter param);
  469. typedef CGresource (*PFNCGGETPARAMETERBASERESOURCEPROC)(CGparameter param);
  470. typedef unsigned long (*PFNCGGETPARAMETERRESOURCEINDEXPROC)(CGparameter param);
  471. typedef CGenum (*PFNCGGETPARAMETERVARIABILITYPROC)(CGparameter param);
  472. typedef CGenum (*PFNCGGETPARAMETERDIRECTIONPROC)(CGparameter param);
  473. typedef CGbool (*PFNCGISPARAMETERREFERENCEDPROC)(CGparameter param);
  474. typedef void (*PFNCGGETPARAMETERVALUESPROC)(CGparameter param,
  475. CGenum value_type,
  476. int *nvalues);
  477. typedef const char * (*PFNCGGETTYPESTRINGPROC)(CGtype type);
  478. typedef CGtype (*PFNCGGETTYPEPROC)(const char *type_string);
  479. typedef const char * (*PFNCGGETRESOURCESTRINGPROC)(CGresource resource);
  480. typedef CGresource (*PFNCGGETRESOURCEPROC)(const char *resource_string);
  481. typedef const char * (*PFNCGGETPROFILESTRINGPROC)(CGprofile profile);
  482. typedef CGprofile (*PFNCGGETPROFILEPROC)(const char *profile_string);
  483. typedef CGerror (*PFNCGGETERRORPROC)(void);
  484. typedef const char * (*PFNCGGETERRORSTRINGPROC)(CGerror error);
  485. typedef void (*PFNCGSETERRORCALLBACKPROC)(CGerrorCallbackFunc func);
  486. typedef CGerrorCallbackFunc (*PFNCGGETERRORCALLBACKPROC)(void);
  487. extern PFNCGCREATECONTEXTPROC cgCreateContext;
  488. extern PFNCGDESTROYCONTEXTPROC cgDestroyContext;
  489. extern PFNCGISCONTEXTPROC cgIsContext;
  490. extern PFNCGGETLASTLISTINGPROC cgGetLastListing;
  491. extern PFNCGCREATEPROGRAMPROC cgCreateProgram;
  492. extern PFNCGCREATEPROGRAMFROMFILEPROC cgCreateProgramFromFile;
  493. extern PFNCGCOPYPROGRAMPROC cgCopyProgram;
  494. extern PFNCGDESTROYPROGRAMPROC cgDestroyProgram;
  495. extern PFNCGGETFIRSTPROGRAMPROC cgGetFirstProgram;
  496. extern PFNCGGETNEXTPROGRAMPROC cgGetNextProgram;
  497. extern PFNCGGETPROGRAMCONTEXTPROC cgGetProgramContext;
  498. extern PFNCGISPROGRAMPROC cgIsProgram;
  499. extern PFNCGCOMPILEPROGRAMPROC cgCompileProgram;
  500. extern PFNCGISPROGRAMCOMPILEDPROC cgIsProgramCompiled;
  501. extern PFNCGGETPROGRAMSTRINGPROC cgGetProgramString;
  502. extern PFNCGGETPROGRAMPROFILEPROC cgGetProgramProfile;
  503. extern PFNCGGETNAMEDPARAMETERPROC cgGetNamedParameter;
  504. extern PFNCGGETFIRSTPARAMETERPROC cgGetFirstParameter;
  505. extern PFNCGGETNEXTPARAMETERPROC cgGetNextParameter;
  506. extern PFNCGGETFIRSTLEAFPARAMETERPROC cgGetFirstLeafParameter;
  507. extern PFNCGGETNEXTLEAFPARAMETERPROC cgGetNextLeafParameter;
  508. extern PFNCGGETFIRSTSTRUCTPARAMETERPROC cgGetFirstStructParameter;
  509. extern PFNCGGETFIRSTDEPENDENTPARAMETERPROC cgGetFirstDependentParameter;
  510. extern PFNCGGETARRAYPARAMETERPROC cgGetArrayParameter;
  511. extern PFNCGGETARRAYDIMENSIONPROC cgGetArrayDimension;
  512. extern PFNCGGETARRAYSIZEPROC cgGetArraySize;
  513. extern PFNCGGETPARAMETERPROGRAMPROC cgGetParameterProgram;
  514. extern PFNCGISPARAMETERPROC cgIsParameter;
  515. extern PFNCGGETPARAMETERNAMEPROC cgGetParameterName;
  516. extern PFNCGGETPARAMETERTYPEPROC cgGetParameterType;
  517. extern PFNCGGETPARAMETERSEMANTICPROC cgGetParameterSemantic;
  518. extern PFNCGGETPARAMETERRESOURCEPROC cgGetParameterResource;
  519. extern PFNCGGETPARAMETERBASERESOURCEPROC cgGetParameterBaseResource;
  520. extern PFNCGGETPARAMETERRESOURCEINDEXPROC cgGetParameterResourceIndex;
  521. extern PFNCGGETPARAMETERVARIABILITYPROC cgGetParameterVariability;
  522. extern PFNCGGETPARAMETERDIRECTIONPROC cgGetParameterDirection;
  523. extern PFNCGISPARAMETERREFERENCEDPROC cgIsParameterReferenced;
  524. extern PFNCGGETPARAMETERVALUESPROC cgGetParameterValues;
  525. extern PFNCGGETTYPESTRINGPROC cgGetTypeString;
  526. extern PFNCGGETTYPEPROC cgGetType;
  527. extern PFNCGGETRESOURCESTRINGPROC cgGetResourceString;
  528. extern PFNCGGETRESOURCEPROC cgGetResource;
  529. extern PFNCGGETPROFILESTRINGPROC cgGetProfileString;
  530. extern PFNCGGETPROFILEPROC cgGetProfile;
  531. extern PFNCGGETERRORPROC cgGetError;
  532. extern PFNCGGETERRORSTRINGPROC cgGetErrorString;
  533. extern PFNCGSETERRORCALLBACKPROC cgSetErrorCallback;
  534. extern PFNCGGETERRORCALLBACKPROC cgGetErrorCallback;
  535. }
  536. extern "C" {
  537. typedef enum
  538. {
  539. CG_GL_MATRIX_IDENTITY = 0,
  540. CG_GL_MATRIX_TRANSPOSE = 1,
  541. CG_GL_MATRIX_INVERSE = 2,
  542. CG_GL_MATRIX_INVERSE_TRANSPOSE = 3,
  543. CG_GL_MODELVIEW_MATRIX,
  544. CG_GL_PROJECTION_MATRIX,
  545. CG_GL_TEXTURE_MATRIX,
  546. CG_GL_MODELVIEW_PROJECTION_MATRIX,
  547. CG_GL_VERTEX,
  548. CG_GL_FRAGMENT,
  549. } CGGLenum;
  550. typedef CGbool (*PFNCGGLISPROFILESUPPORTEDPROC)(CGprofile profile);
  551. typedef void (*PFNCGGLENABLEPROFILEPROC)(CGprofile profile);
  552. typedef void (*PFNCGGLDISABLEPROFILEPROC)(CGprofile profile);
  553. typedef CGprofile (*PFNCGGLGETLATESTPROFILEPROC)(CGGLenum profile_type);
  554. typedef void (*PFNCGGLSETOPTIMALOPTIONSPROC)(CGprofile profile);
  555. typedef void (*PFNCGGLLOADPROGRAMPROC)(CGprogram program);
  556. typedef void (*PFNCGGLBINDPROGRAMPROC)(CGprogram program);
  557. typedef void (*PFNCGGLSETPARAMETER1FPROC)(CGparameter param,
  558. float x);
  559. typedef void (*PFNCGGLSETPARAMETER2FPROC)(CGparameter param,
  560. float x,
  561. float y);
  562. typedef void (*PFNCGGLSETPARAMETER3FPROC)(CGparameter param,
  563. float x,
  564. float y,
  565. float z);
  566. typedef void (*PFNCGGLSETPARAMETER4FPROC)(CGparameter param,
  567. float x,
  568. float y,
  569. float z,
  570. float w);
  571. typedef void (*PFNCGGLSETPARAMETER1FVPROC)(CGparameter param, const float *v);
  572. typedef void (*PFNCGGLSETPARAMETER2FVPROC)(CGparameter param, const float *v);
  573. typedef void (*PFNCGGLSETPARAMETER3FVPROC)(CGparameter param, const float *v);
  574. typedef void (*PFNCGGLSETPARAMETER4FVPROC)(CGparameter param, const float *v);
  575. typedef void (*PFNCGGLSETPARAMETER1DPROC)(CGparameter param,
  576. double x);
  577. typedef void (*PFNCGGLSETPARAMETER2DPROC)(CGparameter param,
  578. double x,
  579. double y);
  580. typedef void (*PFNCGGLSETPARAMETER3DPROC)(CGparameter param,
  581. double x,
  582. double y,
  583. double z);
  584. typedef void (*PFNCGGLSETPARAMETER4DPROC)(CGparameter param,
  585. double x,
  586. double y,
  587. double z,
  588. double w);
  589. typedef void (*PFNCGGLSETPARAMETER1DVPROC)(CGparameter param, const double *v);
  590. typedef void (*PFNCGGLSETPARAMETER2DVPROC)(CGparameter param, const double *v);
  591. typedef void (*PFNCGGLSETPARAMETER3DVPROC)(CGparameter param, const double *v);
  592. typedef void (*PFNCGGLSETPARAMETER4DVPROC)(CGparameter param, const double *v);
  593. typedef void (*PFNCGGLSETPARAMETER4DVPROC)(CGparameter param, const double *v);
  594. typedef void (*PFNCGGLGETPARAMETER1FPROC)(CGparameter param, float *v);
  595. typedef void (*PFNCGGLGETPARAMETER2FPROC)(CGparameter param, float *v);
  596. typedef void (*PFNCGGLGETPARAMETER3FPROC)(CGparameter param, float *v);
  597. typedef void (*PFNCGGLGETPARAMETER4FPROC)(CGparameter param, float *v);
  598. typedef void (*PFNCGGLGETPARAMETER1DPROC)(CGparameter param, double *v);
  599. typedef void (*PFNCGGLGETPARAMETER2DPROC)(CGparameter param, double *v);
  600. typedef void (*PFNCGGLGETPARAMETER3DPROC)(CGparameter param, double *v);
  601. typedef void (*PFNCGGLGETPARAMETER4DPROC)(CGparameter param, double *v);
  602. typedef void (*PFNCGGLSETPARAMETERARRAY1FPROC)(CGparameter param,
  603. long offset,
  604. long nelements,
  605. const float *v);
  606. typedef void (*PFNCGGLSETPARAMETERARRAY2FPROC)(CGparameter param,
  607. long offset,
  608. long nelements,
  609. const float *v);
  610. typedef void (*PFNCGGLSETPARAMETERARRAY3FPROC)(CGparameter param,
  611. long offset,
  612. long nelements,
  613. const float *v);
  614. typedef void (*PFNCGGLSETPARAMETERARRAY4FPROC)(CGparameter param,
  615. long offset,
  616. long nelements,
  617. const float *v);
  618. typedef void (*PFNCGGLSETPARAMETERARRAY1DPROC)(CGparameter param,
  619. long offset,
  620. long nelements,
  621. const double *v);
  622. typedef void (*PFNCGGLSETPARAMETERARRAY2DPROC)(CGparameter param,
  623. long offset,
  624. long nelements,
  625. const double *v);
  626. typedef void (*PFNCGGLSETPARAMETERARRAY3DPROC)(CGparameter param,
  627. long offset,
  628. long nelements,
  629. const double *v);
  630. typedef void (*PFNCGGLSETPARAMETERARRAY4DPROC)(CGparameter param,
  631. long offset,
  632. long nelements,
  633. const double *v);
  634. typedef void (*PFNCGGLGETPARAMETERARRAY1FPROC)(CGparameter param,
  635. long offset,
  636. long nelements,
  637. float *v);
  638. typedef void (*PFNCGGLGETPARAMETERARRAY2FPROC)(CGparameter param,
  639. long offset,
  640. long nelements,
  641. float *v);
  642. typedef void (*PFNCGGLGETPARAMETERARRAY3FPROC)(CGparameter param,
  643. long offset,
  644. long nelements,
  645. float *v);
  646. typedef void (*PFNCGGLGETPARAMETERARRAY4FPROC)(CGparameter param,
  647. long offset,
  648. long nelements,
  649. float *v);
  650. typedef void (*PFNCGGLGETPARAMETERARRAY1DPROC)(CGparameter param,
  651. long offset,
  652. long nelements,
  653. double *v);
  654. typedef void (*PFNCGGLGETPARAMETERARRAY2DPROC)(CGparameter param,
  655. long offset,
  656. long nelements,
  657. double *v);
  658. typedef void (*PFNCGGLGETPARAMETERARRAY3DPROC)(CGparameter param,
  659. long offset,
  660. long nelements,
  661. double *v);
  662. typedef void (*PFNCGGLGETPARAMETERARRAY4DPROC)(CGparameter param,
  663. long offset,
  664. long nelements,
  665. double *v);
  666. typedef void (*PFNCGGLSETPARAMETERPOINTERPROC)(CGparameter param,
  667. GLint fsize,
  668. GLenum type,
  669. GLsizei stride,
  670. GLvoid *pointer);
  671. typedef void (*PFNCGGLENABLECLIENTSTATEPROC)(CGparameter param);
  672. typedef void (*PFNCGGLDISABLECLIENTSTATEPROC)(CGparameter param);
  673. typedef void (*PFNCGGLSETMATRIXPARAMETERDRPROC)(CGparameter param, const double *matrix);
  674. typedef void (*PFNCGGLSETMATRIXPARAMETERFRPROC)(CGparameter param, const float *matrix);
  675. typedef void (*PFNCGGLSETMATRIXPARAMETERDCPROC)(CGparameter param, const double *matrix);
  676. typedef void (*PFNCGGLSETMATRIXPARAMETERFCPROC)(CGparameter param, const float *matrix);
  677. typedef void (*PFNCGGLGETMATRIXPARAMETERDRPROC)(CGparameter param, double *matrix);
  678. typedef void (*PFNCGGLGETMATRIXPARAMETERFRPROC)(CGparameter param, float *matrix);
  679. typedef void (*PFNCGGLGETMATRIXPARAMETERDCPROC)(CGparameter param, double *matrix);
  680. typedef void (*PFNCGGLGETMATRIXPARAMETERFCPROC)(CGparameter param, float *matrix);
  681. typedef void (*PFNCGGLSETSTATEMATRIXPARAMETERPROC)(CGparameter param,
  682. GLenum matrix,
  683. GLenum transform);
  684. typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYFCPROC)(CGparameter param,
  685. long offset,
  686. long nelements,
  687. const float *matrices);
  688. typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYFRPROC)(CGparameter param,
  689. long offset,
  690. long nelements,
  691. const float *matrices);
  692. typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYDCPROC)(CGparameter param,
  693. long offset,
  694. long nelements,
  695. const double *matrices);
  696. typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYDRPROC)(CGparameter param,
  697. long offset,
  698. long nelements,
  699. const double *matrices);
  700. typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYFCPROC)(CGparameter param,
  701. long offset,
  702. long nelements,
  703. float *matrices);
  704. typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYFRPROC)(CGparameter param,
  705. long offset,
  706. long nelements,
  707. float *matrices);
  708. typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYDCPROC)(CGparameter param,
  709. long offset,
  710. long nelements,
  711. double *matrices);
  712. typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYDRPROC)(CGparameter param,
  713. long offset,
  714. long nelements,
  715. double *matrices);
  716. typedef void (*PFNCGGLSETTEXTUREPARAMETERPROC)(CGparameter param, GLuint texobj);
  717. typedef GLuint (*PFNCGGLGETTEXTUREPARAMETERPROC)(CGparameter param);
  718. typedef void (*PFNCGGLENABLETEXTUREPARAMETERPROC)(CGparameter param);
  719. typedef void (*PFNCGGLDISABLETEXTUREPARAMETERPROC)(CGparameter param);
  720. typedef GLenum (*PFNCGGLGETTEXTUREENUMPROC)(CGparameter param);
  721. extern PFNCGGLISPROFILESUPPORTEDPROC cgGLIsProfileSupported;
  722. extern PFNCGGLENABLEPROFILEPROC cgGLEnableProfile;
  723. extern PFNCGGLDISABLEPROFILEPROC cgGLDisableProfile;
  724. extern PFNCGGLGETLATESTPROFILEPROC cgGLGetLatestProfile;
  725. extern PFNCGGLSETOPTIMALOPTIONSPROC cgGLSetOptimalOptions;
  726. extern PFNCGGLLOADPROGRAMPROC cgGLLoadProgram;
  727. extern PFNCGGLBINDPROGRAMPROC cgGLBindProgram;
  728. extern PFNCGGLSETPARAMETER1FPROC cgGLSetParameter1f;
  729. extern PFNCGGLSETPARAMETER2FPROC cgGLSetParameter2f;
  730. extern PFNCGGLSETPARAMETER3FPROC cgGLSetParameter3f;
  731. extern PFNCGGLSETPARAMETER4FPROC cgGLSetParameter4f;
  732. extern PFNCGGLSETPARAMETER1FVPROC cgGLSetParameter1fv;
  733. extern PFNCGGLSETPARAMETER2FVPROC cgGLSetParameter2fv;
  734. extern PFNCGGLSETPARAMETER3FVPROC cgGLSetParameter3fv;
  735. extern PFNCGGLSETPARAMETER4FVPROC cgGLSetParameter4fv;
  736. extern PFNCGGLSETPARAMETER1DPROC cgGLSetParameter1d;
  737. extern PFNCGGLSETPARAMETER2DPROC cgGLSetParameter2d;
  738. extern PFNCGGLSETPARAMETER3DPROC cgGLSetParameter3d;
  739. extern PFNCGGLSETPARAMETER4DPROC cgGLSetParameter4d;
  740. extern PFNCGGLSETPARAMETER1DVPROC cgGLSetParameter1dv;
  741. extern PFNCGGLSETPARAMETER2DVPROC cgGLSetParameter2dv;
  742. extern PFNCGGLSETPARAMETER3DVPROC cgGLSetParameter3dv;
  743. extern PFNCGGLSETPARAMETER4DVPROC cgGLSetParameter4dv;
  744. extern PFNCGGLGETPARAMETER1FPROC cgGLGetParameter1f;
  745. extern PFNCGGLGETPARAMETER2FPROC cgGLGetParameter2f;
  746. extern PFNCGGLGETPARAMETER3FPROC cgGLGetParameter3f;
  747. extern PFNCGGLGETPARAMETER4FPROC cgGLGetParameter4f;
  748. extern PFNCGGLGETPARAMETER1DPROC cgGLGetParameter1d;
  749. extern PFNCGGLGETPARAMETER2DPROC cgGLGetParameter2d;
  750. extern PFNCGGLGETPARAMETER3DPROC cgGLGetParameter3d;
  751. extern PFNCGGLGETPARAMETER4DPROC cgGLGetParameter4d;
  752. extern PFNCGGLSETPARAMETERARRAY1FPROC cgGLSetParameterArray1f;
  753. extern PFNCGGLSETPARAMETERARRAY2FPROC cgGLSetParameterArray2f;
  754. extern PFNCGGLSETPARAMETERARRAY3FPROC cgGLSetParameterArray3f;
  755. extern PFNCGGLSETPARAMETERARRAY4FPROC cgGLSetParameterArray4f;
  756. extern PFNCGGLSETPARAMETERARRAY1DPROC cgGLSetParameterArray1d;
  757. extern PFNCGGLSETPARAMETERARRAY2DPROC cgGLSetParameterArray2d;
  758. extern PFNCGGLSETPARAMETERARRAY3DPROC cgGLSetParameterArray3d;
  759. extern PFNCGGLSETPARAMETERARRAY4DPROC cgGLSetParameterArray4d;
  760. extern PFNCGGLGETPARAMETERARRAY1FPROC cgGLGetParameterArray1f;
  761. extern PFNCGGLGETPARAMETERARRAY2FPROC cgGLGetParameterArray2f;
  762. extern PFNCGGLGETPARAMETERARRAY3FPROC cgGLGetParameterArray3f;
  763. extern PFNCGGLGETPARAMETERARRAY4FPROC cgGLGetParameterArray4f;
  764. extern PFNCGGLGETPARAMETERARRAY1DPROC cgGLGetParameterArray1d;
  765. extern PFNCGGLGETPARAMETERARRAY2DPROC cgGLGetParameterArray2d;
  766. extern PFNCGGLGETPARAMETERARRAY3DPROC cgGLGetParameterArray3d;
  767. extern PFNCGGLGETPARAMETERARRAY4DPROC cgGLGetParameterArray4d;
  768. extern PFNCGGLSETPARAMETERPOINTERPROC cgGLSetParameterPointer;
  769. extern PFNCGGLENABLECLIENTSTATEPROC cgGLEnableClientState;
  770. extern PFNCGGLDISABLECLIENTSTATEPROC cgGLDisableClientState;
  771. extern PFNCGGLSETMATRIXPARAMETERDRPROC cgGLSetMatrixParameterdr;
  772. extern PFNCGGLSETMATRIXPARAMETERFRPROC cgGLSetMatrixParameterfr;
  773. extern PFNCGGLSETMATRIXPARAMETERDCPROC cgGLSetMatrixParameterdc;
  774. extern PFNCGGLSETMATRIXPARAMETERFCPROC cgGLSetMatrixParameterfc;
  775. extern PFNCGGLGETMATRIXPARAMETERDRPROC cgGLGetMatrixParameterdr;
  776. extern PFNCGGLGETMATRIXPARAMETERFRPROC cgGLGetMatrixParameterfr;
  777. extern PFNCGGLGETMATRIXPARAMETERDCPROC cgGLGetMatrixParameterdc;
  778. extern PFNCGGLGETMATRIXPARAMETERFCPROC cgGLGetMatrixParameterfc;
  779. extern PFNCGGLSETSTATEMATRIXPARAMETERPROC cgGLSetStateMatrixParameter;
  780. extern PFNCGGLSETMATRIXPARAMETERARRAYFCPROC cgGLSetMatrixParameterArrayfc;
  781. extern PFNCGGLSETMATRIXPARAMETERARRAYFRPROC cgGLSetMatrixParameterArrayfr;
  782. extern PFNCGGLSETMATRIXPARAMETERARRAYDCPROC cgGLSetMatrixParameterArraydc;
  783. extern PFNCGGLSETMATRIXPARAMETERARRAYDRPROC cgGLSetMatrixParameterArraydr;
  784. extern PFNCGGLGETMATRIXPARAMETERARRAYFCPROC cgGLGetMatrixParameterArrayfc;
  785. extern PFNCGGLGETMATRIXPARAMETERARRAYFRPROC cgGLGetMatrixParameterArrayfr;
  786. extern PFNCGGLGETMATRIXPARAMETERARRAYDCPROC cgGLGetMatrixParameterArraydc;
  787. extern PFNCGGLGETMATRIXPARAMETERARRAYDRPROC cgGLGetMatrixParameterArraydr;
  788. extern PFNCGGLSETTEXTUREPARAMETERPROC cgGLSetTextureParameter;
  789. extern PFNCGGLGETTEXTUREPARAMETERPROC cgGLGetTextureParameter;
  790. extern PFNCGGLENABLETEXTUREPARAMETERPROC cgGLEnableTextureParameter;
  791. extern PFNCGGLDISABLETEXTUREPARAMETERPROC cgGLDisableTextureParameter;
  792. extern PFNCGGLGETTEXTUREENUMPROC cgGLGetTextureEnum;
  793. }
  794. bool init_explicit_Cg();
  795. #endif