123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867 |
- /*
- ===========================================================================
- Doom 3 GPL Source Code
- Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
- This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
- Doom 3 Source Code is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- Doom 3 Source Code is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
- In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
- If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
- ===========================================================================
- */
- #ifndef CG_EXTERNAL___H
- #define CG_EXTERNAL___H
- typedef int CGbool;
- typedef struct _CGcontext *CGcontext;
- typedef struct _CGprogram *CGprogram;
- typedef struct _CGparameter *CGparameter;
- typedef enum
- {
- CG_UNKNOWN_TYPE,
- CG_STRUCT,
- CG_ARRAY,
-
- CG_TYPE_START_ENUM = 1024,
-
-
- CG_HALF ,
- CG_HALF2 ,
- CG_HALF3 ,
- CG_HALF4 ,
- CG_HALF1x1 ,
- CG_HALF1x2 ,
- CG_HALF1x3 ,
- CG_HALF1x4 ,
- CG_HALF2x1 ,
- CG_HALF2x2 ,
- CG_HALF2x3 ,
- CG_HALF2x4 ,
- CG_HALF3x1 ,
- CG_HALF3x2 ,
- CG_HALF3x3 ,
- CG_HALF3x4 ,
- CG_HALF4x1 ,
- CG_HALF4x2 ,
- CG_HALF4x3 ,
- CG_HALF4x4 ,
- CG_FLOAT ,
- CG_FLOAT2 ,
- CG_FLOAT3 ,
- CG_FLOAT4 ,
- CG_FLOAT1x1 ,
- CG_FLOAT1x2 ,
- CG_FLOAT1x3 ,
- CG_FLOAT1x4 ,
- CG_FLOAT2x1 ,
- CG_FLOAT2x2 ,
- CG_FLOAT2x3 ,
- CG_FLOAT2x4 ,
- CG_FLOAT3x1 ,
- CG_FLOAT3x2 ,
- CG_FLOAT3x3 ,
- CG_FLOAT3x4 ,
- CG_FLOAT4x1 ,
- CG_FLOAT4x2 ,
- CG_FLOAT4x3 ,
- CG_FLOAT4x4 ,
- CG_SAMPLER1D ,
- CG_SAMPLER2D ,
- CG_SAMPLER3D ,
- CG_SAMPLERRECT ,
- CG_SAMPLERCUBE ,
- CG_FIXED ,
- CG_FIXED2 ,
- CG_FIXED3 ,
- CG_FIXED4 ,
- CG_FIXED1x1 ,
- CG_FIXED1x2 ,
- CG_FIXED1x3 ,
- CG_FIXED1x4 ,
- CG_FIXED2x1 ,
- CG_FIXED2x2 ,
- CG_FIXED2x3 ,
- CG_FIXED2x4 ,
- CG_FIXED3x1 ,
- CG_FIXED3x2 ,
- CG_FIXED3x3 ,
- CG_FIXED3x4 ,
- CG_FIXED4x1 ,
- CG_FIXED4x2 ,
- CG_FIXED4x3 ,
- CG_FIXED4x4 ,
- CG_HALF1 ,
- CG_FLOAT1 ,
- CG_FIXED1 ,
-
-
- } 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_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_WPOS = 2373,
-
- 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 = 29542,
- 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_TESSFACTOR = 3255,
-
-
- CG_UNDEFINED,
-
- } CGresource;
-
- typedef enum
- {
- CG_PROFILE_START = 6144,
- CG_PROFILE_UNKNOWN,
-
- CG_PROFILE_VP20 = 6146,
- CG_PROFILE_FP20 = 6147,
- CG_PROFILE_VP30 = 6148,
- CG_PROFILE_FP30 = 6149,
- CG_PROFILE_ARBVP1 = 6150,
- CG_PROFILE_ARBFP1 = 7000,
-
-
- CG_PROFILE_VS_1_1 = 6153,
- CG_PROFILE_VS_2_0 = 6154,
- CG_PROFILE_VS_2_X = 6155,
-
- 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_MAX,
- } 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,
- } CGerror;
-
- typedef enum
- {
- CG_UNKNOWN = 4096,
- CG_IN,
- CG_OUT,
- CG_INOUT,
- CG_MIXED,
- CG_VARYING,
- CG_UNIFORM,
- CG_CONSTANT,
- CG_PROGRAM_SOURCE,
- CG_PROGRAM_ENTRY,
- CG_COMPILED_PROGRAM,
- CG_PROGRAM_PROFILE,
-
- CG_GLOBAL,
- CG_PROGRAM,
-
- CG_DEFAULT,
- CG_ERROR,
-
- CG_SOURCE,
- CG_OBJECT,
-
- } CGenum;
-
-
- extern "C" {
-
- typedef void (*CGerrorCallbackFunc)(void);
-
-
-
- typedef CGcontext (*PFNCGCREATECONTEXTPROC)(void);
- typedef void (*PFNCGDESTROYCONTEXTPROC)(CGcontext ctx);
- typedef CGbool (*PFNCGISCONTEXTPROC)(CGcontext ctx);
- typedef const char * (*PFNCGGETLASTLISTINGPROC)(CGcontext ctx);
- typedef CGprogram (*PFNCGCREATEPROGRAMPROC)(CGcontext ctx,
- CGenum program_type,
- const char *program,
- CGprofile profile,
- const char *entry,
- const char **args);
- typedef CGprogram (*PFNCGCREATEPROGRAMFROMFILEPROC)(CGcontext ctx,
- CGenum program_type,
- const char *program_file,
- CGprofile profile,
- const char *entry,
- const char **args);
- typedef CGprogram (*PFNCGCOPYPROGRAMPROC)(CGprogram program);
- typedef void (*PFNCGDESTROYPROGRAMPROC)(CGprogram program);
- typedef CGprogram (*PFNCGGETFIRSTPROGRAMPROC)(CGcontext ctx);
- typedef CGprogram (*PFNCGGETNEXTPROGRAMPROC)(CGprogram current);
- typedef CGcontext (*PFNCGGETPROGRAMCONTEXTPROC)(CGprogram prog);
- typedef CGbool (*PFNCGISPROGRAMPROC)(CGprogram program);
- typedef void (*PFNCGCOMPILEPROGRAMPROC)(CGprogram program);
- typedef CGbool (*PFNCGISPROGRAMCOMPILEDPROC)(CGprogram program);
- typedef const char * (*PFNCGGETPROGRAMSTRINGPROC)(CGprogram prog, CGenum pname);
- typedef CGprofile (*PFNCGGETPROGRAMPROFILEPROC)(CGprogram prog);
- typedef CGparameter (*PFNCGGETNAMEDPARAMETERPROC)(CGprogram prog, const char *name);
- typedef CGparameter (*PFNCGGETFIRSTPARAMETERPROC)(CGprogram prog, CGenum name_space);
- typedef CGparameter (*PFNCGGETNEXTPARAMETERPROC)(CGparameter current);
- typedef CGparameter (*PFNCGGETFIRSTLEAFPARAMETERPROC)(CGprogram prog, CGenum name_space);
- typedef CGparameter (*PFNCGGETNEXTLEAFPARAMETERPROC)(CGparameter current);
- typedef CGparameter (*PFNCGGETFIRSTSTRUCTPARAMETERPROC)(CGparameter param);
- typedef CGparameter (*PFNCGGETFIRSTDEPENDENTPARAMETERPROC)(CGparameter param);
- typedef CGparameter (*PFNCGGETARRAYPARAMETERPROC)(CGparameter aparam, int index);
- typedef int (*PFNCGGETARRAYDIMENSIONPROC)(CGparameter param);
- typedef int (*PFNCGGETARRAYSIZEPROC)(CGparameter param, int dimension);
- typedef CGprogram (*PFNCGGETPARAMETERPROGRAMPROC)(CGparameter prog);
- typedef CGbool (*PFNCGISPARAMETERPROC)(CGparameter param);
- typedef const char * (*PFNCGGETPARAMETERNAMEPROC)(CGparameter param);
- typedef CGtype (*PFNCGGETPARAMETERTYPEPROC)(CGparameter param);
- typedef const char * (*PFNCGGETPARAMETERSEMANTICPROC)(CGparameter param);
- typedef CGresource (*PFNCGGETPARAMETERRESOURCEPROC)(CGparameter param);
- typedef CGresource (*PFNCGGETPARAMETERBASERESOURCEPROC)(CGparameter param);
- typedef unsigned long (*PFNCGGETPARAMETERRESOURCEINDEXPROC)(CGparameter param);
- typedef CGenum (*PFNCGGETPARAMETERVARIABILITYPROC)(CGparameter param);
- typedef CGenum (*PFNCGGETPARAMETERDIRECTIONPROC)(CGparameter param);
- typedef CGbool (*PFNCGISPARAMETERREFERENCEDPROC)(CGparameter param);
- typedef void (*PFNCGGETPARAMETERVALUESPROC)(CGparameter param,
- CGenum value_type,
- int *nvalues);
- typedef const char * (*PFNCGGETTYPESTRINGPROC)(CGtype type);
- typedef CGtype (*PFNCGGETTYPEPROC)(const char *type_string);
- typedef const char * (*PFNCGGETRESOURCESTRINGPROC)(CGresource resource);
- typedef CGresource (*PFNCGGETRESOURCEPROC)(const char *resource_string);
- typedef const char * (*PFNCGGETPROFILESTRINGPROC)(CGprofile profile);
- typedef CGprofile (*PFNCGGETPROFILEPROC)(const char *profile_string);
- typedef CGerror (*PFNCGGETERRORPROC)(void);
- typedef const char * (*PFNCGGETERRORSTRINGPROC)(CGerror error);
- typedef void (*PFNCGSETERRORCALLBACKPROC)(CGerrorCallbackFunc func);
- typedef CGerrorCallbackFunc (*PFNCGGETERRORCALLBACKPROC)(void);
-
-
- extern PFNCGCREATECONTEXTPROC cgCreateContext;
- extern PFNCGDESTROYCONTEXTPROC cgDestroyContext;
- extern PFNCGISCONTEXTPROC cgIsContext;
- extern PFNCGGETLASTLISTINGPROC cgGetLastListing;
- extern PFNCGCREATEPROGRAMPROC cgCreateProgram;
- extern PFNCGCREATEPROGRAMFROMFILEPROC cgCreateProgramFromFile;
- extern PFNCGCOPYPROGRAMPROC cgCopyProgram;
- extern PFNCGDESTROYPROGRAMPROC cgDestroyProgram;
- extern PFNCGGETFIRSTPROGRAMPROC cgGetFirstProgram;
- extern PFNCGGETNEXTPROGRAMPROC cgGetNextProgram;
- extern PFNCGGETPROGRAMCONTEXTPROC cgGetProgramContext;
- extern PFNCGISPROGRAMPROC cgIsProgram;
- extern PFNCGCOMPILEPROGRAMPROC cgCompileProgram;
- extern PFNCGISPROGRAMCOMPILEDPROC cgIsProgramCompiled;
- extern PFNCGGETPROGRAMSTRINGPROC cgGetProgramString;
- extern PFNCGGETPROGRAMPROFILEPROC cgGetProgramProfile;
- extern PFNCGGETNAMEDPARAMETERPROC cgGetNamedParameter;
- extern PFNCGGETFIRSTPARAMETERPROC cgGetFirstParameter;
- extern PFNCGGETNEXTPARAMETERPROC cgGetNextParameter;
- extern PFNCGGETFIRSTLEAFPARAMETERPROC cgGetFirstLeafParameter;
- extern PFNCGGETNEXTLEAFPARAMETERPROC cgGetNextLeafParameter;
- extern PFNCGGETFIRSTSTRUCTPARAMETERPROC cgGetFirstStructParameter;
- extern PFNCGGETFIRSTDEPENDENTPARAMETERPROC cgGetFirstDependentParameter;
- extern PFNCGGETARRAYPARAMETERPROC cgGetArrayParameter;
- extern PFNCGGETARRAYDIMENSIONPROC cgGetArrayDimension;
- extern PFNCGGETARRAYSIZEPROC cgGetArraySize;
- extern PFNCGGETPARAMETERPROGRAMPROC cgGetParameterProgram;
- extern PFNCGISPARAMETERPROC cgIsParameter;
- extern PFNCGGETPARAMETERNAMEPROC cgGetParameterName;
- extern PFNCGGETPARAMETERTYPEPROC cgGetParameterType;
- extern PFNCGGETPARAMETERSEMANTICPROC cgGetParameterSemantic;
- extern PFNCGGETPARAMETERRESOURCEPROC cgGetParameterResource;
- extern PFNCGGETPARAMETERBASERESOURCEPROC cgGetParameterBaseResource;
- extern PFNCGGETPARAMETERRESOURCEINDEXPROC cgGetParameterResourceIndex;
- extern PFNCGGETPARAMETERVARIABILITYPROC cgGetParameterVariability;
- extern PFNCGGETPARAMETERDIRECTIONPROC cgGetParameterDirection;
- extern PFNCGISPARAMETERREFERENCEDPROC cgIsParameterReferenced;
- extern PFNCGGETPARAMETERVALUESPROC cgGetParameterValues;
- extern PFNCGGETTYPESTRINGPROC cgGetTypeString;
- extern PFNCGGETTYPEPROC cgGetType;
- extern PFNCGGETRESOURCESTRINGPROC cgGetResourceString;
- extern PFNCGGETRESOURCEPROC cgGetResource;
- extern PFNCGGETPROFILESTRINGPROC cgGetProfileString;
- extern PFNCGGETPROFILEPROC cgGetProfile;
- extern PFNCGGETERRORPROC cgGetError;
- extern PFNCGGETERRORSTRINGPROC cgGetErrorString;
- extern PFNCGSETERRORCALLBACKPROC cgSetErrorCallback;
- extern PFNCGGETERRORCALLBACKPROC cgGetErrorCallback;
-
-
- }
-
-
-
- extern "C" {
-
- typedef enum
- {
- 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,
- CG_GL_PROJECTION_MATRIX,
- CG_GL_TEXTURE_MATRIX,
- CG_GL_MODELVIEW_PROJECTION_MATRIX,
-
- CG_GL_VERTEX,
- CG_GL_FRAGMENT,
-
- } CGGLenum;
-
-
-
-
- typedef CGbool (*PFNCGGLISPROFILESUPPORTEDPROC)(CGprofile profile);
- typedef void (*PFNCGGLENABLEPROFILEPROC)(CGprofile profile);
- typedef void (*PFNCGGLDISABLEPROFILEPROC)(CGprofile profile);
- typedef CGprofile (*PFNCGGLGETLATESTPROFILEPROC)(CGGLenum profile_type);
- typedef void (*PFNCGGLSETOPTIMALOPTIONSPROC)(CGprofile profile);
- typedef void (*PFNCGGLLOADPROGRAMPROC)(CGprogram program);
- typedef void (*PFNCGGLBINDPROGRAMPROC)(CGprogram program);
- typedef void (*PFNCGGLSETPARAMETER1FPROC)(CGparameter param,
- float x);
- typedef void (*PFNCGGLSETPARAMETER2FPROC)(CGparameter param,
- float x,
- float y);
- typedef void (*PFNCGGLSETPARAMETER3FPROC)(CGparameter param,
- float x,
- float y,
- float z);
- typedef void (*PFNCGGLSETPARAMETER4FPROC)(CGparameter param,
- float x,
- float y,
- float z,
- float w);
- typedef void (*PFNCGGLSETPARAMETER1FVPROC)(CGparameter param, const float *v);
- typedef void (*PFNCGGLSETPARAMETER2FVPROC)(CGparameter param, const float *v);
- typedef void (*PFNCGGLSETPARAMETER3FVPROC)(CGparameter param, const float *v);
- typedef void (*PFNCGGLSETPARAMETER4FVPROC)(CGparameter param, const float *v);
- typedef void (*PFNCGGLSETPARAMETER1DPROC)(CGparameter param,
- double x);
- typedef void (*PFNCGGLSETPARAMETER2DPROC)(CGparameter param,
- double x,
- double y);
- typedef void (*PFNCGGLSETPARAMETER3DPROC)(CGparameter param,
- double x,
- double y,
- double z);
- typedef void (*PFNCGGLSETPARAMETER4DPROC)(CGparameter param,
- double x,
- double y,
- double z,
- double w);
- typedef void (*PFNCGGLSETPARAMETER1DVPROC)(CGparameter param, const double *v);
- typedef void (*PFNCGGLSETPARAMETER2DVPROC)(CGparameter param, const double *v);
- typedef void (*PFNCGGLSETPARAMETER3DVPROC)(CGparameter param, const double *v);
- typedef void (*PFNCGGLSETPARAMETER4DVPROC)(CGparameter param, const double *v);
- typedef void (*PFNCGGLSETPARAMETER4DVPROC)(CGparameter param, const double *v);
- typedef void (*PFNCGGLGETPARAMETER1FPROC)(CGparameter param, float *v);
- typedef void (*PFNCGGLGETPARAMETER2FPROC)(CGparameter param, float *v);
- typedef void (*PFNCGGLGETPARAMETER3FPROC)(CGparameter param, float *v);
- typedef void (*PFNCGGLGETPARAMETER4FPROC)(CGparameter param, float *v);
- typedef void (*PFNCGGLGETPARAMETER1DPROC)(CGparameter param, double *v);
- typedef void (*PFNCGGLGETPARAMETER2DPROC)(CGparameter param, double *v);
- typedef void (*PFNCGGLGETPARAMETER3DPROC)(CGparameter param, double *v);
- typedef void (*PFNCGGLGETPARAMETER4DPROC)(CGparameter param, double *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY1FPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY2FPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY3FPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY4FPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY1DPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY2DPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY3DPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *v);
- typedef void (*PFNCGGLSETPARAMETERARRAY4DPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY1FPROC)(CGparameter param,
- long offset,
- long nelements,
- float *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY2FPROC)(CGparameter param,
- long offset,
- long nelements,
- float *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY3FPROC)(CGparameter param,
- long offset,
- long nelements,
- float *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY4FPROC)(CGparameter param,
- long offset,
- long nelements,
- float *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY1DPROC)(CGparameter param,
- long offset,
- long nelements,
- double *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY2DPROC)(CGparameter param,
- long offset,
- long nelements,
- double *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY3DPROC)(CGparameter param,
- long offset,
- long nelements,
- double *v);
- typedef void (*PFNCGGLGETPARAMETERARRAY4DPROC)(CGparameter param,
- long offset,
- long nelements,
- double *v);
- typedef void (*PFNCGGLSETPARAMETERPOINTERPROC)(CGparameter param,
- GLint fsize,
- GLenum type,
- GLsizei stride,
- GLvoid *pointer);
- typedef void (*PFNCGGLENABLECLIENTSTATEPROC)(CGparameter param);
- typedef void (*PFNCGGLDISABLECLIENTSTATEPROC)(CGparameter param);
- typedef void (*PFNCGGLSETMATRIXPARAMETERDRPROC)(CGparameter param, const double *matrix);
- typedef void (*PFNCGGLSETMATRIXPARAMETERFRPROC)(CGparameter param, const float *matrix);
- typedef void (*PFNCGGLSETMATRIXPARAMETERDCPROC)(CGparameter param, const double *matrix);
- typedef void (*PFNCGGLSETMATRIXPARAMETERFCPROC)(CGparameter param, const float *matrix);
- typedef void (*PFNCGGLGETMATRIXPARAMETERDRPROC)(CGparameter param, double *matrix);
- typedef void (*PFNCGGLGETMATRIXPARAMETERFRPROC)(CGparameter param, float *matrix);
- typedef void (*PFNCGGLGETMATRIXPARAMETERDCPROC)(CGparameter param, double *matrix);
- typedef void (*PFNCGGLGETMATRIXPARAMETERFCPROC)(CGparameter param, float *matrix);
- typedef void (*PFNCGGLSETSTATEMATRIXPARAMETERPROC)(CGparameter param,
- GLenum matrix,
- GLenum transform);
- typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYFCPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *matrices);
- typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYFRPROC)(CGparameter param,
- long offset,
- long nelements,
- const float *matrices);
- typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYDCPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *matrices);
- typedef void (*PFNCGGLSETMATRIXPARAMETERARRAYDRPROC)(CGparameter param,
- long offset,
- long nelements,
- const double *matrices);
- typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYFCPROC)(CGparameter param,
- long offset,
- long nelements,
- float *matrices);
- typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYFRPROC)(CGparameter param,
- long offset,
- long nelements,
- float *matrices);
- typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYDCPROC)(CGparameter param,
- long offset,
- long nelements,
- double *matrices);
- typedef void (*PFNCGGLGETMATRIXPARAMETERARRAYDRPROC)(CGparameter param,
- long offset,
- long nelements,
- double *matrices);
- typedef void (*PFNCGGLSETTEXTUREPARAMETERPROC)(CGparameter param, GLuint texobj);
- typedef GLuint (*PFNCGGLGETTEXTUREPARAMETERPROC)(CGparameter param);
- typedef void (*PFNCGGLENABLETEXTUREPARAMETERPROC)(CGparameter param);
- typedef void (*PFNCGGLDISABLETEXTUREPARAMETERPROC)(CGparameter param);
- typedef GLenum (*PFNCGGLGETTEXTUREENUMPROC)(CGparameter param);
-
-
- extern PFNCGGLISPROFILESUPPORTEDPROC cgGLIsProfileSupported;
- extern PFNCGGLENABLEPROFILEPROC cgGLEnableProfile;
- extern PFNCGGLDISABLEPROFILEPROC cgGLDisableProfile;
- extern PFNCGGLGETLATESTPROFILEPROC cgGLGetLatestProfile;
- extern PFNCGGLSETOPTIMALOPTIONSPROC cgGLSetOptimalOptions;
- extern PFNCGGLLOADPROGRAMPROC cgGLLoadProgram;
- extern PFNCGGLBINDPROGRAMPROC cgGLBindProgram;
- extern PFNCGGLSETPARAMETER1FPROC cgGLSetParameter1f;
- extern PFNCGGLSETPARAMETER2FPROC cgGLSetParameter2f;
- extern PFNCGGLSETPARAMETER3FPROC cgGLSetParameter3f;
- extern PFNCGGLSETPARAMETER4FPROC cgGLSetParameter4f;
- extern PFNCGGLSETPARAMETER1FVPROC cgGLSetParameter1fv;
- extern PFNCGGLSETPARAMETER2FVPROC cgGLSetParameter2fv;
- extern PFNCGGLSETPARAMETER3FVPROC cgGLSetParameter3fv;
- extern PFNCGGLSETPARAMETER4FVPROC cgGLSetParameter4fv;
- extern PFNCGGLSETPARAMETER1DPROC cgGLSetParameter1d;
- extern PFNCGGLSETPARAMETER2DPROC cgGLSetParameter2d;
- extern PFNCGGLSETPARAMETER3DPROC cgGLSetParameter3d;
- extern PFNCGGLSETPARAMETER4DPROC cgGLSetParameter4d;
- extern PFNCGGLSETPARAMETER1DVPROC cgGLSetParameter1dv;
- extern PFNCGGLSETPARAMETER2DVPROC cgGLSetParameter2dv;
- extern PFNCGGLSETPARAMETER3DVPROC cgGLSetParameter3dv;
- extern PFNCGGLSETPARAMETER4DVPROC cgGLSetParameter4dv;
- extern PFNCGGLGETPARAMETER1FPROC cgGLGetParameter1f;
- extern PFNCGGLGETPARAMETER2FPROC cgGLGetParameter2f;
- extern PFNCGGLGETPARAMETER3FPROC cgGLGetParameter3f;
- extern PFNCGGLGETPARAMETER4FPROC cgGLGetParameter4f;
- extern PFNCGGLGETPARAMETER1DPROC cgGLGetParameter1d;
- extern PFNCGGLGETPARAMETER2DPROC cgGLGetParameter2d;
- extern PFNCGGLGETPARAMETER3DPROC cgGLGetParameter3d;
- extern PFNCGGLGETPARAMETER4DPROC cgGLGetParameter4d;
- extern PFNCGGLSETPARAMETERARRAY1FPROC cgGLSetParameterArray1f;
- extern PFNCGGLSETPARAMETERARRAY2FPROC cgGLSetParameterArray2f;
- extern PFNCGGLSETPARAMETERARRAY3FPROC cgGLSetParameterArray3f;
- extern PFNCGGLSETPARAMETERARRAY4FPROC cgGLSetParameterArray4f;
- extern PFNCGGLSETPARAMETERARRAY1DPROC cgGLSetParameterArray1d;
- extern PFNCGGLSETPARAMETERARRAY2DPROC cgGLSetParameterArray2d;
- extern PFNCGGLSETPARAMETERARRAY3DPROC cgGLSetParameterArray3d;
- extern PFNCGGLSETPARAMETERARRAY4DPROC cgGLSetParameterArray4d;
- extern PFNCGGLGETPARAMETERARRAY1FPROC cgGLGetParameterArray1f;
- extern PFNCGGLGETPARAMETERARRAY2FPROC cgGLGetParameterArray2f;
- extern PFNCGGLGETPARAMETERARRAY3FPROC cgGLGetParameterArray3f;
- extern PFNCGGLGETPARAMETERARRAY4FPROC cgGLGetParameterArray4f;
- extern PFNCGGLGETPARAMETERARRAY1DPROC cgGLGetParameterArray1d;
- extern PFNCGGLGETPARAMETERARRAY2DPROC cgGLGetParameterArray2d;
- extern PFNCGGLGETPARAMETERARRAY3DPROC cgGLGetParameterArray3d;
- extern PFNCGGLGETPARAMETERARRAY4DPROC cgGLGetParameterArray4d;
- extern PFNCGGLSETPARAMETERPOINTERPROC cgGLSetParameterPointer;
- extern PFNCGGLENABLECLIENTSTATEPROC cgGLEnableClientState;
- extern PFNCGGLDISABLECLIENTSTATEPROC cgGLDisableClientState;
- extern PFNCGGLSETMATRIXPARAMETERDRPROC cgGLSetMatrixParameterdr;
- extern PFNCGGLSETMATRIXPARAMETERFRPROC cgGLSetMatrixParameterfr;
- extern PFNCGGLSETMATRIXPARAMETERDCPROC cgGLSetMatrixParameterdc;
- extern PFNCGGLSETMATRIXPARAMETERFCPROC cgGLSetMatrixParameterfc;
- extern PFNCGGLGETMATRIXPARAMETERDRPROC cgGLGetMatrixParameterdr;
- extern PFNCGGLGETMATRIXPARAMETERFRPROC cgGLGetMatrixParameterfr;
- extern PFNCGGLGETMATRIXPARAMETERDCPROC cgGLGetMatrixParameterdc;
- extern PFNCGGLGETMATRIXPARAMETERFCPROC cgGLGetMatrixParameterfc;
- extern PFNCGGLSETSTATEMATRIXPARAMETERPROC cgGLSetStateMatrixParameter;
- extern PFNCGGLSETMATRIXPARAMETERARRAYFCPROC cgGLSetMatrixParameterArrayfc;
- extern PFNCGGLSETMATRIXPARAMETERARRAYFRPROC cgGLSetMatrixParameterArrayfr;
- extern PFNCGGLSETMATRIXPARAMETERARRAYDCPROC cgGLSetMatrixParameterArraydc;
- extern PFNCGGLSETMATRIXPARAMETERARRAYDRPROC cgGLSetMatrixParameterArraydr;
- extern PFNCGGLGETMATRIXPARAMETERARRAYFCPROC cgGLGetMatrixParameterArrayfc;
- extern PFNCGGLGETMATRIXPARAMETERARRAYFRPROC cgGLGetMatrixParameterArrayfr;
- extern PFNCGGLGETMATRIXPARAMETERARRAYDCPROC cgGLGetMatrixParameterArraydc;
- extern PFNCGGLGETMATRIXPARAMETERARRAYDRPROC cgGLGetMatrixParameterArraydr;
- extern PFNCGGLSETTEXTUREPARAMETERPROC cgGLSetTextureParameter;
- extern PFNCGGLGETTEXTUREPARAMETERPROC cgGLGetTextureParameter;
- extern PFNCGGLENABLETEXTUREPARAMETERPROC cgGLEnableTextureParameter;
- extern PFNCGGLDISABLETEXTUREPARAMETERPROC cgGLDisableTextureParameter;
- extern PFNCGGLGETTEXTUREENUMPROC cgGLGetTextureEnum;
-
-
- }
- bool init_explicit_Cg();
- #endif
|