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