text: /*
   *
   * Copyright (c) 2002-2010, NVIDIA Corporation.
   *
   *
   *
   * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
   * of your agreement to the following terms, and your use, installation,
   * modification or redistribution of this NVIDIA software constitutes
   * acceptance of these terms.  If you do not agree with these terms, please do
   * not use, install, modify or redistribute this NVIDIA software.
   *
   *
   *
   * In consideration of your agreement to abide by the following terms, and
   * subject to these terms, NVIDIA grants you a personal, non-exclusive license,
   * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
   * Software"), to use, reproduce, modify and redistribute the NVIDIA
   * Software, with or without modifications, in source and/or binary forms;
   * provided that if you redistribute the NVIDIA Software, you must retain the
   * copyright notice of NVIDIA, this notice and the following text and
   * disclaimers in all such redistributions of the NVIDIA Software. Neither the
   * name, trademarks, service marks nor logos of NVIDIA Corporation may be used
   * to endorse or promote products derived from the NVIDIA Software without
   * specific prior written permission from NVIDIA.  Except as expressly stated
   * in this notice, no other rights or licenses express or implied, are granted
   * by NVIDIA herein, including but not limited to any patent rights that may be
   * infringed by your derivative works or by other works in which the NVIDIA
   * Software may be incorporated. No hardware is licensed hereunder.
   *
   *
   *
   * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
   * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
   * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
   * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
   *
   *
   *
   * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
   * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
   * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
   * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
   * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
   * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   */
  
  #ifndef _cg_h
  #define _cg_h
  
  /*************************************************************************/
  /*** CG Run-Time Library API                                           ***/
  /*************************************************************************/
  
  #define CG_VERSION_NUM                3000
  
  #ifdef _WIN32
  # ifndef APIENTRY /* From Win32's <windef.h> */
  #  define CG_APIENTRY_DEFINED
  #  if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
  #   define APIENTRY    __stdcall
  #  else
  #   define APIENTRY
  #  endif
  # endif
  # ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */
  #  define CG_WINGDIAPI_DEFINED
  #  define WINGDIAPI __declspec(dllimport)
  # endif
  #endif /* _WIN32 */
  
  /* Set up CG_API for Win32 dllexport or gcc visibility. */
  
  #ifndef CG_API
  # ifdef CG_EXPORTS
  #  ifdef _WIN32
  #   define CG_API __declspec(dllexport)
  #  elif defined(__GNUC__) && __GNUC__>=4
  #   define CG_API __attribute__ ((visibility("default")))
  #  elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
  #   define CG_API __global
  #  else
  #   define CG_API
  #  endif
  # else
  #  define CG_API
  # endif
  #endif
  
  #ifndef CGENTRY
  # ifdef _WIN32
  #  define CGENTRY __cdecl
  # else
  #  define CGENTRY
  # endif
  #endif
  
  /*************************************************************************/
  /*** Data types and enumerants                                         ***/
  /*************************************************************************/
  
  typedef int CGbool;
  typedef struct _CGcontext *CGcontext;
  typedef struct _CGprogram *CGprogram;
  typedef struct _CGparameter *CGparameter;
  typedef struct _CGobj *CGobj;
  typedef struct _CGbuffer *CGbuffer;
  typedef struct _CGeffect *CGeffect;
  typedef struct _CGtechnique *CGtechnique;
  typedef struct _CGpass *CGpass;
  typedef struct _CGstate *CGstate;
  typedef struct _CGstateassignment *CGstateassignment;
  typedef struct _CGannotation *CGannotation;
  typedef void *CGhandle;
  
  #define CG_FALSE ((CGbool)0)
  #define CG_TRUE  ((CGbool)1)
  
  typedef enum
  {
    CG_BEHAVIOR_UNKNOWN = 0,
    CG_BEHAVIOR_LATEST  = 1,                /* latest behavior supported at runtime      */
    CG_BEHAVIOR_2200    = 1000,             /* default behavior                          */
    CG_BEHAVIOR_3000    = 2000,
    CG_BEHAVIOR_CURRENT = CG_BEHAVIOR_3000  /* latest behavior supported at compile time */
  } CGbehavior;
  
  typedef enum
  {
    CG_UNKNOWN_TYPE      = 0,
    CG_ARRAY             = 2,
    CG_STRING            = 1135,
    CG_STRUCT            = 1,
    CG_TYPELESS_STRUCT   = 3,
    CG_TEXTURE           = 1137,
    CG_PIXELSHADER_TYPE  = 1142,
    CG_PROGRAM_TYPE      = 1136,
    CG_VERTEXSHADER_TYPE = 1141,
    CG_TYPE_START_ENUM   = 1024,
    CG_SAMPLER           = 1143,
    CG_SAMPLER1D         = 1065,
    CG_SAMPLER1DARRAY    = 1138,
    CG_SAMPLER1DSHADOW   = 1313,
    CG_SAMPLER2D         = 1066,
    CG_SAMPLER2DARRAY    = 1139,
    CG_SAMPLER2DSHADOW   = 1314,
    CG_SAMPLER3D         = 1067,
    CG_SAMPLERBUF        = 1144,
    CG_SAMPLERCUBE       = 1069,
    CG_SAMPLERCUBEARRAY  = 1140,
    CG_SAMPLERRECT       = 1068,
    CG_SAMPLERRECTSHADOW = 1315,
    CG_BOOL              = 1114,
    CG_BOOL1             = 1115,
    CG_BOOL2             = 1116,
    CG_BOOL3             = 1117,
    CG_BOOL4             = 1118,
    CG_BOOL1x1           = 1119,
    CG_BOOL1x2           = 1120,
    CG_BOOL1x3           = 1121,
    CG_BOOL1x4           = 1122,
    CG_BOOL2x1           = 1123,
    CG_BOOL2x2           = 1124,
    CG_BOOL2x3           = 1125,
    CG_BOOL2x4           = 1126,
    CG_BOOL3x1           = 1127,
    CG_BOOL3x2           = 1128,
    CG_BOOL3x3           = 1129,
    CG_BOOL3x4           = 1130,
    CG_BOOL4x1           = 1131,
    CG_BOOL4x2           = 1132,
    CG_BOOL4x3           = 1133,
    CG_BOOL4x4           = 1134,
    CG_CHAR              = 1166,
    CG_CHAR1             = 1167,
    CG_CHAR2             = 1168,
    CG_CHAR3             = 1169,
    CG_CHAR4             = 1170,
    CG_CHAR1x1           = 1171,
    CG_CHAR1x2           = 1172,
    CG_CHAR1x3           = 1173,
    CG_CHAR1x4           = 1174,
    CG_CHAR2x1           = 1175,
    CG_CHAR2x2           = 1176,
    CG_CHAR2x3           = 1177,
    CG_CHAR2x4           = 1178,
    CG_CHAR3x1           = 1179,
    CG_CHAR3x2           = 1180,
    CG_CHAR3x3           = 1181,
    CG_CHAR3x4           = 1182,
    CG_CHAR4x1           = 1183,
    CG_CHAR4x2           = 1184,
    CG_CHAR4x3           = 1185,
    CG_CHAR4x4           = 1186,
    CG_DOUBLE            = 1145,
    CG_DOUBLE1           = 1146,
    CG_DOUBLE2           = 1147,
    CG_DOUBLE3           = 1148,
    CG_DOUBLE4           = 1149,
    CG_DOUBLE1x1         = 1150,
    CG_DOUBLE1x2         = 1151,
    CG_DOUBLE1x3         = 1152,
    CG_DOUBLE1x4         = 1153,
    CG_DOUBLE2x1         = 1154,
    CG_DOUBLE2x2         = 1155,
    CG_DOUBLE2x3         = 1156,
    CG_DOUBLE2x4         = 1157,
    CG_DOUBLE3x1         = 1158,
    CG_DOUBLE3x2         = 1159,
    CG_DOUBLE3x3         = 1160,
    CG_DOUBLE3x4         = 1161,
    CG_DOUBLE4x1         = 1162,
    CG_DOUBLE4x2         = 1163,
    CG_DOUBLE4x3         = 1164,
    CG_DOUBLE4x4         = 1165,
    CG_FIXED             = 1070,
    CG_FIXED1            = 1092,
    CG_FIXED2            = 1071,
    CG_FIXED3            = 1072,
    CG_FIXED4            = 1073,
    CG_FIXED1x1          = 1074,
    CG_FIXED1x2          = 1075,
    CG_FIXED1x3          = 1076,
    CG_FIXED1x4          = 1077,
    CG_FIXED2x1          = 1078,
    CG_FIXED2x2          = 1079,
    CG_FIXED2x3          = 1080,
    CG_FIXED2x4          = 1081,
    CG_FIXED3x1          = 1082,
    CG_FIXED3x2          = 1083,
    CG_FIXED3x3          = 1084,
    CG_FIXED3x4          = 1085,
    CG_FIXED4x1          = 1086,
    CG_FIXED4x2          = 1087,
    CG_FIXED4x3          = 1088,
    CG_FIXED4x4          = 1089,
    CG_FLOAT             = 1045,
    CG_FLOAT1            = 1091,
    CG_FLOAT2            = 1046,
    CG_FLOAT3            = 1047,
    CG_FLOAT4            = 1048,
    CG_FLOAT1x1          = 1049,
    CG_FLOAT1x2          = 1050,
    CG_FLOAT1x3          = 1051,
    CG_FLOAT1x4          = 1052,
    CG_FLOAT2x1          = 1053,
    CG_FLOAT2x2          = 1054,
    CG_FLOAT2x3          = 1055,
    CG_FLOAT2x4          = 1056,
    CG_FLOAT3x1          = 1057,
    CG_FLOAT3x2          = 1058,
    CG_FLOAT3x3          = 1059,
    CG_FLOAT3x4          = 1060,
    CG_FLOAT4x1          = 1061,
    CG_FLOAT4x2          = 1062,
    CG_FLOAT4x3          = 1063,
    CG_FLOAT4x4          = 1064,
    CG_HALF              = 1025,
    CG_HALF1             = 1090,
    CG_HALF2             = 1026,
    CG_HALF3             = 1027,
    CG_HALF4             = 1028,
    CG_HALF1x1           = 1029,
    CG_HALF1x2           = 1030,
    CG_HALF1x3           = 1031,
    CG_HALF1x4           = 1032,
    CG_HALF2x1           = 1033,
    CG_HALF2x2           = 1034,
    CG_HALF2x3           = 1035,
    CG_HALF2x4           = 1036,
    CG_HALF3x1           = 1037,
    CG_HALF3x2           = 1038,
    CG_HALF3x3           = 1039,
    CG_HALF3x4           = 1040,
    CG_HALF4x1           = 1041,
    CG_HALF4x2           = 1042,
    CG_HALF4x3           = 1043,
    CG_HALF4x4           = 1044,
    CG_INT               = 1093,
    CG_INT1              = 1094,
    CG_INT2              = 1095,
    CG_INT3              = 1096,
    CG_INT4              = 1097,
    CG_INT1x1            = 1098,
    CG_INT1x2            = 1099,
    CG_INT1x3            = 1100,
    CG_INT1x4            = 1101,
    CG_INT2x1            = 1102,
    CG_INT2x2            = 1103,
    CG_INT2x3            = 1104,
    CG_INT2x4            = 1105,
    CG_INT3x1            = 1106,
    CG_INT3x2            = 1107,
    CG_INT3x3            = 1108,
    CG_INT3x4            = 1109,
    CG_INT4x1            = 1110,
    CG_INT4x2            = 1111,
    CG_INT4x3            = 1112,
    CG_INT4x4            = 1113,
    CG_LONG              = 1271,
    CG_LONG1             = 1272,
    CG_LONG2             = 1273,
    CG_LONG3             = 1274,
    CG_LONG4             = 1275,
    CG_LONG1x1           = 1276,
    CG_LONG1x2           = 1277,
    CG_LONG1x3           = 1278,
    CG_LONG1x4           = 1279,
    CG_LONG2x1           = 1280,
    CG_LONG2x2           = 1281,
    CG_LONG2x3           = 1282,
    CG_LONG2x4           = 1283,
    CG_LONG3x1           = 1284,
    CG_LONG3x2           = 1285,
    CG_LONG3x3           = 1286,
    CG_LONG3x4           = 1287,
    CG_LONG4x1           = 1288,
    CG_LONG4x2           = 1289,
    CG_LONG4x3           = 1290,
    CG_LONG4x4           = 1291,
    CG_SHORT             = 1208,
    CG_SHORT1            = 1209,
    CG_SHORT2            = 1210,
    CG_SHORT3            = 1211,
    CG_SHORT4            = 1212,
    CG_SHORT1x1          = 1213,
    CG_SHORT1x2          = 1214,
    CG_SHORT1x3          = 1215,
    CG_SHORT1x4          = 1216,
    CG_SHORT2x1          = 1217,
    CG_SHORT2x2          = 1218,
    CG_SHORT2x3          = 1219,
    CG_SHORT2x4          = 1220,
    CG_SHORT3x1          = 1221,
    CG_SHORT3x2          = 1222,
    CG_SHORT3x3          = 1223,
    CG_SHORT3x4          = 1224,
    CG_SHORT4x1          = 1225,
    CG_SHORT4x2          = 1226,
    CG_SHORT4x3          = 1227,
    CG_SHORT4x4          = 1228,
    CG_UCHAR             = 1187,
    CG_UCHAR1            = 1188,
    CG_UCHAR2            = 1189,
    CG_UCHAR3            = 1190,
    CG_UCHAR4            = 1191,
    CG_UCHAR1x1          = 1192,
    CG_UCHAR1x2          = 1193,
    CG_UCHAR1x3          = 1194,
    CG_UCHAR1x4          = 1195,
    CG_UCHAR2x1          = 1196,
    CG_UCHAR2x2          = 1197,
    CG_UCHAR2x3          = 1198,
    CG_UCHAR2x4          = 1199,
    CG_UCHAR3x1          = 1200,
    CG_UCHAR3x2          = 1201,
    CG_UCHAR3x3          = 1202,
    CG_UCHAR3x4          = 1203,
    CG_UCHAR4x1          = 1204,
    CG_UCHAR4x2          = 1205,
    CG_UCHAR4x3          = 1206,
    CG_UCHAR4x4          = 1207,
    CG_UINT              = 1250,
    CG_UINT1             = 1251,
    CG_UINT2             = 1252,
    CG_UINT3             = 1253,
    CG_UINT4             = 1254,
    CG_UINT1x1           = 1255,
    CG_UINT1x2           = 1256,
    CG_UINT1x3           = 1257,
    CG_UINT1x4           = 1258,
    CG_UINT2x1           = 1259,
    CG_UINT2x2           = 1260,
    CG_UINT2x3           = 1261,
    CG_UINT2x4           = 1262,
    CG_UINT3x1           = 1263,
    CG_UINT3x2           = 1264,
    CG_UINT3x3           = 1265,
    CG_UINT3x4           = 1266,
    CG_UINT4x1           = 1267,
    CG_UINT4x2           = 1268,
    CG_UINT4x3           = 1269,
    CG_UINT4x4           = 1270,
    CG_ULONG             = 1292,
    CG_ULONG1            = 1293,
    CG_ULONG2            = 1294,
    CG_ULONG3            = 1295,
    CG_ULONG4            = 1296,
    CG_ULONG1x1          = 1297,
    CG_ULONG1x2          = 1298,
    CG_ULONG1x3          = 1299,
    CG_ULONG1x4          = 1300,
    CG_ULONG2x1          = 1301,
    CG_ULONG2x2          = 1302,
    CG_ULONG2x3          = 1303,
    CG_ULONG2x4          = 1304,
    CG_ULONG3x1          = 1305,
    CG_ULONG3x2          = 1306,
    CG_ULONG3x3          = 1307,
    CG_ULONG3x4          = 1308,
    CG_ULONG4x1          = 1309,
    CG_ULONG4x2          = 1310,
    CG_ULONG4x3          = 1311,
    CG_ULONG4x4          = 1312,
    CG_USHORT            = 1229,
    CG_USHORT1           = 1230,
    CG_USHORT2           = 1231,
    CG_USHORT3           = 1232,
    CG_USHORT4           = 1233,
    CG_USHORT1x1         = 1234,
    CG_USHORT1x2         = 1235,
    CG_USHORT1x3         = 1236,
    CG_USHORT1x4         = 1237,
    CG_USHORT2x1         = 1238,
    CG_USHORT2x2         = 1239,
    CG_USHORT2x3         = 1240,
    CG_USHORT2x4         = 1241,
    CG_USHORT3x1         = 1242,
    CG_USHORT3x2         = 1243,
    CG_USHORT3x3         = 1244,
    CG_USHORT3x4         = 1245,
    CG_USHORT4x1         = 1246,
    CG_USHORT4x2         = 1247,
    CG_USHORT4x3         = 1248,
    CG_USHORT4x4         = 1249
  } CGtype;
  
  typedef enum
  {
    CG_TEXUNIT0              = 2048,
    CG_TEXUNIT1              = 2049,
    CG_TEXUNIT2              = 2050,
    CG_TEXUNIT3              = 2051,
    CG_TEXUNIT4              = 2052,
    CG_TEXUNIT5              = 2053,
    CG_TEXUNIT6              = 2054,
    CG_TEXUNIT7              = 2055,
    CG_TEXUNIT8              = 2056,
    CG_TEXUNIT9              = 2057,
    CG_TEXUNIT10             = 2058,
    CG_TEXUNIT11             = 2059,
    CG_TEXUNIT12             = 2060,
    CG_TEXUNIT13             = 2061,
    CG_TEXUNIT14             = 2062,
    CG_TEXUNIT15             = 2063,
    CG_TEXUNIT16             = 4624,
    CG_TEXUNIT17             = 4625,
    CG_TEXUNIT18             = 4626,
    CG_TEXUNIT19             = 4627,
    CG_TEXUNIT20             = 4628,
    CG_TEXUNIT21             = 4629,
    CG_TEXUNIT22             = 4630,
    CG_TEXUNIT23             = 4631,
    CG_TEXUNIT24             = 4632,
    CG_TEXUNIT25             = 4633,
    CG_TEXUNIT26             = 4634,
    CG_TEXUNIT27             = 4635,
    CG_TEXUNIT28             = 4636,
    CG_TEXUNIT29             = 4637,
    CG_TEXUNIT30             = 4638,
    CG_TEXUNIT31             = 4639,
    CG_BUFFER0               = 2064,
    CG_BUFFER1               = 2065,
    CG_BUFFER2               = 2066,
    CG_BUFFER3               = 2067,
    CG_BUFFER4               = 2068,
    CG_BUFFER5               = 2069,
    CG_BUFFER6               = 2070,
    CG_BUFFER7               = 2071,
    CG_BUFFER8               = 2072,
    CG_BUFFER9               = 2073,
    CG_BUFFER10              = 2074,
    CG_BUFFER11              = 2075,
    CG_ATTR0                 = 2113,
    CG_ATTR1                 = 2114,
    CG_ATTR2                 = 2115,
    CG_ATTR3                 = 2116,
    CG_ATTR4                 = 2117,
    CG_ATTR5                 = 2118,
    CG_ATTR6                 = 2119,
    CG_ATTR7                 = 2120,
    CG_ATTR8                 = 2121,
    CG_ATTR9                 = 2122,
    CG_ATTR10                = 2123,
    CG_ATTR11                = 2124,
    CG_ATTR12                = 2125,
    CG_ATTR13                = 2126,
    CG_ATTR14                = 2127,
    CG_ATTR15                = 2128,
    CG_C                     = 2178,
    CG_TEX0                  = 2179,
    CG_TEX1                  = 2180,
    CG_TEX2                  = 2181,
    CG_TEX3                  = 2192,
    CG_TEX4                  = 2193,
    CG_TEX5                  = 2194,
    CG_TEX6                  = 2195,
    CG_TEX7                  = 2196,
    CG_HPOS                  = 2243,
    CG_COL0                  = 2245,
    CG_COL1                  = 2246,
    CG_COL2                  = 2247,
    CG_COL3                  = 2248,
    CG_PSIZ                  = 2309,
    CG_CLP0                  = 2310,
    CG_CLP1                  = 2311,
    CG_CLP2                  = 2312,
    CG_CLP3                  = 2313,
    CG_CLP4                  = 2314,
    CG_CLP5                  = 2315,
    CG_WPOS                  = 2373,
    CG_POINTCOORD            = 2374,
    CG_POSITION0             = 2437,
    CG_POSITION1             = 2438,
    CG_POSITION2             = 2439,
    CG_POSITION3             = 2440,
    CG_POSITION4             = 2441,
    CG_POSITION5             = 2442,
    CG_POSITION6             = 2443,
    CG_POSITION7             = 2444,
    CG_POSITION8             = 2445,
    CG_POSITION9             = 2446,
    CG_POSITION10            = 2447,
    CG_POSITION11            = 2448,
    CG_POSITION12            = 2449,
    CG_POSITION13            = 2450,
    CG_POSITION14            = 2451,
    CG_POSITION15            = 2452,
    CG_DIFFUSE0              = 2501,
    CG_TANGENT0              = 2565,
    CG_TANGENT1              = 2566,
    CG_TANGENT2              = 2567,
    CG_TANGENT3              = 2568,
    CG_TANGENT4              = 2569,
    CG_TANGENT5              = 2570,
    CG_TANGENT6              = 2571,
    CG_TANGENT7              = 2572,
    CG_TANGENT8              = 2573,
    CG_TANGENT9              = 2574,
    CG_TANGENT10             = 2575,
    CG_TANGENT11             = 2576,
    CG_TANGENT12             = 2577,
    CG_TANGENT13             = 2578,
    CG_TANGENT14             = 2579,
    CG_TANGENT15             = 2580,
    CG_SPECULAR0             = 2629,
    CG_BLENDINDICES0         = 2693,
    CG_BLENDINDICES1         = 2694,
    CG_BLENDINDICES2         = 2695,
    CG_BLENDINDICES3         = 2696,
    CG_BLENDINDICES4         = 2697,
    CG_BLENDINDICES5         = 2698,
    CG_BLENDINDICES6         = 2699,
    CG_BLENDINDICES7         = 2700,
    CG_BLENDINDICES8         = 2701,
    CG_BLENDINDICES9         = 2702,
    CG_BLENDINDICES10        = 2703,
    CG_BLENDINDICES11        = 2704,
    CG_BLENDINDICES12        = 2705,
    CG_BLENDINDICES13        = 2706,
    CG_BLENDINDICES14        = 2707,
    CG_BLENDINDICES15        = 2708,
    CG_COLOR0                = 2757,
    CG_COLOR1                = 2758,
    CG_COLOR2                = 2759,
    CG_COLOR3                = 2760,
    CG_COLOR4                = 2761,
    CG_COLOR5                = 2762,
    CG_COLOR6                = 2763,
    CG_COLOR7                = 2764,
    CG_COLOR8                = 2765,
    CG_COLOR9                = 2766,
    CG_COLOR10               = 2767,
    CG_COLOR11               = 2768,
    CG_COLOR12               = 2769,
    CG_COLOR13               = 2770,
    CG_COLOR14               = 2771,
    CG_COLOR15               = 2772,
    CG_PSIZE0                = 2821,
    CG_PSIZE1                = 2822,
    CG_PSIZE2                = 2823,
    CG_PSIZE3                = 2824,
    CG_PSIZE4                = 2825,
    CG_PSIZE5                = 2826,
    CG_PSIZE6                = 2827,
    CG_PSIZE7                = 2828,
    CG_PSIZE8                = 2829,
    CG_PSIZE9                = 2830,
    CG_PSIZE10               = 2831,
    CG_PSIZE11               = 2832,
    CG_PSIZE12               = 2833,
    CG_PSIZE13               = 2834,
    CG_PSIZE14               = 2835,
    CG_PSIZE15               = 2836,
    CG_BINORMAL0             = 2885,
    CG_BINORMAL1             = 2886,
    CG_BINORMAL2             = 2887,
    CG_BINORMAL3             = 2888,
    CG_BINORMAL4             = 2889,
    CG_BINORMAL5             = 2890,
    CG_BINORMAL6             = 2891,
    CG_BINORMAL7             = 2892,
    CG_BINORMAL8             = 2893,
    CG_BINORMAL9             = 2894,
    CG_BINORMAL10            = 2895,
    CG_BINORMAL11            = 2896,
    CG_BINORMAL12            = 2897,
    CG_BINORMAL13            = 2898,
    CG_BINORMAL14            = 2899,
    CG_BINORMAL15            = 2900,
    CG_FOG0                  = 2917,
    CG_FOG1                  = 2918,
    CG_FOG2                  = 2919,
    CG_FOG3                  = 2920,
    CG_FOG4                  = 2921,
    CG_FOG5                  = 2922,
    CG_FOG6                  = 2923,
    CG_FOG7                  = 2924,
    CG_FOG8                  = 2925,
    CG_FOG9                  = 2926,
    CG_FOG10                 = 2927,
    CG_FOG11                 = 2928,
    CG_FOG12                 = 2929,
    CG_FOG13                 = 2930,
    CG_FOG14                 = 2931,
    CG_FOG15                 = 2932,
    CG_DEPTH0                = 2933,
    CG_DEPTH1                = 2934,
    CG_DEPTH2                = 2935,
    CG_DEPTH3                = 2936,
    CG_DEPTH4                = 2937,
    CG_DEPTH5                = 2938,
    CG_DEPTH6                = 2939,
    CG_DEPTH7                = 2940,
    CG_DEPTH8                = 2941,
    CG_DEPTH9                = 2942,
    CG_DEPTH10               = 2943,
    CG_DEPTH11               = 2944,
    CG_DEPTH12               = 2945,
    CG_DEPTH13               = 2946,
    CG_DEPTH14               = 2947,
    CG_DEPTH15               = 2948,
    CG_SAMPLE0               = 2949,
    CG_SAMPLE1               = 2950,
    CG_SAMPLE2               = 2951,
    CG_SAMPLE3               = 2952,
    CG_SAMPLE4               = 2953,
    CG_SAMPLE5               = 2954,
    CG_SAMPLE6               = 2955,
    CG_SAMPLE7               = 2956,
    CG_SAMPLE8               = 2957,
    CG_SAMPLE9               = 2958,
    CG_SAMPLE10              = 2959,
    CG_SAMPLE11              = 2960,
    CG_SAMPLE12              = 2961,
    CG_SAMPLE13              = 2962,
    CG_SAMPLE14              = 2963,
    CG_SAMPLE15              = 2964,
    CG_BLENDWEIGHT0          = 3028,
    CG_BLENDWEIGHT1          = 3029,
    CG_BLENDWEIGHT2          = 3030,
    CG_BLENDWEIGHT3          = 3031,
    CG_BLENDWEIGHT4          = 3032,
    CG_BLENDWEIGHT5          = 3033,
    CG_BLENDWEIGHT6          = 3034,
    CG_BLENDWEIGHT7          = 3035,
    CG_BLENDWEIGHT8          = 3036,
    CG_BLENDWEIGHT9          = 3037,
    CG_BLENDWEIGHT10         = 3038,
    CG_BLENDWEIGHT11         = 3039,
    CG_BLENDWEIGHT12         = 3040,
    CG_BLENDWEIGHT13         = 3041,
    CG_BLENDWEIGHT14         = 3042,
    CG_BLENDWEIGHT15         = 3043,
    CG_NORMAL0               = 3092,
    CG_NORMAL1               = 3093,
    CG_NORMAL2               = 3094,
    CG_NORMAL3               = 3095,
    CG_NORMAL4               = 3096,
    CG_NORMAL5               = 3097,
    CG_NORMAL6               = 3098,
    CG_NORMAL7               = 3099,
    CG_NORMAL8               = 3100,
    CG_NORMAL9               = 3101,
    CG_NORMAL10              = 3102,
    CG_NORMAL11              = 3103,
    CG_NORMAL12              = 3104,
    CG_NORMAL13              = 3105,
    CG_NORMAL14              = 3106,
    CG_NORMAL15              = 3107,
    CG_FOGCOORD              = 3156,
    CG_TEXCOORD0             = 3220,
    CG_TEXCOORD1             = 3221,
    CG_TEXCOORD2             = 3222,
    CG_TEXCOORD3             = 3223,
    CG_TEXCOORD4             = 3224,
    CG_TEXCOORD5             = 3225,
    CG_TEXCOORD6             = 3226,
    CG_TEXCOORD7             = 3227,
    CG_TEXCOORD8             = 3228,
    CG_TEXCOORD9             = 3229,
    CG_TEXCOORD10            = 3230,
    CG_TEXCOORD11            = 3231,
    CG_TEXCOORD12            = 3232,
    CG_TEXCOORD13            = 3233,
    CG_TEXCOORD14            = 3234,
    CG_TEXCOORD15            = 3235,
    CG_COMBINER_CONST0       = 3284,
    CG_COMBINER_CONST1       = 3285,
    CG_COMBINER_STAGE_CONST0 = 3286,
    CG_COMBINER_STAGE_CONST1 = 3287,
    CG_OFFSET_TEXTURE_MATRIX = 3288,
    CG_OFFSET_TEXTURE_SCALE  = 3289,
    CG_OFFSET_TEXTURE_BIAS   = 3290,
    CG_CONST_EYE             = 3291,
    CG_COVERAGE              = 3292,
    CG_TESSFACTOR            = 3255,
    CG_GLSL_UNIFORM          = 3300,
    CG_GLSL_ATTRIB           = 3301,
    CG_ENV                   = 3302,
    CG_HLSL_UNIFORM          = 3559,
    CG_HLSL_VARYING          = 3560,
    CG_SAMPLER_RES           = 3561,
    CG_LASTCOL0              = 4400,
    CG_LASTCOL1              = 4401,
    CG_LASTCOL2              = 4402,
    CG_LASTCOL3              = 4403,
    CG_LASTCOL4              = 4404,
    CG_LASTCOL5              = 4405,
    CG_LASTCOL6              = 4406,
    CG_LASTCOL7              = 4407,
    CG_FACE                  = 4410,
    CG_PRIMITIVEID           = 4411,
    CG_INSTANCEID            = 4412,
    CG_SAMPLEID              = 4413,
    CG_VERTEXID              = 4414,
    CG_LAYER                 = 4415,
    CG_SAMPLEMASK            = 4416,
    CG_CONTROLPOINTID        = 4417,
    CG_EDGETESS              = 4418,
    CG_INNERTESS             = 4419,
    CG_UNDEFINED             = 3256
  } CGresource;
  
  typedef enum
  {
    CG_PROFILE_UNKNOWN = 6145,
    CG_PROFILE_VP20    = 6146,
    CG_PROFILE_FP20    = 6147,
    CG_PROFILE_VP30    = 6148,
    CG_PROFILE_FP30    = 6149,
    CG_PROFILE_ARBVP1  = 6150,
    CG_PROFILE_FP40    = 6151,
    CG_PROFILE_ARBFP1  = 7000,
    CG_PROFILE_VP40    = 7001,
    CG_PROFILE_GLSLV   = 7007,
    CG_PROFILE_GLSLF   = 7008,
    CG_PROFILE_GLSLG   = 7016,
    CG_PROFILE_GLSLC   = 7009,
    CG_PROFILE_GPU_FP  = 7010, /* Deprecated alias for CG_PROFILE_GP4FP                    */
    CG_PROFILE_GPU_VP  = 7011, /* Deprecated alias for CG_PROFILE_GP4VP                    */
    CG_PROFILE_GPU_GP  = 7012, /* Deprecated alias for CG_PROFILE_GP4GP                    */
    CG_PROFILE_GP4FP   = 7010,
    CG_PROFILE_GP4VP   = 7011,
    CG_PROFILE_GP4GP   = 7012,
    CG_PROFILE_GP5FP   = 7017, /* NV_gpu_program5                                          */
    CG_PROFILE_GP5VP   = 7018, /* NV_gpu_program5                                          */
    CG_PROFILE_GP5GP   = 7019, /* NV_gpu_program5                                          */
    CG_PROFILE_GP5TCP  = 7020, /* NV_tessellation_program5 Tessellation control program    */
    CG_PROFILE_GP5TEP  = 7021, /* NV_tessellation_program5 Tessellation evaluation program */
    CG_PROFILE_VS_1_1  = 6153,
    CG_PROFILE_VS_2_0  = 6154,
    CG_PROFILE_VS_2_X  = 6155,
    CG_PROFILE_VS_2_SW = 6156,
    CG_PROFILE_VS_3_0  = 6157,
    CG_PROFILE_HLSLV   = 6158,
    CG_PROFILE_PS_1_1  = 6159,
    CG_PROFILE_PS_1_2  = 6160,
    CG_PROFILE_PS_1_3  = 6161,
    CG_PROFILE_PS_2_0  = 6162,
    CG_PROFILE_PS_2_X  = 6163,
    CG_PROFILE_PS_2_SW = 6164,
    CG_PROFILE_PS_3_0  = 6165,
    CG_PROFILE_HLSLF   = 6166,
    CG_PROFILE_VS_4_0  = 6167,
    CG_PROFILE_PS_4_0  = 6168,
    CG_PROFILE_GS_4_0  = 6169,
    CG_PROFILE_VS_5_0  = 6170,
    CG_PROFILE_PS_5_0  = 6171,
    CG_PROFILE_GS_5_0  = 6172,
    CG_PROFILE_HS_5_0  = 6173,
    CG_PROFILE_DS_5_0  = 6174,
    CG_PROFILE_GENERIC = 7002
  } CGprofile;
  
  typedef enum
  {
    CG_NO_ERROR                               = 0,
    CG_COMPILER_ERROR                         = 1,
    CG_INVALID_PARAMETER_ERROR                = 2,
    CG_INVALID_PROFILE_ERROR                  = 3,
    CG_PROGRAM_LOAD_ERROR                     = 4,
    CG_PROGRAM_BIND_ERROR                     = 5,
    CG_PROGRAM_NOT_LOADED_ERROR               = 6,
    CG_UNSUPPORTED_GL_EXTENSION_ERROR         = 7,
    CG_INVALID_VALUE_TYPE_ERROR               = 8,
    CG_NOT_MATRIX_PARAM_ERROR                 = 9,
    CG_INVALID_ENUMERANT_ERROR                = 10,
    CG_NOT_4x4_MATRIX_ERROR                   = 11,
    CG_FILE_READ_ERROR                        = 12,
    CG_FILE_WRITE_ERROR                       = 13,
    CG_NVPARSE_ERROR                          = 14,
    CG_MEMORY_ALLOC_ERROR                     = 15,
    CG_INVALID_CONTEXT_HANDLE_ERROR           = 16,
    CG_INVALID_PROGRAM_HANDLE_ERROR           = 17,
    CG_INVALID_PARAM_HANDLE_ERROR             = 18,
    CG_UNKNOWN_PROFILE_ERROR                  = 19,
    CG_VAR_ARG_ERROR                          = 20,
    CG_INVALID_DIMENSION_ERROR                = 21,
    CG_ARRAY_PARAM_ERROR                      = 22,
    CG_OUT_OF_ARRAY_BOUNDS_ERROR              = 23,
    CG_CONFLICTING_TYPES_ERROR                = 24,
    CG_CONFLICTING_PARAMETER_TYPES_ERROR      = 25,
    CG_PARAMETER_IS_NOT_SHARED_ERROR          = 26,
    CG_INVALID_PARAMETER_VARIABILITY_ERROR    = 27,
    CG_CANNOT_DESTROY_PARAMETER_ERROR         = 28,
    CG_NOT_ROOT_PARAMETER_ERROR               = 29,
    CG_PARAMETERS_DO_NOT_MATCH_ERROR          = 30,
    CG_IS_NOT_PROGRAM_PARAMETER_ERROR         = 31,
    CG_INVALID_PARAMETER_TYPE_ERROR           = 32,
    CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR = 33,
    CG_INVALID_SIZE_ERROR                     = 34,
    CG_BIND_CREATES_CYCLE_ERROR               = 35,
    CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR         = 36,
    CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR    = 37,
    CG_ARRAY_HAS_WRONG_DIMENSION_ERROR        = 38,
    CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR   = 39,
    CG_INVALID_EFFECT_HANDLE_ERROR            = 40,
    CG_INVALID_STATE_HANDLE_ERROR             = 41,
    CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR  = 42,
    CG_INVALID_PASS_HANDLE_ERROR              = 43,
    CG_INVALID_ANNOTATION_HANDLE_ERROR        = 44,
    CG_INVALID_TECHNIQUE_HANDLE_ERROR         = 45,
    CG_INVALID_PARAMETER_HANDLE_ERROR         = 46,
    CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR   = 47,
    CG_INVALID_FUNCTION_HANDLE_ERROR          = 48,
    CG_INVALID_TECHNIQUE_ERROR                = 49,
    CG_INVALID_POINTER_ERROR                  = 50,
    CG_NOT_ENOUGH_DATA_ERROR                  = 51,
    CG_NON_NUMERIC_PARAMETER_ERROR            = 52,
    CG_ARRAY_SIZE_MISMATCH_ERROR              = 53,
    CG_CANNOT_SET_NON_UNIFORM_PARAMETER_ERROR = 54,
    CG_DUPLICATE_NAME_ERROR                   = 55,
    CG_INVALID_OBJ_HANDLE_ERROR               = 56,
    CG_INVALID_BUFFER_HANDLE_ERROR            = 57,
    CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR        = 58,
    CG_BUFFER_ALREADY_MAPPED_ERROR            = 59,
    CG_BUFFER_UPDATE_NOT_ALLOWED_ERROR        = 60,
    CG_GLSLG_UNCOMBINED_LOAD_ERROR            = 61
  } CGerror;
  
  typedef enum
  {
    CG_UNKNOWN                            = 4096,
    CG_IN                                 = 4097,
    CG_OUT                                = 4098,
    CG_INOUT                              = 4099,
    CG_MIXED                              = 4100,
    CG_VARYING                            = 4101,
    CG_UNIFORM                            = 4102,
    CG_CONSTANT                           = 4103,
    CG_PROGRAM_SOURCE                     = 4104, /* cgGetProgramString                       */
    CG_PROGRAM_ENTRY                      = 4105, /* cgGetProgramString                       */
    CG_COMPILED_PROGRAM                   = 4106, /* cgGetProgramString                       */
    CG_PROGRAM_PROFILE                    = 4107, /* cgGetProgramString                       */
    CG_GLOBAL                             = 4108,
    CG_PROGRAM                            = 4109,
    CG_DEFAULT                            = 4110,
    CG_ERROR                              = 4111,
    CG_SOURCE                             = 4112,
    CG_OBJECT                             = 4113,
    CG_COMPILE_MANUAL                     = 4114,
    CG_COMPILE_IMMEDIATE                  = 4115,
    CG_COMPILE_LAZY                       = 4116,
    CG_CURRENT                            = 4117,
    CG_LITERAL                            = 4118,
    CG_VERSION                            = 4119, /* cgGetString                              */
    CG_ROW_MAJOR                          = 4120,
    CG_COLUMN_MAJOR                       = 4121,
    CG_FRAGMENT                           = 4122, /* cgGetProgramInput and cgGetProgramOutput */
    CG_VERTEX                             = 4123, /* cgGetProgramInput and cgGetProgramOutput */
    CG_POINT                              = 4124, /* Geometry program cgGetProgramInput       */
    CG_LINE                               = 4125, /* Geometry program cgGetProgramInput       */
    CG_LINE_ADJ                           = 4126, /* Geometry program cgGetProgramInput       */
    CG_TRIANGLE                           = 4127, /* Geometry program cgGetProgramInput       */
    CG_TRIANGLE_ADJ                       = 4128, /* Geometry program cgGetProgramInput       */
    CG_POINT_OUT                          = 4129, /* Geometry program cgGetProgramOutput      */
    CG_LINE_OUT                           = 4130, /* Geometry program cgGetProgramOutput      */
    CG_TRIANGLE_OUT                       = 4131, /* Geometry program cgGetProgramOutput      */
    CG_IMMEDIATE_PARAMETER_SETTING        = 4132,
    CG_DEFERRED_PARAMETER_SETTING         = 4133,
    CG_NO_LOCKS_POLICY                    = 4134,
    CG_THREAD_SAFE_POLICY                 = 4135,
    CG_FORCE_UPPER_CASE_POLICY            = 4136,
    CG_UNCHANGED_CASE_POLICY              = 4137,
    CG_IS_OPENGL_PROFILE                  = 4138,
    CG_IS_DIRECT3D_PROFILE                = 4139,
    CG_IS_DIRECT3D_8_PROFILE              = 4140,
    CG_IS_DIRECT3D_9_PROFILE              = 4141,
    CG_IS_DIRECT3D_10_PROFILE             = 4142,
    CG_IS_VERTEX_PROFILE                  = 4143,
    CG_IS_FRAGMENT_PROFILE                = 4144,
    CG_IS_GEOMETRY_PROFILE                = 4145,
    CG_IS_TRANSLATION_PROFILE             = 4146,
    CG_IS_HLSL_PROFILE                    = 4147,
    CG_IS_GLSL_PROFILE                    = 4148,
    CG_IS_TESSELLATION_CONTROL_PROFILE    = 4149,
    CG_IS_TESSELLATION_EVALUATION_PROFILE = 4150,
    CG_PATCH                              = 4152, /* cgGetProgramInput and cgGetProgramOutput */
    CG_IS_DIRECT3D_11_PROFILE             = 4153
  } CGenum;
  
  typedef enum
  {
    CG_PARAMETERCLASS_UNKNOWN = 0,
    CG_PARAMETERCLASS_SCALAR  = 1,
    CG_PARAMETERCLASS_VECTOR  = 2,
    CG_PARAMETERCLASS_MATRIX  = 3,
    CG_PARAMETERCLASS_STRUCT  = 4,
    CG_PARAMETERCLASS_ARRAY   = 5,
    CG_PARAMETERCLASS_SAMPLER = 6,
    CG_PARAMETERCLASS_OBJECT  = 7
  } CGparameterclass;
  
  typedef enum
  {
    CG_UNKNOWN_DOMAIN                 = 0,
    CG_FIRST_DOMAIN                   = 1,
    CG_VERTEX_DOMAIN                  = 1,
    CG_FRAGMENT_DOMAIN                = 2,
    CG_GEOMETRY_DOMAIN                = 3,
    CG_TESSELLATION_CONTROL_DOMAIN    = 4,
    CG_TESSELLATION_EVALUATION_DOMAIN = 5
  } CGdomain;
  
  typedef enum
  {
    CG_MAP_READ               = 0,
    CG_MAP_WRITE              = 1,
    CG_MAP_READ_WRITE         = 2,
    CG_MAP_WRITE_DISCARD      = 3,
    CG_MAP_WRITE_NO_OVERWRITE = 4
  } CGbufferaccess;
  
  typedef enum
  {
    CG_BUFFER_USAGE_STREAM_DRAW  = 0,
    CG_BUFFER_USAGE_STREAM_READ  = 1,
    CG_BUFFER_USAGE_STREAM_COPY  = 2,
    CG_BUFFER_USAGE_STATIC_DRAW  = 3,
    CG_BUFFER_USAGE_STATIC_READ  = 4,
    CG_BUFFER_USAGE_STATIC_COPY  = 5,
    CG_BUFFER_USAGE_DYNAMIC_DRAW = 6,
    CG_BUFFER_USAGE_DYNAMIC_READ = 7,
    CG_BUFFER_USAGE_DYNAMIC_COPY = 8
  } CGbufferusage;
  
  #ifdef __cplusplus
  extern "C"
  {
  #endif
  
  typedef CGbool (CGENTRY * CGstatecallback)(CGstateassignment);
  typedef void (CGENTRY * CGerrorCallbackFunc)(void);
  typedef void (CGENTRY * CGerrorHandlerFunc)(CGcontext, CGerror, void *);
  typedef void (CGENTRY * CGIncludeCallbackFunc)(CGcontext, const char *);
  
  /*************************************************************************/
  /*** Functions                                                         ***/
  /*************************************************************************/
  
  #ifndef CG_EXPLICIT
  
  CG_API CGenum CGENTRY cgSetLockingPolicy(CGenum lockingPolicy);
  CG_API CGenum CGENTRY cgGetLockingPolicy(void);
  CG_API CGenum CGENTRY cgSetSemanticCasePolicy(CGenum casePolicy);
  CG_API CGenum CGENTRY cgGetSemanticCasePolicy(void);
  CG_API CGcontext CGENTRY cgCreateContext(void);
  CG_API void CGENTRY cgSetContextBehavior(CGcontext context, CGbehavior behavior);
  CG_API CGbehavior CGENTRY cgGetContextBehavior(CGcontext context);
  CG_API const char * CGENTRY cgGetBehaviorString(CGbehavior behavior);
  CG_API CGbehavior CGENTRY cgGetBehavior(const char *behavior_string);
  CG_API void CGENTRY cgDestroyContext(CGcontext context);
  CG_API CGbool CGENTRY cgIsContext(CGcontext context);
  CG_API const char * CGENTRY cgGetLastListing(CGcontext context);
  CG_API void CGENTRY cgSetLastListing(CGhandle handle, const char *listing);
  CG_API void CGENTRY cgSetAutoCompile(CGcontext context, CGenum autoCompileMode);
  CG_API CGenum CGENTRY cgGetAutoCompile(CGcontext context);
  CG_API void CGENTRY cgSetParameterSettingMode(CGcontext context, CGenum parameterSettingMode);
  CG_API CGenum CGENTRY cgGetParameterSettingMode(CGcontext context);
  CG_API void CGENTRY cgSetCompilerIncludeString(CGcontext context, const char *name, const char *source);
  CG_API void CGENTRY cgSetCompilerIncludeFile(CGcontext context, const char *name, const char *filename);
  CG_API void CGENTRY cgSetCompilerIncludeCallback(CGcontext context, CGIncludeCallbackFunc func);
  CG_API CGIncludeCallbackFunc CGENTRY cgGetCompilerIncludeCallback(CGcontext context);
  CG_API CGprogram CGENTRY cgCreateProgram(CGcontext context, CGenum program_type, const char *program, CGprofile profile, const char *entry, const char **args);
  CG_API CGprogram CGENTRY cgCreateProgramFromFile(CGcontext context, CGenum program_type, const char *program_file, CGprofile profile, const char *entry, const char **args);
  CG_API CGprogram CGENTRY cgCopyProgram(CGprogram program);
  CG_API void CGENTRY cgDestroyProgram(CGprogram program);
  CG_API CGprogram CGENTRY cgGetFirstProgram(CGcontext context);
  CG_API CGprogram CGENTRY cgGetNextProgram(CGprogram current);
  CG_API CGcontext CGENTRY cgGetProgramContext(CGprogram program);
  CG_API CGbool CGENTRY cgIsProgram(CGprogram program);
  CG_API void CGENTRY cgCompileProgram(CGprogram program);
  CG_API CGbool CGENTRY cgIsProgramCompiled(CGprogram program);
  CG_API const char * CGENTRY cgGetProgramString(CGprogram program, CGenum pname);
  CG_API CGprofile CGENTRY cgGetProgramProfile(CGprogram program);
  CG_API char const * const * CGENTRY cgGetProgramOptions(CGprogram program);
  CG_API void CGENTRY cgSetProgramProfile(CGprogram program, CGprofile profile);
  CG_API CGenum CGENTRY cgGetProgramInput(CGprogram program);
  CG_API CGenum CGENTRY cgGetProgramOutput(CGprogram program);
  CG_API void CGENTRY cgSetPassProgramParameters(CGprogram program);
  CG_API void CGENTRY cgUpdateProgramParameters(CGprogram program);
  CG_API void CGENTRY cgUpdatePassParameters(CGpass pass);
  CG_API CGparameter CGENTRY cgCreateParameter(CGcontext context, CGtype type);
  CG_API CGparameter CGENTRY cgCreateParameterArray(CGcontext context, CGtype type, int length);
  CG_API CGparameter CGENTRY cgCreateParameterMultiDimArray(CGcontext context, CGtype type, int dim, const int *lengths);
  CG_API void CGENTRY cgDestroyParameter(CGparameter param);
  CG_API void CGENTRY cgConnectParameter(CGparameter from, CGparameter to);
  CG_API void CGENTRY cgDisconnectParameter(CGparameter param);
  CG_API CGparameter CGENTRY cgGetConnectedParameter(CGparameter param);
  CG_API int CGENTRY cgGetNumConnectedToParameters(CGparameter param);
  CG_API CGparameter CGENTRY cgGetConnectedToParameter(CGparameter param, int index);
  CG_API CGparameter CGENTRY cgGetNamedParameter(CGprogram program, const char *name);
  CG_API CGparameter CGENTRY cgGetNamedProgramParameter(CGprogram program, CGenum name_space, const char *name);
  CG_API CGparameter CGENTRY cgGetFirstParameter(CGprogram program, CGenum name_space);
  CG_API CGparameter CGENTRY cgGetNextParameter(CGparameter current);
  CG_API CGparameter CGENTRY cgGetFirstLeafParameter(CGprogram program, CGenum name_space);
  CG_API CGparameter CGENTRY cgGetNextLeafParameter(CGparameter current);
  CG_API CGparameter CGENTRY cgGetFirstStructParameter(CGparameter param);
  CG_API CGparameter CGENTRY cgGetNamedStructParameter(CGparameter param, const char *name);
  CG_API CGparameter CGENTRY cgGetFirstDependentParameter(CGparameter param);
  CG_API CGparameter CGENTRY cgGetArrayParameter(CGparameter aparam, int index);
  CG_API int CGENTRY cgGetArrayDimension(CGparameter param);
  CG_API CGtype CGENTRY cgGetArrayType(CGparameter param);
  CG_API int CGENTRY cgGetArraySize(CGparameter param, int dimension);
  CG_API int CGENTRY cgGetArrayTotalSize(CGparameter param);
  CG_API void CGENTRY cgSetArraySize(CGparameter param, int size);
  CG_API void CGENTRY cgSetMultiDimArraySize(CGparameter param, const int *sizes);
  CG_API CGprogram CGENTRY cgGetParameterProgram(CGparameter param);
  CG_API CGcontext CGENTRY cgGetParameterContext(CGparameter param);
  CG_API CGbool CGENTRY cgIsParameter(CGparameter param);
  CG_API const char * CGENTRY cgGetParameterName(CGparameter param);
  CG_API CGtype CGENTRY cgGetParameterType(CGparameter param);
  CG_API CGtype CGENTRY cgGetParameterBaseType(CGparameter param);
  CG_API CGparameterclass CGENTRY cgGetParameterClass(CGparameter param);
  CG_API int CGENTRY cgGetParameterRows(CGparameter param);
  CG_API int CGENTRY cgGetParameterColumns(CGparameter param);
  CG_API CGtype CGENTRY cgGetParameterNamedType(CGparameter param);
  CG_API const char * CGENTRY cgGetParameterSemantic(CGparameter param);
  CG_API CGresource CGENTRY cgGetParameterResource(CGparameter param);
  CG_API CGresource CGENTRY cgGetParameterBaseResource(CGparameter param);
  CG_API unsigned long CGENTRY cgGetParameterResourceIndex(CGparameter param);
  CG_API CGenum CGENTRY cgGetParameterVariability(CGparameter param);
  CG_API CGenum CGENTRY cgGetParameterDirection(CGparameter param);
  CG_API CGbool CGENTRY cgIsParameterReferenced(CGparameter param);
  CG_API CGbool CGENTRY cgIsParameterUsed(CGparameter param, CGhandle handle);
  CG_API const double * CGENTRY cgGetParameterValues(CGparameter param, CGenum value_type, int *nvalues);
  CG_API void CGENTRY cgSetParameterValuedr(CGparameter param, int nelements, const double *vals);
  CG_API void CGENTRY cgSetParameterValuedc(CGparameter param, int nelements, const double *vals);
  CG_API void CGENTRY cgSetParameterValuefr(CGparameter param, int nelements, const float *vals);
  CG_API void CGENTRY cgSetParameterValuefc(CGparameter param, int nelements, const float *vals);
  CG_API void CGENTRY cgSetParameterValueir(CGparameter param, int nelements, const int *vals);
  CG_API void CGENTRY cgSetParameterValueic(CGparameter param, int nelements, const int *vals);
  CG_API int CGENTRY cgGetParameterValuedr(CGparameter param, int nelements, double *vals);
  CG_API int CGENTRY cgGetParameterValuedc(CGparameter param, int nelements, double *vals);
  CG_API int CGENTRY cgGetParameterValuefr(CGparameter param, int nelements, float *vals);
  CG_API int CGENTRY cgGetParameterValuefc(CGparameter param, int nelements, float *vals);
  CG_API int CGENTRY cgGetParameterValueir(CGparameter param, int nelements, int *vals);
  CG_API int CGENTRY cgGetParameterValueic(CGparameter param, int nelements, int *vals);
  CG_API int CGENTRY cgGetParameterDefaultValuedr(CGparameter param, int nelements, double *vals);
  CG_API int CGENTRY cgGetParameterDefaultValuedc(CGparameter param, int nelements, double *vals);
  CG_API int CGENTRY cgGetParameterDefaultValuefr(CGparameter param, int nelements, float *vals);
  CG_API int CGENTRY cgGetParameterDefaultValuefc(CGparameter param, int nelements, float *vals);
  CG_API int CGENTRY cgGetParameterDefaultValueir(CGparameter param, int nelements, int *vals);
  CG_API int CGENTRY cgGetParameterDefaultValueic(CGparameter param, int nelements, int *vals);
  CG_API const char * CGENTRY cgGetStringParameterValue(CGparameter param);
  CG_API void CGENTRY cgSetStringParameterValue(CGparameter param, const char *str);
  CG_API int CGENTRY cgGetParameterOrdinalNumber(CGparameter param);
  CG_API CGbool CGENTRY cgIsParameterGlobal(CGparameter param);
  CG_API int CGENTRY cgGetParameterIndex(CGparameter param);
  CG_API void CGENTRY cgSetParameterVariability(CGparameter param, CGenum vary);
  CG_API void CGENTRY cgSetParameterSemantic(CGparameter param, const char *semantic);
  CG_API void CGENTRY cgSetParameter1f(CGparameter param, float x);
  CG_API void CGENTRY cgSetParameter2f(CGparameter param, float x, float y);
  CG_API void CGENTRY cgSetParameter3f(CGparameter param, float x, float y, float z);
  CG_API void CGENTRY cgSetParameter4f(CGparameter param, float x, float y, float z, float w);
  CG_API void CGENTRY cgSetParameter1d(CGparameter param, double x);
  CG_API void CGENTRY cgSetParameter2d(CGparameter param, double x, double y);
  CG_API void CGENTRY cgSetParameter3d(CGparameter param, double x, double y, double z);
  CG_API void CGENTRY cgSetParameter4d(CGparameter param, double x, double y, double z, double w);
  CG_API void CGENTRY cgSetParameter1i(CGparameter param, int x);
  CG_API void CGENTRY cgSetParameter2i(CGparameter param, int x, int y);
  CG_API void CGENTRY cgSetParameter3i(CGparameter param, int x, int y, int z);
  CG_API void CGENTRY cgSetParameter4i(CGparameter param, int x, int y, int z, int w);
  CG_API void CGENTRY cgSetParameter1iv(CGparameter param, const int *v);
  CG_API void CGENTRY cgSetParameter2iv(CGparameter param, const int *v);
  CG_API void CGENTRY cgSetParameter3iv(CGparameter param, const int *v);
  CG_API void CGENTRY cgSetParameter4iv(CGparameter param, const int *v);
  CG_API void CGENTRY cgSetParameter1fv(CGparameter param, const float *v);
  CG_API void CGENTRY cgSetParameter2fv(CGparameter param, const float *v);
  CG_API void CGENTRY cgSetParameter3fv(CGparameter param, const float *v);
  CG_API void CGENTRY cgSetParameter4fv(CGparameter param, const float *v);
  CG_API void CGENTRY cgSetParameter1dv(CGparameter param, const double *v);
  CG_API void CGENTRY cgSetParameter2dv(CGparameter param, const double *v);
  CG_API void CGENTRY cgSetParameter3dv(CGparameter param, const double *v);
  CG_API void CGENTRY cgSetParameter4dv(CGparameter param, const double *v);
  CG_API void CGENTRY cgSetMatrixParameterir(CGparameter param, const int *matrix);
  CG_API void CGENTRY cgSetMatrixParameterdr(CGparameter param, const double *matrix);
  CG_API void CGENTRY cgSetMatrixParameterfr(CGparameter param, const float *matrix);
  CG_API void CGENTRY cgSetMatrixParameteric(CGparameter param, const int *matrix);
  CG_API void CGENTRY cgSetMatrixParameterdc(CGparameter param, const double *matrix);
  CG_API void CGENTRY cgSetMatrixParameterfc(CGparameter param, const float *matrix);
  CG_API void CGENTRY cgGetMatrixParameterir(CGparameter param, int *matrix);
  CG_API void CGENTRY cgGetMatrixParameterdr(CGparameter param, double *matrix);
  CG_API void CGENTRY cgGetMatrixParameterfr(CGparameter param, float *matrix);
  CG_API void CGENTRY cgGetMatrixParameteric(CGparameter param, int *matrix);
  CG_API void CGENTRY cgGetMatrixParameterdc(CGparameter param, double *matrix);
  CG_API void CGENTRY cgGetMatrixParameterfc(CGparameter param, float *matrix);
  CG_API CGenum CGENTRY cgGetMatrixParameterOrder(CGparameter param);
  CG_API CGparameter CGENTRY cgGetNamedSubParameter(CGparameter param, const char *name);
  CG_API const char * CGENTRY cgGetTypeString(CGtype type);
  CG_API CGtype CGENTRY cgGetType(const char *type_string);
  CG_API CGtype CGENTRY cgGetNamedUserType(CGhandle handle, const char *name);
  CG_API int CGENTRY cgGetNumUserTypes(CGhandle handle);
  CG_API CGtype CGENTRY cgGetUserType(CGhandle handle, int index);
  CG_API int CGENTRY cgGetNumParentTypes(CGtype type);
  CG_API CGtype CGENTRY cgGetParentType(CGtype type, int index);
  CG_API CGbool CGENTRY cgIsParentType(CGtype parent, CGtype child);
  CG_API CGbool CGENTRY cgIsInterfaceType(CGtype type);
  CG_API const char * CGENTRY cgGetResourceString(CGresource resource);
  CG_API CGresource CGENTRY cgGetResource(const char *resource_string);
  CG_API const char * CGENTRY cgGetEnumString(CGenum en);
  CG_API CGenum CGENTRY cgGetEnum(const char *enum_string);
  CG_API const char * CGENTRY cgGetProfileString(CGprofile profile);
  CG_API CGprofile CGENTRY cgGetProfile(const char *profile_string);
  CG_API int CGENTRY cgGetNumSupportedProfiles(void);
  CG_API CGprofile CGENTRY cgGetSupportedProfile(int index);
  CG_API CGbool CGENTRY cgIsProfileSupported(CGprofile profile);
  CG_API CGbool CGENTRY cgGetProfileProperty(CGprofile profile, CGenum query);
  CG_API const char * CGENTRY cgGetParameterClassString(CGparameterclass pc);
  CG_API CGparameterclass CGENTRY cgGetParameterClassEnum(const char *pString);
  CG_API const char * CGENTRY cgGetDomainString(CGdomain domain);
  CG_API CGdomain CGENTRY cgGetDomain(const char *domain_string);
  CG_API CGdomain CGENTRY cgGetProgramDomain(CGprogram program);
  CG_API CGerror CGENTRY cgGetError(void);
  CG_API CGerror CGENTRY cgGetFirstError(void);
  CG_API const char * CGENTRY cgGetErrorString(CGerror error);
  CG_API const char * CGENTRY cgGetLastErrorString(CGerror *error);
  CG_API void CGENTRY cgSetErrorCallback(CGerrorCallbackFunc func);
  CG_API CGerrorCallbackFunc CGENTRY cgGetErrorCallback(void);
  CG_API void CGENTRY cgSetErrorHandler(CGerrorHandlerFunc func, void *data);
  CG_API CGerrorHandlerFunc CGENTRY cgGetErrorHandler(void **data);
  CG_API const char * CGENTRY cgGetString(CGenum sname);
  CG_API CGeffect CGENTRY cgCreateEffect(CGcontext context, const char *code, const char **args);
  CG_API CGeffect CGENTRY cgCreateEffectFromFile(CGcontext context, const char *filename, const char **args);
  CG_API CGeffect CGENTRY cgCopyEffect(CGeffect effect);
  CG_API void CGENTRY cgDestroyEffect(CGeffect effect);
  CG_API CGcontext CGENTRY cgGetEffectContext(CGeffect effect);
  CG_API CGbool CGENTRY cgIsEffect(CGeffect effect);
  CG_API CGeffect CGENTRY cgGetFirstEffect(CGcontext context);
  CG_API CGeffect CGENTRY cgGetNextEffect(CGeffect effect);
  CG_API CGprogram CGENTRY cgCreateProgramFromEffect(CGeffect effect, CGprofile profile, const char *entry, const char **args);
  CG_API CGtechnique CGENTRY cgGetFirstTechnique(CGeffect effect);
  CG_API CGtechnique CGENTRY cgGetNextTechnique(CGtechnique tech);
  CG_API CGtechnique CGENTRY cgGetNamedTechnique(CGeffect effect, const char *name);
  CG_API const char * CGENTRY cgGetTechniqueName(CGtechnique tech);
  CG_API CGbool CGENTRY cgIsTechnique(CGtechnique tech);
  CG_API CGbool CGENTRY cgValidateTechnique(CGtechnique tech);
  CG_API CGbool CGENTRY cgIsTechniqueValidated(CGtechnique tech);
  CG_API CGeffect CGENTRY cgGetTechniqueEffect(CGtechnique tech);
  CG_API CGpass CGENTRY cgGetFirstPass(CGtechnique tech);
  CG_API CGpass CGENTRY cgGetNamedPass(CGtechnique tech, const char *name);
  CG_API CGpass CGENTRY cgGetNextPass(CGpass pass);
  CG_API CGbool CGENTRY cgIsPass(CGpass pass);
  CG_API const char * CGENTRY cgGetPassName(CGpass pass);
  CG_API CGtechnique CGENTRY cgGetPassTechnique(CGpass pass);
  CG_API CGprogram CGENTRY cgGetPassProgram(CGpass pass, CGdomain domain);
  CG_API void CGENTRY cgSetPassState(CGpass pass);
  CG_API void CGENTRY cgResetPassState(CGpass pass);
  CG_API CGstateassignment CGENTRY cgGetFirstStateAssignment(CGpass pass);
  CG_API CGstateassignment CGENTRY cgGetNamedStateAssignment(CGpass pass, const char *name);
  CG_API CGstateassignment CGENTRY cgGetNextStateAssignment(CGstateassignment sa);
  CG_API CGbool CGENTRY cgIsStateAssignment(CGstateassignment sa);
  CG_API CGbool CGENTRY cgCallStateSetCallback(CGstateassignment sa);
  CG_API CGbool CGENTRY cgCallStateValidateCallback(CGstateassignment sa);
  CG_API CGbool CGENTRY cgCallStateResetCallback(CGstateassignment sa);
  CG_API CGpass CGENTRY cgGetStateAssignmentPass(CGstateassignment sa);
  CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentParameter(CGstateassignment sa);
  CG_API const float * CGENTRY cgGetFloatStateAssignmentValues(CGstateassignment sa, int *nvalues);
  CG_API const int * CGENTRY cgGetIntStateAssignmentValues(CGstateassignment sa, int *nvalues);
  CG_API const CGbool * CGENTRY cgGetBoolStateAssignmentValues(CGstateassignment sa, int *nvalues);
  CG_API const char * CGENTRY cgGetStringStateAssignmentValue(CGstateassignment sa);
  CG_API CGprogram CGENTRY cgGetProgramStateAssignmentValue(CGstateassignment sa);
  CG_API CGparameter CGENTRY cgGetTextureStateAssignmentValue(CGstateassignment sa);
  CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentValue(CGstateassignment sa);
  CG_API int CGENTRY cgGetStateAssignmentIndex(CGstateassignment sa);
  CG_API int CGENTRY cgGetNumDependentStateAssignmentParameters(CGstateassignment sa);
  CG_API CGparameter CGENTRY cgGetDependentStateAssignmentParameter(CGstateassignment sa, int index);
  CG_API int CGENTRY cgGetNumDependentProgramArrayStateAssignmentParameters(CGstateassignment sa);
  CG_API CGparameter CGENTRY cgGetDependentProgramArrayStateAssignmentParameter(CGstateassignment sa, int index);
  CG_API CGparameter CGENTRY cgGetConnectedStateAssignmentParameter(CGstateassignment sa);
  CG_API CGstate CGENTRY cgGetStateAssignmentState(CGstateassignment sa);
  CG_API CGstate CGENTRY cgGetSamplerStateAssignmentState(CGstateassignment sa);
  CG_API CGstate CGENTRY cgCreateState(CGcontext context, const char *name, CGtype type);
  CG_API CGstate CGENTRY cgCreateArrayState(CGcontext context, const char *name, CGtype type, int nelements);
  CG_API void CGENTRY cgSetStateCallbacks(CGstate state, CGstatecallback set, CGstatecallback reset, CGstatecallback validate);
  CG_API void CGENTRY cgSetStateLatestProfile(CGstate state, CGprofile profile);
  CG_API CGstatecallback CGENTRY cgGetStateSetCallback(CGstate state);
  CG_API CGstatecallback CGENTRY cgGetStateResetCallback(CGstate state);
  CG_API CGstatecallback CGENTRY cgGetStateValidateCallback(CGstate state);
  CG_API CGprofile CGENTRY cgGetStateLatestProfile(CGstate state);
  CG_API CGcontext CGENTRY cgGetStateContext(CGstate state);
  CG_API CGtype CGENTRY cgGetStateType(CGstate state);
  CG_API const char * CGENTRY cgGetStateName(CGstate state);
  CG_API CGstate CGENTRY cgGetNamedState(CGcontext context, const char *name);
  CG_API CGstate CGENTRY cgGetFirstState(CGcontext context);
  CG_API CGstate CGENTRY cgGetNextState(CGstate state);
  CG_API CGbool CGENTRY cgIsState(CGstate state);
  CG_API void CGENTRY cgAddStateEnumerant(CGstate state, const char *name, int value);
  CG_API CGstate CGENTRY cgCreateSamplerState(CGcontext context, const char *name, CGtype type);
  CG_API CGstate CGENTRY cgCreateArraySamplerState(CGcontext context, const char *name, CGtype type, int nelements);
  CG_API CGstate CGENTRY cgGetNamedSamplerState(CGcontext context, const char *name);
  CG_API CGstate CGENTRY cgGetFirstSamplerState(CGcontext context);
  CG_API CGstateassignment CGENTRY cgGetFirstSamplerStateAssignment(CGparameter param);
  CG_API CGstateassignment CGENTRY cgGetNamedSamplerStateAssignment(CGparameter param, const char *name);
  CG_API void CGENTRY cgSetSamplerState(CGparameter param);
  CG_API CGparameter CGENTRY cgGetNamedEffectParameter(CGeffect effect, const char *name);
  CG_API CGparameter CGENTRY cgGetFirstLeafEffectParameter(CGeffect effect);
  CG_API CGparameter CGENTRY cgGetFirstEffectParameter(CGeffect effect);
  CG_API CGparameter CGENTRY cgGetEffectParameterBySemantic(CGeffect effect, const char *semantic);
  CG_API CGannotation CGENTRY cgGetFirstTechniqueAnnotation(CGtechnique tech);
  CG_API CGannotation CGENTRY cgGetFirstPassAnnotation(CGpass pass);
  CG_API CGannotation CGENTRY cgGetFirstParameterAnnotation(CGparameter param);
  CG_API CGannotation CGENTRY cgGetFirstProgramAnnotation(CGprogram program);
  CG_API CGannotation CGENTRY cgGetFirstEffectAnnotation(CGeffect effect);
  CG_API CGannotation CGENTRY cgGetNextAnnotation(CGannotation ann);
  CG_API CGannotation CGENTRY cgGetNamedTechniqueAnnotation(CGtechnique tech, const char *name);
  CG_API CGannotation CGENTRY cgGetNamedPassAnnotation(CGpass pass, const char *name);
  CG_API CGannotation CGENTRY cgGetNamedParameterAnnotation(CGparameter param, const char *name);
  CG_API CGannotation CGENTRY cgGetNamedProgramAnnotation(CGprogram program, const char *name);
  CG_API CGannotation CGENTRY cgGetNamedEffectAnnotation(CGeffect effect, const char *name);
  CG_API CGbool CGENTRY cgIsAnnotation(CGannotation ann);
  CG_API const char * CGENTRY cgGetAnnotationName(CGannotation ann);
  CG_API CGtype CGENTRY cgGetAnnotationType(CGannotation ann);
  CG_API const float * CGENTRY cgGetFloatAnnotationValues(CGannotation ann, int *nvalues);
  CG_API const int * CGENTRY cgGetIntAnnotationValues(CGannotation ann, int *nvalues);
  CG_API const char * CGENTRY cgGetStringAnnotationValue(CGannotation ann);
  CG_API const char * const * CGENTRY cgGetStringAnnotationValues(CGannotation ann, int *nvalues);
  CG_API const CGbool * CGENTRY cgGetBoolAnnotationValues(CGannotation ann, int *nvalues);
  CG_API const int * CGENTRY cgGetBooleanAnnotationValues(CGannotation ann, int *nvalues);
  CG_API int CGENTRY cgGetNumDependentAnnotationParameters(CGannotation ann);
  CG_API CGparameter CGENTRY cgGetDependentAnnotationParameter(CGannotation ann, int index);
  CG_API void CGENTRY cgEvaluateProgram(CGprogram program, float *buf, int ncomps, int nx, int ny, int nz);
  CG_API CGbool CGENTRY cgSetEffectName(CGeffect effect, const char *name);
  CG_API const char * CGENTRY cgGetEffectName(CGeffect effect);
  CG_API CGeffect CGENTRY cgGetNamedEffect(CGcontext context, const char *name);
  CG_API CGparameter CGENTRY cgCreateEffectParameter(CGeffect effect, const char *name, CGtype type);
  CG_API CGtechnique CGENTRY cgCreateTechnique(CGeffect effect, const char *name);
  CG_API CGparameter CGENTRY cgCreateEffectParameterArray(CGeffect effect, const char *name, CGtype type, int length);
  CG_API CGparameter CGENTRY cgCreateEffectParameterMultiDimArray(CGeffect effect, const char *name, CGtype type, int dim, const int *lengths);
  CG_API CGpass CGENTRY cgCreatePass(CGtechnique tech, const char *name);
  CG_API CGstateassignment CGENTRY cgCreateStateAssignment(CGpass pass, CGstate state);
  CG_API CGstateassignment CGENTRY cgCreateStateAssignmentIndex(CGpass pass, CGstate state, int index);
  CG_API CGstateassignment CGENTRY cgCreateSamplerStateAssignment(CGparameter param, CGstate state);
  CG_API CGbool CGENTRY cgSetFloatStateAssignment(CGstateassignment sa, float value);
  CG_API CGbool CGENTRY cgSetIntStateAssignment(CGstateassignment sa, int value);
  CG_API CGbool CGENTRY cgSetBoolStateAssignment(CGstateassignment sa, CGbool value);
  CG_API CGbool CGENTRY cgSetStringStateAssignment(CGstateassignment sa, const char *value);
  CG_API CGbool CGENTRY cgSetProgramStateAssignment(CGstateassignment sa, CGprogram program);
  CG_API CGbool CGENTRY cgSetSamplerStateAssignment(CGstateassignment sa, CGparameter param);
  CG_API CGbool CGENTRY cgSetTextureStateAssignment(CGstateassignment sa, CGparameter param);
  CG_API CGbool CGENTRY cgSetFloatArrayStateAssignment(CGstateassignment sa, const float *vals);
  CG_API CGbool CGENTRY cgSetIntArrayStateAssignment(CGstateassignment sa, const int *vals);
  CG_API CGbool CGENTRY cgSetBoolArrayStateAssignment(CGstateassignment sa, const CGbool *vals);
  CG_API CGannotation CGENTRY cgCreateTechniqueAnnotation(CGtechnique tech, const char *name, CGtype type);
  CG_API CGannotation CGENTRY cgCreatePassAnnotation(CGpass pass, const char *name, CGtype type);
  CG_API CGannotation CGENTRY cgCreateParameterAnnotation(CGparameter param, const char *name, CGtype type);
  CG_API CGannotation CGENTRY cgCreateProgramAnnotation(CGprogram program, const char *name, CGtype type);
  CG_API CGannotation CGENTRY cgCreateEffectAnnotation(CGeffect effect, const char *name, CGtype type);
  CG_API CGbool CGENTRY cgSetIntAnnotation(CGannotation ann, int value);
  CG_API CGbool CGENTRY cgSetFloatAnnotation(CGannotation ann, float value);
  CG_API CGbool CGENTRY cgSetBoolAnnotation(CGannotation ann, CGbool value);
  CG_API CGbool CGENTRY cgSetStringAnnotation(CGannotation ann, const char *value);
  CG_API int CGENTRY cgGetNumStateEnumerants(CGstate state);
  CG_API const char * CGENTRY cgGetStateEnumerant(CGstate state, int index, int *value);
  CG_API const char * CGENTRY cgGetStateEnumerantName(CGstate state, int value);
  CG_API int CGENTRY cgGetStateEnumerantValue(CGstate state, const char *name);
  CG_API CGeffect CGENTRY cgGetParameterEffect(CGparameter param);
  CG_API CGparameterclass CGENTRY cgGetTypeClass(CGtype type);
  CG_API CGtype CGENTRY cgGetTypeBase(CGtype type);
  CG_API CGbool CGENTRY cgGetTypeSizes(CGtype type, int *nrows, int *ncols);
  CG_API void CGENTRY cgGetMatrixSize(CGtype type, int *nrows, int *ncols);
  CG_API int CGENTRY cgGetNumProgramDomains(CGprogram program);
  CG_API CGdomain CGENTRY cgGetProfileDomain(CGprofile profile);
  CG_API CGprogram CGENTRY cgCombinePrograms(int n, const CGprogram *exeList);
  CG_API CGprogram CGENTRY cgCombinePrograms2(const CGprogram exe1, const CGprogram exe2);
  CG_API CGprogram CGENTRY cgCombinePrograms3(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3);
  CG_API CGprogram CGENTRY cgCombinePrograms4(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3, const CGprogram exe4);
  CG_API CGprogram CGENTRY cgCombinePrograms5(const CGprogram exe1, const CGprogram exe2, const CGprogram exe3, const CGprogram exe4, const CGprogram exe5);
  CG_API CGprofile CGENTRY cgGetProgramDomainProfile(CGprogram program, int index);
  CG_API CGprogram CGENTRY cgGetProgramDomainProgram(CGprogram program, int index);
  CG_API CGobj CGENTRY cgCreateObj(CGcontext context, CGenum program_type, const char *source, CGprofile profile, const char **args);
  CG_API CGobj CGENTRY cgCreateObjFromFile(CGcontext context, CGenum program_type, const char *source_file, CGprofile profile, const char **args);
  CG_API void CGENTRY cgDestroyObj(CGobj obj);
  CG_API long CGENTRY cgGetParameterResourceSize(CGparameter param);
  CG_API CGtype CGENTRY cgGetParameterResourceType(CGparameter param);
  CG_API const char * CGENTRY cgGetParameterResourceName(CGparameter param);
  CG_API int CGENTRY cgGetParameterBufferIndex(CGparameter param);
  CG_API int CGENTRY cgGetParameterBufferOffset(CGparameter param);
  CG_API CGbuffer CGENTRY cgCreateBuffer(CGcontext context, int size, const void *data, CGbufferusage bufferUsage);
  CG_API void CGENTRY cgSetBufferData(CGbuffer buffer, int size, const void *data);
  CG_API void CGENTRY cgSetBufferSubData(CGbuffer buffer, int offset, int size, const void *data);
  CG_API void CGENTRY cgSetProgramBuffer(CGprogram program, int bufferIndex, CGbuffer buffer);
  CG_API void * CGENTRY cgMapBuffer(CGbuffer buffer, CGbufferaccess access);
  CG_API void CGENTRY cgUnmapBuffer(CGbuffer buffer);
  CG_API void CGENTRY cgDestroyBuffer(CGbuffer buffer);
  CG_API CGbuffer CGENTRY cgGetProgramBuffer(CGprogram program, int bufferIndex);
  CG_API int CGENTRY cgGetBufferSize(CGbuffer buffer);
  CG_API int CGENTRY cgGetProgramBufferMaxSize(CGprofile profile);
  CG_API int CGENTRY cgGetProgramBufferMaxIndex(CGprofile profile);
  CG_API CGbuffer CGENTRY cgGetEffectParameterBuffer(CGparameter param);
  CG_API void CGENTRY cgSetEffectParameterBuffer(CGparameter param, CGbuffer buffer);
  
  #endif
  
  #ifdef __cplusplus
  }
  #endif
  
  #ifdef CG_APIENTRY_DEFINED
  # undef CG_APIENTRY_DEFINED
  # undef APIENTRY
  #endif
  
  #ifdef CG_WINGDIAPI_DEFINED
  # undef CG_WINGDIAPI_DEFINED
  # undef WINGDIAPI
  #endif
  
  #endif
  