module renderer.cg.cgGL;
import std.loader;

const int CG_VERSION_NUM = 1502;

enum CGGLenum {
	CG_GL_MATRIX_IDENTITY=0,
	CG_GL_MATRIX_TRANSPOSE=1,
	CG_GL_MATRIX_INVERSE=2,
	CG_GL_MATRIX_INVERSE_TRANSPOSE=3,
	CG_GL_MODELVIEW_MATRIX=4,
	CG_GL_PROJECTION_MATRIX=5,
	CG_GL_TEXTURE_MATRIX=6,
	CG_GL_MODELVIEW_PROJECTION_MATRIX=7,
	CG_GL_VERTEX=8,
	CG_GL_FRAGMENT=9,
}
enum CGerror {
	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,
}

enum CGdomain {
	CG_UNKNOWN_DOMAIN=0,
	CG_FIRST_DOMAIN=1,
	CG_VERTEX_DOMAIN=1,
	CG_FRAGMENT_DOMAIN=2,
	CG_GEOMETRY_DOMAIN=3,
	CG_NUMBER_OF_DOMAINS=4,
}
enum CGenum {
	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,
	CG_PROGRAM_ENTRY=4105,
	CG_COMPILED_PROGRAM=4106,
	CG_PROGRAM_PROFILE=4107,
	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,
	CG_ROW_MAJOR=4120,
	CG_COLUMN_MAJOR=4121,
}
enum CGparameterclass {
	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,
}
enum CGprofile {
	CG_PROFILE_START=6144,
	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_GLSLC=7009,
	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_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_GENERIC=7002,
	CG_PROFILE_MAX=7100,
}
enum CGresource {
	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_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_ENV0=3303,
	CG_ENV1=3304,
	CG_ENV2=3305,
	CG_ENV3=3306,
	CG_ENV4=3307,
	CG_ENV5=3308,
	CG_ENV6=3309,
	CG_ENV7=3310,
	CG_ENV8=3311,
	CG_ENV9=3312,
	CG_ENV10=3313,
	CG_ENV11=3314,
	CG_ENV12=3315,
	CG_ENV13=3316,
	CG_ENV14=3317,
	CG_ENV15=3318,
	CG_ENV16=3319,
	CG_ENV17=3320,
	CG_ENV18=3321,
	CG_ENV19=3322,
	CG_ENV20=3323,
	CG_ENV21=3324,
	CG_ENV22=3325,
	CG_ENV23=3326,
	CG_ENV24=3327,
	CG_ENV25=3328,
	CG_ENV26=3329,
	CG_ENV27=3330,
	CG_ENV28=3331,
	CG_ENV29=3332,
	CG_ENV30=3333,
	CG_ENV31=3334,
	CG_ENV32=3335,
	CG_ENV33=3336,
	CG_ENV34=3337,
	CG_ENV35=3338,
	CG_ENV36=3339,
	CG_ENV37=3340,
	CG_ENV38=3341,
	CG_ENV39=3342,
	CG_ENV40=3343,
	CG_ENV41=3344,
	CG_ENV42=3345,
	CG_ENV43=3346,
	CG_ENV44=3347,
	CG_ENV45=3348,
	CG_ENV46=3349,
	CG_ENV47=3350,
	CG_ENV48=3351,
	CG_ENV49=3352,
	CG_ENV50=3353,
	CG_ENV51=3354,
	CG_ENV52=3355,
	CG_ENV53=3356,
	CG_ENV54=3357,
	CG_ENV55=3358,
	CG_ENV56=3359,
	CG_ENV57=3360,
	CG_ENV58=3361,
	CG_ENV59=3362,
	CG_ENV60=3363,
	CG_ENV61=3364,
	CG_ENV62=3365,
	CG_ENV63=3366,
	CG_ENV64=3367,
	CG_ENV65=3368,
	CG_ENV66=3369,
	CG_ENV67=3370,
	CG_ENV68=3371,
	CG_ENV69=3372,
	CG_ENV70=3373,
	CG_ENV71=3374,
	CG_ENV72=3375,
	CG_ENV73=3376,
	CG_ENV74=3377,
	CG_ENV75=3378,
	CG_ENV76=3379,
	CG_ENV77=3380,
	CG_ENV78=3381,
	CG_ENV79=3382,
	CG_ENV80=3383,
	CG_ENV81=3384,
	CG_ENV82=3385,
	CG_ENV83=3386,
	CG_ENV84=3387,
	CG_ENV85=3388,
	CG_ENV86=3389,
	CG_ENV87=3390,
	CG_ENV88=3391,
	CG_ENV89=3392,
	CG_ENV90=3393,
	CG_ENV91=3394,
	CG_ENV92=3395,
	CG_ENV93=3396,
	CG_ENV94=3397,
	CG_ENV95=3398,
	CG_ENV96=3399,
	CG_ENV97=3400,
	CG_ENV98=3401,
	CG_ENV99=3402,
	CG_ENV100=3403,
	CG_ENV101=3404,
	CG_ENV102=3405,
	CG_ENV103=3406,
	CG_ENV104=3407,
	CG_ENV105=3408,
	CG_ENV106=3409,
	CG_ENV107=3410,
	CG_ENV108=3411,
	CG_ENV109=3412,
	CG_ENV110=3413,
	CG_ENV111=3414,
	CG_ENV112=3415,
	CG_ENV113=3416,
	CG_ENV114=3417,
	CG_ENV115=3418,
	CG_ENV116=3419,
	CG_ENV117=3420,
	CG_ENV118=3421,
	CG_ENV119=3422,
	CG_ENV120=3423,
	CG_ENV121=3424,
	CG_ENV122=3425,
	CG_ENV123=3426,
	CG_ENV124=3427,
	CG_ENV125=3428,
	CG_ENV126=3429,
	CG_ENV127=3430,
	CG_ENV128=3431,
	CG_ENV129=3432,
	CG_ENV130=3433,
	CG_ENV131=3434,
	CG_ENV132=3435,
	CG_ENV133=3436,
	CG_ENV134=3437,
	CG_ENV135=3438,
	CG_ENV136=3439,
	CG_ENV137=3440,
	CG_ENV138=3441,
	CG_ENV139=3442,
	CG_ENV140=3443,
	CG_ENV141=3444,
	CG_ENV142=3445,
	CG_ENV143=3446,
	CG_ENV144=3447,
	CG_ENV145=3448,
	CG_ENV146=3449,
	CG_ENV147=3450,
	CG_ENV148=3451,
	CG_ENV149=3452,
	CG_ENV150=3453,
	CG_ENV151=3454,
	CG_ENV152=3455,
	CG_ENV153=3456,
	CG_ENV154=3457,
	CG_ENV155=3458,
	CG_ENV156=3459,
	CG_ENV157=3460,
	CG_ENV158=3461,
	CG_ENV159=3462,
	CG_ENV160=3463,
	CG_ENV161=3464,
	CG_ENV162=3465,
	CG_ENV163=3466,
	CG_ENV164=3467,
	CG_ENV165=3468,
	CG_ENV166=3469,
	CG_ENV167=3470,
	CG_ENV168=3471,
	CG_ENV169=3472,
	CG_ENV170=3473,
	CG_ENV171=3474,
	CG_ENV172=3475,
	CG_ENV173=3476,
	CG_ENV174=3477,
	CG_ENV175=3478,
	CG_ENV176=3479,
	CG_ENV177=3480,
	CG_ENV178=3481,
	CG_ENV179=3482,
	CG_ENV180=3483,
	CG_ENV181=3484,
	CG_ENV182=3485,
	CG_ENV183=3486,
	CG_ENV184=3487,
	CG_ENV185=3488,
	CG_ENV186=3489,
	CG_ENV187=3490,
	CG_ENV188=3491,
	CG_ENV189=3492,
	CG_ENV190=3493,
	CG_ENV191=3494,
	CG_ENV192=3495,
	CG_ENV193=3496,
	CG_ENV194=3497,
	CG_ENV195=3498,
	CG_ENV196=3499,
	CG_ENV197=3500,
	CG_ENV198=3501,
	CG_ENV199=3502,
	CG_ENV200=3503,
	CG_ENV201=3504,
	CG_ENV202=3505,
	CG_ENV203=3506,
	CG_ENV204=3507,
	CG_ENV205=3508,
	CG_ENV206=3509,
	CG_ENV207=3510,
	CG_ENV208=3511,
	CG_ENV209=3512,
	CG_ENV210=3513,
	CG_ENV211=3514,
	CG_ENV212=3515,
	CG_ENV213=3516,
	CG_ENV214=3517,
	CG_ENV215=3518,
	CG_ENV216=3519,
	CG_ENV217=3520,
	CG_ENV218=3521,
	CG_ENV219=3522,
	CG_ENV220=3523,
	CG_ENV221=3524,
	CG_ENV222=3525,
	CG_ENV223=3526,
	CG_ENV224=3527,
	CG_ENV225=3528,
	CG_ENV226=3529,
	CG_ENV227=3530,
	CG_ENV228=3531,
	CG_ENV229=3532,
	CG_ENV230=3533,
	CG_ENV231=3534,
	CG_ENV232=3535,
	CG_ENV233=3536,
	CG_ENV234=3537,
	CG_ENV235=3538,
	CG_ENV236=3539,
	CG_ENV237=3540,
	CG_ENV238=3541,
	CG_ENV239=3542,
	CG_ENV240=3543,
	CG_ENV241=3544,
	CG_ENV242=3545,
	CG_ENV243=3546,
	CG_ENV244=3547,
	CG_ENV245=3548,
	CG_ENV246=3549,
	CG_ENV247=3550,
	CG_ENV248=3551,
	CG_ENV249=3552,
	CG_ENV250=3553,
	CG_ENV251=3554,
	CG_ENV252=3555,
	CG_ENV253=3556,
	CG_ENV254=3557,
	CG_ENV255=3558,
	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_UNDEFINED=3256,
}
enum CGtype {
	CG_UNKNOWN_TYPE=0,
	CG_STRUCT=1,
	CG_ARRAY=2,
	CG_TYPE_START_ENUM=1024,
	CG_HALF=1025,
	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_FLOAT=1045,
	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_SAMPLER1D=1065,
	CG_SAMPLER2D=1066,
	CG_SAMPLER3D=1067,
	CG_SAMPLERRECT=1068,
	CG_SAMPLERCUBE=1069,
	CG_FIXED=1070,
	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_HALF1=1090,
	CG_FLOAT1=1091,
	CG_FIXED1=1092,
	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_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_STRING=1135,
	CG_PROGRAM_TYPE=1136,
	CG_TEXTURE=1137,
}

alias void * CGhandle;
alias void * CGannotation;
alias void * CGstateassignment;
alias void * CGstate;
alias void * CGpass;
alias void * CGtechnique;
alias void * CGeffect;
alias void * CGparameter;
alias void * CGprogram;
alias void * CGcontext;

alias void function(void *, int, void *) CGerrorHandlerFunc;
alias void function() CGerrorCallbackFunc;
alias int CGbool;
alias int function(void *) CGstatecallback;


extern (C) int function(void *, int) cgGetProgramDomainProfile;
extern (C) void * function(void *, void *, void *) cgCombinePrograms3;
extern (C) void * function(void *, void *) cgCombinePrograms2;
extern (C) void * function(int, void * *) cgCombinePrograms;
extern (C) int function(int) cgGetProfileDomain;
extern (C) int function(void *) cgGetNumProgramDomains;
extern (C) void function(int, int *, int *) cgGetMatrixSize;
extern (C) int function(int, int *, int *) cgGetTypeSizes;
extern (C) int function(int) cgGetTypeBase;
extern (C) int function(int) cgGetTypeClass;
extern (C) void * function(void *) cgGetParameterEffect;
extern (C) int function(void *, char *) cgGetStateEnumerantValue;
extern (C) char * function(void *, int) cgGetStateEnumerantName;
extern (C) int function(void *, char *) cgSetStringAnnotation;
extern (C) int function(void *, int) cgSetBoolAnnotation;
extern (C) int function(void *, float) cgSetFloatAnnotation;
extern (C) int function(void *, int) cgSetIntAnnotation;
extern (C) void * function(void *, char *, int) cgCreateEffectAnnotation;
extern (C) void * function(void *, char *, int) cgCreateProgramAnnotation;
extern (C) void * function(void *, char *, int) cgCreateParameterAnnotation;
extern (C) void * function(void *, char *, int) cgCreatePassAnnotation;
extern (C) void * function(void *, char *, int) cgCreateTechniqueAnnotation;
extern (C) int function(void *, int *) cgSetBoolArrayStateAssignment;
extern (C) int function(void *, int *) cgSetIntArrayStateAssignment;
extern (C) int function(void *, float *) cgSetFloatArrayStateAssignment;
extern (C) int function(void *, void *) cgSetTextureStateAssignment;
extern (C) int function(void *, void *) cgSetSamplerStateAssignment;
extern (C) int function(void *, void *) cgSetProgramStateAssignment;
extern (C) int function(void *, char *) cgSetStringStateAssignment;
extern (C) int function(void *, int) cgSetBoolStateAssignment;
extern (C) int function(void *, int) cgSetIntStateAssignment;
extern (C) int function(void *, float) cgSetFloatStateAssignment;
extern (C) void * function(void *, void *) cgCreateSamplerStateAssignment;
extern (C) void * function(void *, void *, int) cgCreateStateAssignmentIndex;
extern (C) void * function(void *, void *) cgCreateStateAssignment;
extern (C) void * function(void *, char *) cgCreatePass;
extern (C) void * function(void *, char *, int, int, int *) cgCreateEffectParameterMultiDimArray;
extern (C) void * function(void *, char *, int, int) cgCreateEffectParameterArray;
extern (C) void * function(void *, char *) cgCreateTechnique;
extern (C) void * function(void *, char *, int) cgCreateEffectParameter;
extern (C) void * function(void *, char *) cgGetNamedEffect;
extern (C) char * function(void *) cgGetEffectName;
extern (C) int function(void *, char *) cgSetEffectName;
extern (C) void function(void *, float *, int, int, int, int) cgEvaluateProgram;
extern (C) void * function(void *, int) cgGetDependentAnnotationParameter;
extern (C) int function(void *) cgGetNumDependentAnnotationParameters;
extern (C) int * function(void *, int *) cgGetBooleanAnnotationValues;
extern (C) int * function(void *, int *) cgGetBoolAnnotationValues;
extern (C) char * function(void *) cgGetStringAnnotationValue;
extern (C) int * function(void *, int *) cgGetIntAnnotationValues;
extern (C) float * function(void *, int *) cgGetFloatAnnotationValues;
extern (C) int function(void *) cgGetAnnotationType;
extern (C) char * function(void *) cgGetAnnotationName;
extern (C) int function(void *) cgIsAnnotation;
extern (C) void * function(void *, char *) cgGetNamedEffectAnnotation;
extern (C) void * function(void *, char *) cgGetNamedProgramAnnotation;
extern (C) void * function(void *, char *) cgGetNamedParameterAnnotation;
extern (C) void * function(void *, char *) cgGetNamedPassAnnotation;
extern (C) void * function(void *, char *) cgGetNamedTechniqueAnnotation;
extern (C) void * function(void *) cgGetNextAnnotation;
extern (C) void * function(void *) cgGetFirstEffectAnnotation;
extern (C) void * function(void *) cgGetFirstProgramAnnotation;
extern (C) void * function(void *) cgGetFirstParameterAnnotation;
extern (C) void * function(void *) cgGetFirstPassAnnotation;
extern (C) void * function(void *) cgGetFirstTechniqueAnnotation;
extern (C) void * function(void *, char *) cgGetEffectParameterBySemantic;
extern (C) void * function(void *) cgGetFirstEffectParameter;
extern (C) void * function(void *) cgGetFirstLeafEffectParameter;
extern (C) void * function(void *, char *) cgGetNamedEffectParameter;
extern (C) void function(void *) cgSetSamplerState;
extern (C) void * function(void *, char *) cgGetNamedSamplerStateAssignment;
extern (C) void * function(void *) cgGetFirstSamplerStateAssignment;
extern (C) void * function(void *) cgGetFirstSamplerState;
extern (C) void * function(void *, char *) cgGetNamedSamplerState;
extern (C) void * function(void *, char *, int, int) cgCreateArraySamplerState;
extern (C) void * function(void *, char *, int) cgCreateSamplerState;
extern (C) void function(void *, char *, int) cgAddStateEnumerant;
extern (C) int function(void *) cgIsState;
extern (C) void * function(void *) cgGetNextState;
extern (C) void * function(void *) cgGetFirstState;
extern (C) void * function(void *, char *) cgGetNamedState;
extern (C) char * function(void *) cgGetStateName;
extern (C) int function(void *) cgGetStateType;
extern (C) void * function(void *) cgGetStateContext;
extern (C) CGstatecallback function(void *) cgGetStateValidateCallback;		//
extern (C) CGstatecallback function(void *) cgGetStateResetCallback;		//
extern (C) CGstatecallback function(void *) cgGetStateSetCallback;			//
extern (C) void function(void *, CGstatecallback, CGstatecallback, CGstatecallback) cgSetStateCallbacks;	//
extern (C) void * function(void *, char *, int, int) cgCreateArrayState;
extern (C) void * function(void *, char *, int) cgCreateState;
extern (C) void * function(void *) cgGetSamplerStateAssignmentState;
extern (C) void * function(void *) cgGetStateAssignmentState;
extern (C) void * function(void *, int) cgGetDependentStateAssignmentParameter;
extern (C) int function(void *) cgGetNumDependentStateAssignmentParameters;
extern (C) int function(void *) cgGetStateAssignmentIndex;
extern (C) void * function(void *) cgGetSamplerStateAssignmentValue;
extern (C) void * function(void *) cgGetTextureStateAssignmentValue;
extern (C) void * function(void *) cgGetProgramStateAssignmentValue;
extern (C) char * function(void *) cgGetStringStateAssignmentValue;
extern (C) int * function(void *, int *) cgGetBoolStateAssignmentValues;
extern (C) int * function(void *, int *) cgGetIntStateAssignmentValues;
extern (C) float * function(void *, int *) cgGetFloatStateAssignmentValues;
extern (C) void * function(void *) cgGetSamplerStateAssignmentParameter;
extern (C) void * function(void *) cgGetStateAssignmentPass;
extern (C) int function(void *) cgCallStateResetCallback;
extern (C) int function(void *) cgCallStateValidateCallback;
extern (C) int function(void *) cgCallStateSetCallback;
extern (C) int function(void *) cgIsStateAssignment;
extern (C) void * function(void *) cgGetNextStateAssignment;
extern (C) void * function(void *, char *) cgGetNamedStateAssignment;
extern (C) void * function(void *) cgGetFirstStateAssignment;
extern (C) void function(void *) cgResetPassState;
extern (C) void function(void *) cgSetPassState;
extern (C) void * function(void *) cgGetPassTechnique;
extern (C) char * function(void *) cgGetPassName;
extern (C) int function(void *) cgIsPass;
extern (C) void * function(void *) cgGetNextPass;
extern (C) void * function(void *, char *) cgGetNamedPass;
extern (C) void * function(void *) cgGetFirstPass;
extern (C) void * function(void *) cgGetTechniqueEffect;
extern (C) int function(void *) cgIsTechniqueValidated;
extern (C) int function(void *) cgValidateTechnique;
extern (C) int function(void *) cgIsTechnique;
extern (C) char * function(void *) cgGetTechniqueName;
extern (C) void * function(void *, char *) cgGetNamedTechnique;
extern (C) void * function(void *) cgGetNextTechnique;
extern (C) void * function(void *) cgGetFirstTechnique;
extern (C) void * function(void *, int, char *, char * *) cgCreateProgramFromEffect;
extern (C) void * function(void *) cgGetNextEffect;
extern (C) void * function(void *) cgGetFirstEffect;
extern (C) int function(void *) cgIsEffect;
extern (C) void * function(void *) cgGetEffectContext;
extern (C) void function(void *) cgDestroyEffect;
extern (C) void * function(void *, char *, char * *) cgCreateEffectFromFile;
extern (C) void * function(void *, char *, char * *) cgCreateEffect;
extern (C) char * function(int) cgGetString;
extern (C) CGerrorHandlerFunc function(void * *) cgGetErrorHandler;	//
extern (C) void function(CGerrorHandlerFunc, void *) cgSetErrorHandler;	//
extern (C) CGerrorCallbackFunc function() cgGetErrorCallback;	//
extern (C) void function(CGerrorCallbackFunc) cgSetErrorCallback;				//
extern (C) char* function(CGerror *) cgGetLastErrorString;
extern (C) char* function(int) cgGetErrorString;
extern (C) CGerror function() cgGetFirstError;
extern (C) CGerror function() cgGetError;
extern (C) CGprofile function(char *) cgGetProfile;
extern (C) char* function(CGprofile) cgGetProfileString;
extern (C) int function(char *) cgGetEnum;
extern (C) char * function(int) cgGetEnumString;
extern (C) int function(char *) cgGetResource;
extern (C) char * function(int) cgGetResourceString;
extern (C) int function(int) cgIsInterfaceType;
extern (C) int function(int, int) cgIsParentType;
extern (C) int function(int, int) cgGetParentType;
extern (C) int function(int) cgGetNumParentTypes;
extern (C) int function(void *, int) cgGetUserType;
extern (C) int function(void *) cgGetNumUserTypes;
extern (C) int function(void *, char *) cgGetNamedUserType;
extern (C) int function(char *) cgGetType;
extern (C) char * function(int) cgGetTypeString;
extern (C) void * function(void *, char *) cgGetNamedSubParameter;
extern (C) void function(void *, float *) cgGetMatrixParameterfc;
extern (C) void function(void *, double *) cgGetMatrixParameterdc;
extern (C) void function(void *, int *) cgGetMatrixParameteric;
extern (C) void function(void *, float *) cgGetMatrixParameterfr;
extern (C) void function(void *, double *) cgGetMatrixParameterdr;
extern (C) void function(void *, int *) cgGetMatrixParameterir;
extern (C) void function(void *, float *) cgSetMatrixParameterfc;
extern (C) void function(void *, double *) cgSetMatrixParameterdc;
extern (C) void function(void *, int *) cgSetMatrixParameteric;
extern (C) void function(void *, float *) cgSetMatrixParameterfr;
extern (C) void function(void *, double *) cgSetMatrixParameterdr;
extern (C) void function(void *, int *) cgSetMatrixParameterir;
extern (C) void function(void *, double *) cgSetParameter4dv;
extern (C) void function(void *, double *) cgSetParameter3dv;
extern (C) void function(void *, double *) cgSetParameter2dv;
extern (C) void function(void *, double *) cgSetParameter1dv;
extern (C) void function(void *, float *) cgSetParameter4fv;
extern (C) void function(void *, float *) cgSetParameter3fv;
extern (C) void function(void *, float *) cgSetParameter2fv;
extern (C) void function(void *, float *) cgSetParameter1fv;
extern (C) void function(void *, int *) cgSetParameter4iv;
extern (C) void function(void *, int *) cgSetParameter3iv;
extern (C) void function(void *, int *) cgSetParameter2iv;
extern (C) void function(void *, int *) cgSetParameter1iv;
extern (C) void function(void *, int, int, int, int) cgSetParameter4i;
extern (C) void function(void *, int, int, int) cgSetParameter3i;
extern (C) void function(void *, int, int) cgSetParameter2i;
extern (C) void function(void *, int) cgSetParameter1i;
extern (C) void function(void *, double, double, double, double) cgSetParameter4d;
extern (C) void function(void *, double, double, double) cgSetParameter3d;
extern (C) void function(void *, double, double) cgSetParameter2d;
extern (C) void function(void *, double) cgSetParameter1d;
extern (C) void function(void *, float, float, float, float) cgSetParameter4f;
extern (C) void function(void *, float, float, float) cgSetParameter3f;
extern (C) void function(void *, float, float) cgSetParameter2f;
extern (C) void function(void *, float) cgSetParameter1f;
extern (C) void function(void *, char *) cgSetParameterSemantic;
extern (C) void function(void *, int) cgSetParameterVariability;
extern (C) int function(void *) cgGetParameterIndex;
extern (C) int function(void *) cgIsParameterGlobal;
extern (C) int function(void *) cgGetParameterOrdinalNumber;
extern (C) void function(void *, char *) cgSetStringParameterValue;
extern (C) char * function(void *) cgGetStringParameterValue;
extern (C) int function(void *, int, int *) cgGetParameterValueic;
extern (C) int function(void *, int, int *) cgGetParameterValueir;
extern (C) int function(void *, int, float *) cgGetParameterValuefc;
extern (C) int function(void *, int, float *) cgGetParameterValuefr;
extern (C) int function(void *, int, double *) cgGetParameterValuedc;
extern (C) int function(void *, int, double *) cgGetParameterValuedr;
extern (C) void function(void *, int, int *) cgSetParameterValueic;
extern (C) void function(void *, int, int *) cgSetParameterValueir;
extern (C) void function(void *, int, float *) cgSetParameterValuefc;
extern (C) void function(void *, int, float *) cgSetParameterValuefr;
extern (C) void function(void *, int, double *) cgSetParameterValuedc;
extern (C) void function(void *, int, double *) cgSetParameterValuedr;
extern (C) double * function(void *, int, int *) cgGetParameterValues;
extern (C) int function(void *, void *) cgIsParameterUsed;
extern (C) int function(void *) cgIsParameterReferenced;
extern (C) CGenum function(void *) cgGetParameterDirection;
extern (C) CGenum function(void *) cgGetParameterVariability;
extern (C) uint function(void *) cgGetParameterResourceIndex;
extern (C) CGresource function(void *) cgGetParameterBaseResource;
extern (C) CGresource function(void *) cgGetParameterResource;
extern (C) char * function(void *) cgGetParameterSemantic;
extern (C) int function(void *) cgGetParameterNamedType;
extern (C) int function(void *) cgGetParameterColumns;
extern (C) int function(void *) cgGetParameterRows;
extern (C) int function(void *) cgGetParameterClass;
extern (C) int function(void *) cgGetParameterBaseType;
extern (C) int function(void *) cgGetParameterType;
extern (C) char * function(void *) cgGetParameterName;
extern (C) int function(void *) cgIsParameter;
extern (C) void * function(void *) cgGetParameterContext;
extern (C) void * function(void *) cgGetParameterProgram;
extern (C) void function(void *, int *) cgSetMultiDimArraySize;
extern (C) void function(void *, int) cgSetArraySize;
extern (C) int function(void *) cgGetArrayTotalSize;
extern (C) int function(void *, int) cgGetArraySize;
extern (C) int function(void *) cgGetArrayType;
extern (C) int function(void *) cgGetArrayDimension;
extern (C) void * function(void *, int) cgGetArrayParameter;
extern (C) void * function(void *) cgGetFirstDependentParameter;
extern (C) void * function(void *, char *) cgGetNamedStructParameter;
extern (C) void * function(void *) cgGetFirstStructParameter;
extern (C) void * function(void *) cgGetNextLeafParameter;
extern (C) void * function(void *, int) cgGetFirstLeafParameter;
extern (C) void * function(void *) cgGetNextParameter;
extern (C) void * function(void *, int) cgGetFirstParameter;
extern (C) void * function(void *, int, char *) cgGetNamedProgramParameter;
extern (C) void * function(void *, char *) cgGetNamedParameter;
extern (C) void * function(void *, int) cgGetConnectedToParameter;
extern (C) int function(void *) cgGetNumConnectedToParameters;
extern (C) void * function(void *) cgGetConnectedParameter;
extern (C) void function(void *) cgDisconnectParameter;
extern (C) void function(void *, void *) cgConnectParameter;
extern (C) void function(void *) cgDestroyParameter;
extern (C) void * function(void *, int, int, int *) cgCreateParameterMultiDimArray;
extern (C) void * function(void *, int, int) cgCreateParameterArray;
extern (C) void * function(void *, int) cgCreateParameter;
extern (C) void function(void *) cgSetPassProgramParameters;
extern (C) void function(void *, int) cgSetProgramProfile;
extern (C) char * * function(void *) cgGetProgramOptions;
extern (C) int function(void *) cgGetProgramProfile;
extern (C) char * function(void *, int) cgGetProgramString;
extern (C) int function(void *) cgIsProgramCompiled;
extern (C) void function(void *) cgCompileProgram;
extern (C) int function(void *) cgIsProgram;
extern (C) void * function(void *) cgGetProgramContext;
extern (C) void * function(void *) cgGetNextProgram;
extern (C) void * function(void *) cgGetFirstProgram;
extern (C) void function(void *) cgDestroyProgram;
extern (C) void * function(void *) cgCopyProgram;
extern (C) void * function(void *, int, char *, int, char *, char * *) cgCreateProgramFromFile;
extern (C) void * function(void *, int, char *, int, char *, char * *) cgCreateProgram;
extern (C) int function(void *) cgGetAutoCompile;
extern (C) void function(void *, int) cgSetAutoCompile;
extern (C) void function(void *, char *) cgSetLastListing;
extern (C) char * function(void *) cgGetLastListing;
extern (C) int function(void *) cgIsContext;
extern (C) void function(void *) cgDestroyContext;
extern (C) void * function() cgCreateContext;



extern (C) void function(int) cgGLSetDebugMode;
extern (C) void function(void *) cgGLDisableProgramProfiles;
extern (C) void function(void *) cgGLEnableProgramProfiles;
extern (C) void function(void *) cgGLRegisterStates;
extern (C) void function(void *, uint) cgGLSetupSampler;
extern (C) int function(void *) cgGLGetManageTextureParameters;
extern (C) void function(void *, int) cgGLSetManageTextureParameters;
extern (C) uint function(void *) cgGLGetTextureEnum;
extern (C) void function(void *) cgGLDisableTextureParameter;
extern (C) void function(void *) cgGLEnableTextureParameter;
extern (C) uint function(void *) cgGLGetTextureParameter;
extern (C) void function(void *, uint) cgGLSetTextureParameter;
extern (C) void function(void *, int, int, double *) cgGLGetMatrixParameterArraydr;
extern (C) void function(void *, int, int, double *) cgGLGetMatrixParameterArraydc;
extern (C) void function(void *, int, int, float *) cgGLGetMatrixParameterArrayfr;
extern (C) void function(void *, int, int, float *) cgGLGetMatrixParameterArrayfc;
extern (C) void function(void *, int, int, double *) cgGLSetMatrixParameterArraydr;
extern (C) void function(void *, int, int, double *) cgGLSetMatrixParameterArraydc;
extern (C) void function(void *, int, int, float *) cgGLSetMatrixParameterArrayfr;
extern (C) void function(void *, int, int, float *) cgGLSetMatrixParameterArrayfc;
extern (C) void function(void *, int, int) cgGLSetStateMatrixParameter;
extern (C) void function(void *, float *) cgGLGetMatrixParameterfc;
extern (C) void function(void *, double *) cgGLGetMatrixParameterdc;
extern (C) void function(void *, float *) cgGLGetMatrixParameterfr;
extern (C) void function(void *, double *) cgGLGetMatrixParameterdr;
extern (C) void function(void *, float *) cgGLSetMatrixParameterfc;
extern (C) void function(void *, double *) cgGLSetMatrixParameterdc;
extern (C) void function(void *, float *) cgGLSetMatrixParameterfr;
extern (C) void function(void *, double *) cgGLSetMatrixParameterdr;
extern (C) void function(void *) cgGLDisableClientState;
extern (C) void function(void *) cgGLEnableClientState;
extern (C) void function(void *, int, uint, int, void *) cgGLSetParameterPointer;
extern (C) void function(void *, int, int, double *) cgGLGetParameterArray4d;
extern (C) void function(void *, int, int, double *) cgGLGetParameterArray3d;
extern (C) void function(void *, int, int, double *) cgGLGetParameterArray2d;
extern (C) void function(void *, int, int, double *) cgGLGetParameterArray1d;
extern (C) void function(void *, int, int, float *) cgGLGetParameterArray4f;
extern (C) void function(void *, int, int, float *) cgGLGetParameterArray3f;
extern (C) void function(void *, int, int, float *) cgGLGetParameterArray2f;
extern (C) void function(void *, int, int, float *) cgGLGetParameterArray1f;
extern (C) void function(void *, int, int, double *) cgGLSetParameterArray4d;
extern (C) void function(void *, int, int, double *) cgGLSetParameterArray3d;
extern (C) void function(void *, int, int, double *) cgGLSetParameterArray2d;
extern (C) void function(void *, int, int, double *) cgGLSetParameterArray1d;
extern (C) void function(void *, int, int, float *) cgGLSetParameterArray4f;
extern (C) void function(void *, int, int, float *) cgGLSetParameterArray3f;
extern (C) void function(void *, int, int, float *) cgGLSetParameterArray2f;
extern (C) void function(void *, int, int, float *) cgGLSetParameterArray1f;
extern (C) void function(void *, double *) cgGLGetParameter4d;
extern (C) void function(void *, double *) cgGLGetParameter3d;
extern (C) void function(void *, double *) cgGLGetParameter2d;
extern (C) void function(void *, double *) cgGLGetParameter1d;
extern (C) void function(void *, float *) cgGLGetParameter4f;
extern (C) void function(void *, float *) cgGLGetParameter3f;
extern (C) void function(void *, float *) cgGLGetParameter2f;
extern (C) void function(void *, float *) cgGLGetParameter1f;
extern (C) void function(void *, double *) cgGLSetParameter4dv;
extern (C) void function(void *, double *) cgGLSetParameter3dv;
extern (C) void function(void *, double *) cgGLSetParameter2dv;
extern (C) void function(void *, double *) cgGLSetParameter1dv;
extern (C) void function(void *, double, double, double, double) cgGLSetParameter4d;
extern (C) void function(void *, double, double, double) cgGLSetParameter3d;
extern (C) void function(void *, double, double) cgGLSetParameter2d;
extern (C) void function(void *, double) cgGLSetParameter1d;
extern (C) void function(void *, float *) cgGLSetParameter4fv;
extern (C) void function(void *, float *) cgGLSetParameter3fv;
extern (C) void function(void *, float *) cgGLSetParameter2fv;
extern (C) void function(void *, float *) cgGLSetParameter1fv;
extern (C) void function(void *, float, float, float, float) cgGLSetParameter4f;
extern (C) void function(void *, float, float, float) cgGLSetParameter3f;
extern (C) void function(void *, float, float) cgGLSetParameter2f;
extern (C) void function(void *, float) cgGLSetParameter1f;
extern (C) uint function(void *) cgGLGetProgramID;
extern (C) void function(int) cgGLUnbindProgram;
extern (C) void function(void *) cgGLBindProgram;
extern (C) int function(void *) cgGLIsProgramLoaded;
extern (C) void function(void *) cgGLLoadProgram;
extern (C) void function(int) cgGLSetOptimalOptions;
extern (C) CGprofile function(int) cgGLGetLatestProfile;
extern (C) void function(int) cgGLDisableProfile;
extern (C) void function(int) cgGLEnableProfile;
extern (C) int function(int) cgGLIsProfileSupported;



void loadSym(T)(inout T t, HXModule lib, char[] name) {
	t = cast(T)ExeModule_GetSymbol(lib, name);
}

void initCg(){
	auto lib = ExeModule_Load(`cg.dll`);

	loadSym( cgGetProgramDomainProfile, lib, `cgGetProgramDomainProfile`);
	loadSym( cgCombinePrograms3, lib, `cgCombinePrograms3`);
	loadSym( cgCombinePrograms2, lib, `cgCombinePrograms2`);
	loadSym( cgCombinePrograms, lib, `cgCombinePrograms`);
	loadSym( cgGetProfileDomain, lib, `cgGetProfileDomain`);
	loadSym( cgGetNumProgramDomains, lib, `cgGetNumProgramDomains`);
	loadSym( cgGetMatrixSize, lib, `cgGetMatrixSize`);
	loadSym( cgGetTypeSizes, lib, `cgGetTypeSizes`);
	loadSym( cgGetTypeBase, lib, `cgGetTypeBase`);
	loadSym( cgGetTypeClass, lib, `cgGetTypeClass`);
	loadSym( cgGetParameterEffect, lib, `cgGetParameterEffect`);
	loadSym( cgGetStateEnumerantValue, lib, `cgGetStateEnumerantValue`);
	loadSym( cgGetStateEnumerantName, lib, `cgGetStateEnumerantName`);
	loadSym( cgSetStringAnnotation, lib, `cgSetStringAnnotation`);
	loadSym( cgSetBoolAnnotation, lib, `cgSetBoolAnnotation`);
	loadSym( cgSetFloatAnnotation, lib, `cgSetFloatAnnotation`);
	loadSym( cgSetIntAnnotation, lib, `cgSetIntAnnotation`);
	loadSym( cgCreateEffectAnnotation, lib, `cgCreateEffectAnnotation`);
	loadSym( cgCreateProgramAnnotation, lib, `cgCreateProgramAnnotation`);
	loadSym( cgCreateParameterAnnotation, lib, `cgCreateParameterAnnotation`);
	loadSym( cgCreatePassAnnotation, lib, `cgCreatePassAnnotation`);
	loadSym( cgCreateTechniqueAnnotation, lib, `cgCreateTechniqueAnnotation`);
	loadSym( cgSetBoolArrayStateAssignment, lib, `cgSetBoolArrayStateAssignment`);
	loadSym( cgSetIntArrayStateAssignment, lib, `cgSetIntArrayStateAssignment`);
	loadSym( cgSetFloatArrayStateAssignment, lib, `cgSetFloatArrayStateAssignment`);
	loadSym( cgSetTextureStateAssignment, lib, `cgSetTextureStateAssignment`);
	loadSym( cgSetSamplerStateAssignment, lib, `cgSetSamplerStateAssignment`);
	loadSym( cgSetProgramStateAssignment, lib, `cgSetProgramStateAssignment`);
	loadSym( cgSetStringStateAssignment, lib, `cgSetStringStateAssignment`);
	loadSym( cgSetBoolStateAssignment, lib, `cgSetBoolStateAssignment`);
	loadSym( cgSetIntStateAssignment, lib, `cgSetIntStateAssignment`);
	loadSym( cgSetFloatStateAssignment, lib, `cgSetFloatStateAssignment`);
	loadSym( cgCreateSamplerStateAssignment, lib, `cgCreateSamplerStateAssignment`);
	loadSym( cgCreateStateAssignmentIndex, lib, `cgCreateStateAssignmentIndex`);
	loadSym( cgCreateStateAssignment, lib, `cgCreateStateAssignment`);
	loadSym( cgCreatePass, lib, `cgCreatePass`);
	loadSym( cgCreateEffectParameterMultiDimArray, lib, `cgCreateEffectParameterMultiDimArray`);
	loadSym( cgCreateEffectParameterArray, lib, `cgCreateEffectParameterArray`);
	loadSym( cgCreateTechnique, lib, `cgCreateTechnique`);
	loadSym( cgCreateEffectParameter, lib, `cgCreateEffectParameter`);
	loadSym( cgGetNamedEffect, lib, `cgGetNamedEffect`);
	loadSym( cgGetEffectName, lib, `cgGetEffectName`);
	loadSym( cgSetEffectName, lib, `cgSetEffectName`);
	loadSym( cgEvaluateProgram, lib, `cgEvaluateProgram`);
	loadSym( cgGetDependentAnnotationParameter, lib, `cgGetDependentAnnotationParameter`);
	loadSym( cgGetNumDependentAnnotationParameters, lib, `cgGetNumDependentAnnotationParameters`);
	loadSym( cgGetBooleanAnnotationValues, lib, `cgGetBooleanAnnotationValues`);
	loadSym( cgGetBoolAnnotationValues, lib, `cgGetBoolAnnotationValues`);
	loadSym( cgGetStringAnnotationValue, lib, `cgGetStringAnnotationValue`);
	loadSym( cgGetIntAnnotationValues, lib, `cgGetIntAnnotationValues`);
	loadSym( cgGetFloatAnnotationValues, lib, `cgGetFloatAnnotationValues`);
	loadSym( cgGetAnnotationType, lib, `cgGetAnnotationType`);
	loadSym( cgGetAnnotationName, lib, `cgGetAnnotationName`);
	loadSym( cgIsAnnotation, lib, `cgIsAnnotation`);
	loadSym( cgGetNamedEffectAnnotation, lib, `cgGetNamedEffectAnnotation`);
	loadSym( cgGetNamedProgramAnnotation, lib, `cgGetNamedProgramAnnotation`);
	loadSym( cgGetNamedParameterAnnotation, lib, `cgGetNamedParameterAnnotation`);
	loadSym( cgGetNamedPassAnnotation, lib, `cgGetNamedPassAnnotation`);
	loadSym( cgGetNamedTechniqueAnnotation, lib, `cgGetNamedTechniqueAnnotation`);
	loadSym( cgGetNextAnnotation, lib, `cgGetNextAnnotation`);
	loadSym( cgGetFirstEffectAnnotation, lib, `cgGetFirstEffectAnnotation`);
	loadSym( cgGetFirstProgramAnnotation, lib, `cgGetFirstProgramAnnotation`);
	loadSym( cgGetFirstParameterAnnotation, lib, `cgGetFirstParameterAnnotation`);
	loadSym( cgGetFirstPassAnnotation, lib, `cgGetFirstPassAnnotation`);
	loadSym( cgGetFirstTechniqueAnnotation, lib, `cgGetFirstTechniqueAnnotation`);
	loadSym( cgGetEffectParameterBySemantic, lib, `cgGetEffectParameterBySemantic`);
	loadSym( cgGetFirstEffectParameter, lib, `cgGetFirstEffectParameter`);
	loadSym( cgGetFirstLeafEffectParameter, lib, `cgGetFirstLeafEffectParameter`);
	loadSym( cgGetNamedEffectParameter, lib, `cgGetNamedEffectParameter`);
	loadSym( cgSetSamplerState, lib, `cgSetSamplerState`);
	loadSym( cgGetNamedSamplerStateAssignment, lib, `cgGetNamedSamplerStateAssignment`);
	loadSym( cgGetFirstSamplerStateAssignment, lib, `cgGetFirstSamplerStateAssignment`);
	loadSym( cgGetFirstSamplerState, lib, `cgGetFirstSamplerState`);
	loadSym( cgGetNamedSamplerState, lib, `cgGetNamedSamplerState`);
	loadSym( cgCreateArraySamplerState, lib, `cgCreateArraySamplerState`);
	loadSym( cgCreateSamplerState, lib, `cgCreateSamplerState`);
	loadSym( cgAddStateEnumerant, lib, `cgAddStateEnumerant`);
	loadSym( cgIsState, lib, `cgIsState`);
	loadSym( cgGetNextState, lib, `cgGetNextState`);
	loadSym( cgGetFirstState, lib, `cgGetFirstState`);
	loadSym( cgGetNamedState, lib, `cgGetNamedState`);
	loadSym( cgGetStateName, lib, `cgGetStateName`);
	loadSym( cgGetStateType, lib, `cgGetStateType`);
	loadSym( cgGetStateContext, lib, `cgGetStateContext`);
	loadSym( cgGetStateValidateCallback, lib, `cgGetStateValidateCallback`);
	loadSym( cgGetStateResetCallback, lib, `cgGetStateResetCallback`);
	loadSym( cgGetStateSetCallback, lib, `cgGetStateSetCallback`);
	loadSym( cgSetStateCallbacks, lib, `cgSetStateCallbacks`);
	loadSym( cgCreateArrayState, lib, `cgCreateArrayState`);
	loadSym( cgCreateState, lib, `cgCreateState`);
	loadSym( cgGetSamplerStateAssignmentState, lib, `cgGetSamplerStateAssignmentState`);
	loadSym( cgGetStateAssignmentState, lib, `cgGetStateAssignmentState`);
	loadSym( cgGetDependentStateAssignmentParameter, lib, `cgGetDependentStateAssignmentParameter`);
	loadSym( cgGetNumDependentStateAssignmentParameters, lib, `cgGetNumDependentStateAssignmentParameters`);
	loadSym( cgGetStateAssignmentIndex, lib, `cgGetStateAssignmentIndex`);
	loadSym( cgGetSamplerStateAssignmentValue, lib, `cgGetSamplerStateAssignmentValue`);
	loadSym( cgGetTextureStateAssignmentValue, lib, `cgGetTextureStateAssignmentValue`);
	loadSym( cgGetProgramStateAssignmentValue, lib, `cgGetProgramStateAssignmentValue`);
	loadSym( cgGetStringStateAssignmentValue, lib, `cgGetStringStateAssignmentValue`);
	loadSym( cgGetBoolStateAssignmentValues, lib, `cgGetBoolStateAssignmentValues`);
	loadSym( cgGetIntStateAssignmentValues, lib, `cgGetIntStateAssignmentValues`);
	loadSym( cgGetFloatStateAssignmentValues, lib, `cgGetFloatStateAssignmentValues`);
	loadSym( cgGetSamplerStateAssignmentParameter, lib, `cgGetSamplerStateAssignmentParameter`);
	loadSym( cgGetStateAssignmentPass, lib, `cgGetStateAssignmentPass`);
	loadSym( cgCallStateResetCallback, lib, `cgCallStateResetCallback`);
	loadSym( cgCallStateValidateCallback, lib, `cgCallStateValidateCallback`);
	loadSym( cgCallStateSetCallback, lib, `cgCallStateSetCallback`);
	loadSym( cgIsStateAssignment, lib, `cgIsStateAssignment`);
	loadSym( cgGetNextStateAssignment, lib, `cgGetNextStateAssignment`);
	loadSym( cgGetNamedStateAssignment, lib, `cgGetNamedStateAssignment`);
	loadSym( cgGetFirstStateAssignment, lib, `cgGetFirstStateAssignment`);
	loadSym( cgResetPassState, lib, `cgResetPassState`);
	loadSym( cgSetPassState, lib, `cgSetPassState`);
	loadSym( cgGetPassTechnique, lib, `cgGetPassTechnique`);
	loadSym( cgGetPassName, lib, `cgGetPassName`);
	loadSym( cgIsPass, lib, `cgIsPass`);
	loadSym( cgGetNextPass, lib, `cgGetNextPass`);
	loadSym( cgGetNamedPass, lib, `cgGetNamedPass`);
	loadSym( cgGetFirstPass, lib, `cgGetFirstPass`);
	loadSym( cgGetTechniqueEffect, lib, `cgGetTechniqueEffect`);
	loadSym( cgIsTechniqueValidated, lib, `cgIsTechniqueValidated`);
	loadSym( cgValidateTechnique, lib, `cgValidateTechnique`);
	loadSym( cgIsTechnique, lib, `cgIsTechnique`);
	loadSym( cgGetTechniqueName, lib, `cgGetTechniqueName`);
	loadSym( cgGetNamedTechnique, lib, `cgGetNamedTechnique`);
	loadSym( cgGetNextTechnique, lib, `cgGetNextTechnique`);
	loadSym( cgGetFirstTechnique, lib, `cgGetFirstTechnique`);
	loadSym( cgCreateProgramFromEffect, lib, `cgCreateProgramFromEffect`);
	loadSym( cgGetNextEffect, lib, `cgGetNextEffect`);
	loadSym( cgGetFirstEffect, lib, `cgGetFirstEffect`);
	loadSym( cgIsEffect, lib, `cgIsEffect`);
	loadSym( cgGetEffectContext, lib, `cgGetEffectContext`);
	loadSym( cgDestroyEffect, lib, `cgDestroyEffect`);
	loadSym( cgCreateEffectFromFile, lib, `cgCreateEffectFromFile`);
	loadSym( cgCreateEffect, lib, `cgCreateEffect`);
	loadSym( cgGetString, lib, `cgGetString`);
	loadSym( cgGetErrorHandler, lib, `cgGetErrorHandler`);
	loadSym( cgSetErrorHandler, lib, `cgSetErrorHandler`);
	loadSym( cgGetErrorCallback, lib, `cgGetErrorCallback`);
	loadSym( cgSetErrorCallback, lib, `cgSetErrorCallback`);
	loadSym( cgGetLastErrorString, lib, `cgGetLastErrorString`);
	loadSym( cgGetErrorString, lib, `cgGetErrorString`);
	loadSym( cgGetFirstError, lib, `cgGetFirstError`);
	loadSym( cgGetError, lib, `cgGetError`);
	loadSym( cgGetProfile, lib, `cgGetProfile`);
	loadSym( cgGetProfileString, lib, `cgGetProfileString`);
	loadSym( cgGetEnum, lib, `cgGetEnum`);
	loadSym( cgGetEnumString, lib, `cgGetEnumString`);
	loadSym( cgGetResource, lib, `cgGetResource`);
	loadSym( cgGetResourceString, lib, `cgGetResourceString`);
	loadSym( cgIsInterfaceType, lib, `cgIsInterfaceType`);
	loadSym( cgIsParentType, lib, `cgIsParentType`);
	loadSym( cgGetParentType, lib, `cgGetParentType`);
	loadSym( cgGetNumParentTypes, lib, `cgGetNumParentTypes`);
	loadSym( cgGetUserType, lib, `cgGetUserType`);
	loadSym( cgGetNumUserTypes, lib, `cgGetNumUserTypes`);
	loadSym( cgGetNamedUserType, lib, `cgGetNamedUserType`);
	loadSym( cgGetType, lib, `cgGetType`);
	loadSym( cgGetTypeString, lib, `cgGetTypeString`);
	loadSym( cgGetNamedSubParameter, lib, `cgGetNamedSubParameter`);
	loadSym( cgGetMatrixParameterfc, lib, `cgGetMatrixParameterfc`);
	loadSym( cgGetMatrixParameterdc, lib, `cgGetMatrixParameterdc`);
	loadSym( cgGetMatrixParameteric, lib, `cgGetMatrixParameteric`);
	loadSym( cgGetMatrixParameterfr, lib, `cgGetMatrixParameterfr`);
	loadSym( cgGetMatrixParameterdr, lib, `cgGetMatrixParameterdr`);
	loadSym( cgGetMatrixParameterir, lib, `cgGetMatrixParameterir`);
	loadSym( cgSetMatrixParameterfc, lib, `cgSetMatrixParameterfc`);
	loadSym( cgSetMatrixParameterdc, lib, `cgSetMatrixParameterdc`);
	loadSym( cgSetMatrixParameteric, lib, `cgSetMatrixParameteric`);
	loadSym( cgSetMatrixParameterfr, lib, `cgSetMatrixParameterfr`);
	loadSym( cgSetMatrixParameterdr, lib, `cgSetMatrixParameterdr`);
	loadSym( cgSetMatrixParameterir, lib, `cgSetMatrixParameterir`);
	loadSym( cgSetParameter4dv, lib, `cgSetParameter4dv`);
	loadSym( cgSetParameter3dv, lib, `cgSetParameter3dv`);
	loadSym( cgSetParameter2dv, lib, `cgSetParameter2dv`);
	loadSym( cgSetParameter1dv, lib, `cgSetParameter1dv`);
	loadSym( cgSetParameter4fv, lib, `cgSetParameter4fv`);
	loadSym( cgSetParameter3fv, lib, `cgSetParameter3fv`);
	loadSym( cgSetParameter2fv, lib, `cgSetParameter2fv`);
	loadSym( cgSetParameter1fv, lib, `cgSetParameter1fv`);
	loadSym( cgSetParameter4iv, lib, `cgSetParameter4iv`);
	loadSym( cgSetParameter3iv, lib, `cgSetParameter3iv`);
	loadSym( cgSetParameter2iv, lib, `cgSetParameter2iv`);
	loadSym( cgSetParameter1iv, lib, `cgSetParameter1iv`);
	loadSym( cgSetParameter4i, lib, `cgSetParameter4i`);
	loadSym( cgSetParameter3i, lib, `cgSetParameter3i`);
	loadSym( cgSetParameter2i, lib, `cgSetParameter2i`);
	loadSym( cgSetParameter1i, lib, `cgSetParameter1i`);
	loadSym( cgSetParameter4d, lib, `cgSetParameter4d`);
	loadSym( cgSetParameter3d, lib, `cgSetParameter3d`);
	loadSym( cgSetParameter2d, lib, `cgSetParameter2d`);
	loadSym( cgSetParameter1d, lib, `cgSetParameter1d`);
	loadSym( cgSetParameter4f, lib, `cgSetParameter4f`);
	loadSym( cgSetParameter3f, lib, `cgSetParameter3f`);
	loadSym( cgSetParameter2f, lib, `cgSetParameter2f`);
	loadSym( cgSetParameter1f, lib, `cgSetParameter1f`);
	loadSym( cgSetParameterSemantic, lib, `cgSetParameterSemantic`);
	loadSym( cgSetParameterVariability, lib, `cgSetParameterVariability`);
	loadSym( cgGetParameterIndex, lib, `cgGetParameterIndex`);
	loadSym( cgIsParameterGlobal, lib, `cgIsParameterGlobal`);
	loadSym( cgGetParameterOrdinalNumber, lib, `cgGetParameterOrdinalNumber`);
	loadSym( cgSetStringParameterValue, lib, `cgSetStringParameterValue`);
	loadSym( cgGetStringParameterValue, lib, `cgGetStringParameterValue`);
	loadSym( cgGetParameterValueic, lib, `cgGetParameterValueic`);
	loadSym( cgGetParameterValueir, lib, `cgGetParameterValueir`);
	loadSym( cgGetParameterValuefc, lib, `cgGetParameterValuefc`);
	loadSym( cgGetParameterValuefr, lib, `cgGetParameterValuefr`);
	loadSym( cgGetParameterValuedc, lib, `cgGetParameterValuedc`);
	loadSym( cgGetParameterValuedr, lib, `cgGetParameterValuedr`);
	loadSym( cgSetParameterValueic, lib, `cgSetParameterValueic`);
	loadSym( cgSetParameterValueir, lib, `cgSetParameterValueir`);
	loadSym( cgSetParameterValuefc, lib, `cgSetParameterValuefc`);
	loadSym( cgSetParameterValuefr, lib, `cgSetParameterValuefr`);
	loadSym( cgSetParameterValuedc, lib, `cgSetParameterValuedc`);
	loadSym( cgSetParameterValuedr, lib, `cgSetParameterValuedr`);
	loadSym( cgGetParameterValues, lib, `cgGetParameterValues`);
	loadSym( cgIsParameterUsed, lib, `cgIsParameterUsed`);
	loadSym( cgIsParameterReferenced, lib, `cgIsParameterReferenced`);
	loadSym( cgGetParameterDirection, lib, `cgGetParameterDirection`);
	loadSym( cgGetParameterVariability, lib, `cgGetParameterVariability`);
	loadSym( cgGetParameterResourceIndex, lib, `cgGetParameterResourceIndex`);
	loadSym( cgGetParameterBaseResource, lib, `cgGetParameterBaseResource`);
	loadSym( cgGetParameterResource, lib, `cgGetParameterResource`);
	loadSym( cgGetParameterSemantic, lib, `cgGetParameterSemantic`);
	loadSym( cgGetParameterNamedType, lib, `cgGetParameterNamedType`);
	loadSym( cgGetParameterColumns, lib, `cgGetParameterColumns`);
	loadSym( cgGetParameterRows, lib, `cgGetParameterRows`);
	loadSym( cgGetParameterClass, lib, `cgGetParameterClass`);
	loadSym( cgGetParameterBaseType, lib, `cgGetParameterBaseType`);
	loadSym( cgGetParameterType, lib, `cgGetParameterType`);
	loadSym( cgGetParameterName, lib, `cgGetParameterName`);
	loadSym( cgIsParameter, lib, `cgIsParameter`);
	loadSym( cgGetParameterContext, lib, `cgGetParameterContext`);
	loadSym( cgGetParameterProgram, lib, `cgGetParameterProgram`);
	loadSym( cgSetMultiDimArraySize, lib, `cgSetMultiDimArraySize`);
	loadSym( cgSetArraySize, lib, `cgSetArraySize`);
	loadSym( cgGetArrayTotalSize, lib, `cgGetArrayTotalSize`);
	loadSym( cgGetArraySize, lib, `cgGetArraySize`);
	loadSym( cgGetArrayType, lib, `cgGetArrayType`);
	loadSym( cgGetArrayDimension, lib, `cgGetArrayDimension`);
	loadSym( cgGetArrayParameter, lib, `cgGetArrayParameter`);
	loadSym( cgGetFirstDependentParameter, lib, `cgGetFirstDependentParameter`);
	loadSym( cgGetNamedStructParameter, lib, `cgGetNamedStructParameter`);
	loadSym( cgGetFirstStructParameter, lib, `cgGetFirstStructParameter`);
	loadSym( cgGetNextLeafParameter, lib, `cgGetNextLeafParameter`);
	loadSym( cgGetFirstLeafParameter, lib, `cgGetFirstLeafParameter`);
	loadSym( cgGetNextParameter, lib, `cgGetNextParameter`);
	loadSym( cgGetFirstParameter, lib, `cgGetFirstParameter`);
	loadSym( cgGetNamedProgramParameter, lib, `cgGetNamedProgramParameter`);
	loadSym( cgGetNamedParameter, lib, `cgGetNamedParameter`);
	loadSym( cgGetConnectedToParameter, lib, `cgGetConnectedToParameter`);
	loadSym( cgGetNumConnectedToParameters, lib, `cgGetNumConnectedToParameters`);
	loadSym( cgGetConnectedParameter, lib, `cgGetConnectedParameter`);
	loadSym( cgDisconnectParameter, lib, `cgDisconnectParameter`);
	loadSym( cgConnectParameter, lib, `cgConnectParameter`);
	loadSym( cgDestroyParameter, lib, `cgDestroyParameter`);
	loadSym( cgCreateParameterMultiDimArray, lib, `cgCreateParameterMultiDimArray`);
	loadSym( cgCreateParameterArray, lib, `cgCreateParameterArray`);
	loadSym( cgCreateParameter, lib, `cgCreateParameter`);
	loadSym( cgSetPassProgramParameters, lib, `cgSetPassProgramParameters`);
	loadSym( cgSetProgramProfile, lib, `cgSetProgramProfile`);
	loadSym( cgGetProgramOptions, lib, `cgGetProgramOptions`);
	loadSym( cgGetProgramProfile, lib, `cgGetProgramProfile`);
	loadSym( cgGetProgramString, lib, `cgGetProgramString`);
	loadSym( cgIsProgramCompiled, lib, `cgIsProgramCompiled`);
	loadSym( cgCompileProgram, lib, `cgCompileProgram`);
	loadSym( cgIsProgram, lib, `cgIsProgram`);
	loadSym( cgGetProgramContext, lib, `cgGetProgramContext`);
	loadSym( cgGetNextProgram, lib, `cgGetNextProgram`);
	loadSym( cgGetFirstProgram, lib, `cgGetFirstProgram`);
	loadSym( cgDestroyProgram, lib, `cgDestroyProgram`);
	loadSym( cgCopyProgram, lib, `cgCopyProgram`);
	loadSym( cgCreateProgramFromFile, lib, `cgCreateProgramFromFile`);
	loadSym( cgCreateProgram, lib, `cgCreateProgram`);
	loadSym( cgGetAutoCompile, lib, `cgGetAutoCompile`);
	loadSym( cgSetAutoCompile, lib, `cgSetAutoCompile`);
	loadSym( cgSetLastListing, lib, `cgSetLastListing`);
	loadSym( cgGetLastListing, lib, `cgGetLastListing`);
	loadSym( cgIsContext, lib, `cgIsContext`);
	loadSym( cgDestroyContext, lib, `cgDestroyContext`);
	loadSym( cgCreateContext, lib, `cgCreateContext`);
}


void initCgGl(){
	auto lib = ExeModule_Load(`cgGL.dll`);

	loadSym( cgGLSetDebugMode , lib, `cgGLSetDebugMode`);
	loadSym( cgGLDisableProgramProfiles , lib, `cgGLDisableProgramProfiles`);
	loadSym( cgGLEnableProgramProfiles , lib, `cgGLEnableProgramProfiles`);
	loadSym( cgGLRegisterStates , lib, `cgGLRegisterStates`);
	loadSym( cgGLSetupSampler , lib, `cgGLSetupSampler`);
	loadSym( cgGLGetManageTextureParameters , lib, `cgGLGetManageTextureParameters`);
	loadSym( cgGLSetManageTextureParameters , lib, `cgGLSetManageTextureParameters`);
	loadSym( cgGLGetTextureEnum , lib, `cgGLGetTextureEnum`);
	loadSym( cgGLDisableTextureParameter , lib, `cgGLDisableTextureParameter`);
	loadSym( cgGLEnableTextureParameter , lib, `cgGLEnableTextureParameter`);
	loadSym( cgGLGetTextureParameter , lib, `cgGLGetTextureParameter`);
	loadSym( cgGLSetTextureParameter , lib, `cgGLSetTextureParameter`);
	loadSym( cgGLGetMatrixParameterArraydr , lib, `cgGLGetMatrixParameterArraydr`);
	loadSym( cgGLGetMatrixParameterArraydc , lib, `cgGLGetMatrixParameterArraydc`);
	loadSym( cgGLGetMatrixParameterArrayfr , lib, `cgGLGetMatrixParameterArrayfr`);
	loadSym( cgGLGetMatrixParameterArrayfc , lib, `cgGLGetMatrixParameterArrayfc`);
	loadSym( cgGLSetMatrixParameterArraydr , lib, `cgGLSetMatrixParameterArraydr`);
	loadSym( cgGLSetMatrixParameterArraydc , lib, `cgGLSetMatrixParameterArraydc`);
	loadSym( cgGLSetMatrixParameterArrayfr , lib, `cgGLSetMatrixParameterArrayfr`);
	loadSym( cgGLSetMatrixParameterArrayfc , lib, `cgGLSetMatrixParameterArrayfc`);
	loadSym( cgGLSetStateMatrixParameter , lib, `cgGLSetStateMatrixParameter`);
	loadSym( cgGLGetMatrixParameterfc , lib, `cgGLGetMatrixParameterfc`);
	loadSym( cgGLGetMatrixParameterdc , lib, `cgGLGetMatrixParameterdc`);
	loadSym( cgGLGetMatrixParameterfr , lib, `cgGLGetMatrixParameterfr`);
	loadSym( cgGLGetMatrixParameterdr , lib, `cgGLGetMatrixParameterdr`);
	loadSym( cgGLSetMatrixParameterfc , lib, `cgGLSetMatrixParameterfc`);
	loadSym( cgGLSetMatrixParameterdc , lib, `cgGLSetMatrixParameterdc`);
	loadSym( cgGLSetMatrixParameterfr , lib, `cgGLSetMatrixParameterfr`);
	loadSym( cgGLSetMatrixParameterdr , lib, `cgGLSetMatrixParameterdr`);
	loadSym( cgGLDisableClientState , lib, `cgGLDisableClientState`);
	loadSym( cgGLEnableClientState , lib, `cgGLEnableClientState`);
	loadSym( cgGLSetParameterPointer , lib, `cgGLSetParameterPointer`);
	loadSym( cgGLGetParameterArray4d , lib, `cgGLGetParameterArray4d`);
	loadSym( cgGLGetParameterArray3d , lib, `cgGLGetParameterArray3d`);
	loadSym( cgGLGetParameterArray2d , lib, `cgGLGetParameterArray2d`);
	loadSym( cgGLGetParameterArray1d , lib, `cgGLGetParameterArray1d`);
	loadSym( cgGLGetParameterArray4f , lib, `cgGLGetParameterArray4f`);
	loadSym( cgGLGetParameterArray3f , lib, `cgGLGetParameterArray3f`);
	loadSym( cgGLGetParameterArray2f , lib, `cgGLGetParameterArray2f`);
	loadSym( cgGLGetParameterArray1f , lib, `cgGLGetParameterArray1f`);
	loadSym( cgGLSetParameterArray4d , lib, `cgGLSetParameterArray4d`);
	loadSym( cgGLSetParameterArray3d , lib, `cgGLSetParameterArray3d`);
	loadSym( cgGLSetParameterArray2d , lib, `cgGLSetParameterArray2d`);
	loadSym( cgGLSetParameterArray1d , lib, `cgGLSetParameterArray1d`);
	loadSym( cgGLSetParameterArray4f , lib, `cgGLSetParameterArray4f`);
	loadSym( cgGLSetParameterArray3f , lib, `cgGLSetParameterArray3f`);
	loadSym( cgGLSetParameterArray2f , lib, `cgGLSetParameterArray2f`);
	loadSym( cgGLSetParameterArray1f , lib, `cgGLSetParameterArray1f`);
	loadSym( cgGLGetParameter4d , lib, `cgGLGetParameter4d`);
	loadSym( cgGLGetParameter3d , lib, `cgGLGetParameter3d`);
	loadSym( cgGLGetParameter2d , lib, `cgGLGetParameter2d`);
	loadSym( cgGLGetParameter1d , lib, `cgGLGetParameter1d`);
	loadSym( cgGLGetParameter4f , lib, `cgGLGetParameter4f`);
	loadSym( cgGLGetParameter3f , lib, `cgGLGetParameter3f`);
	loadSym( cgGLGetParameter2f , lib, `cgGLGetParameter2f`);
	loadSym( cgGLGetParameter1f , lib, `cgGLGetParameter1f`);
	loadSym( cgGLSetParameter4dv , lib, `cgGLSetParameter4dv`);
	loadSym( cgGLSetParameter3dv , lib, `cgGLSetParameter3dv`);
	loadSym( cgGLSetParameter2dv , lib, `cgGLSetParameter2dv`);
	loadSym( cgGLSetParameter1dv , lib, `cgGLSetParameter1dv`);
	loadSym( cgGLSetParameter4d , lib, `cgGLSetParameter4d`);
	loadSym( cgGLSetParameter3d , lib, `cgGLSetParameter3d`);
	loadSym( cgGLSetParameter2d , lib, `cgGLSetParameter2d`);
	loadSym( cgGLSetParameter1d , lib, `cgGLSetParameter1d`);
	loadSym( cgGLSetParameter4fv , lib, `cgGLSetParameter4fv`);
	loadSym( cgGLSetParameter3fv , lib, `cgGLSetParameter3fv`);
	loadSym( cgGLSetParameter2fv , lib, `cgGLSetParameter2fv`);
	loadSym( cgGLSetParameter1fv , lib, `cgGLSetParameter1fv`);
	loadSym( cgGLSetParameter4f , lib, `cgGLSetParameter4f`);
	loadSym( cgGLSetParameter3f , lib, `cgGLSetParameter3f`);
	loadSym( cgGLSetParameter2f , lib, `cgGLSetParameter2f`);
	loadSym( cgGLSetParameter1f , lib, `cgGLSetParameter1f`);
	loadSym( cgGLGetProgramID , lib, `cgGLGetProgramID`);
	loadSym( cgGLUnbindProgram , lib, `cgGLUnbindProgram`);
	loadSym( cgGLBindProgram , lib, `cgGLBindProgram`);
	loadSym( cgGLIsProgramLoaded , lib, `cgGLIsProgramLoaded`);
	loadSym( cgGLLoadProgram , lib, `cgGLLoadProgram`);
	loadSym( cgGLSetOptimalOptions , lib, `cgGLSetOptimalOptions`);
	loadSym( cgGLGetLatestProfile , lib, `cgGLGetLatestProfile`);
	loadSym( cgGLDisableProfile , lib, `cgGLDisableProfile`);
	loadSym( cgGLEnableProfile , lib, `cgGLEnableProfile`);
	loadSym( cgGLIsProfileSupported , lib, `cgGLIsProfileSupported`);
}

